Настройка git-репозитория на openSuse VPS - PullRequest
1 голос
/ 18 октября 2010

Я только что получил OpenSuse 10.3 VPS. Я действительно не очень разбираюсь в Unix и SSH и подобных вещах, но я бы хотел использовать свой сервер для размещения GIT-репозитория. Это кажется мне достаточно простым ...

Вот что я сделал:

Я SSHed на свой сервер и установил GIT (я думаю), просто введя

# yast --install git

Затем произошло какое-то волшебство и, очевидно, был установлен git. Большой! Я также создал пользователя:

# git config --global user.name ...
# git config --global user.email ...

Затем я скопировал исходный код с локального диска на сервер. Поскольку я не знаю, куда поместить такие вещи в openSuse, я выбрал home / myRepository

Затем я создал там хранилище и добавил существующие файлы, используя следующие команды:

# cd home/myRepository
# git init
# git add .
# git commit -m 'Add code'

Насколько я могу судить, все работало. Например. Журнал Git показывает мой коммит.

Нет, вот мои вопросы: 1) Я все делал хорошо до сих пор? Будет ли home / fooBar подходящим каталогом для хранения репозитория? 2) Более важно: как я могу получить доступ к репо с моего локального компьютера = я хотел создать локальный клон с Xcode 4, используя URL

git://123.456.789.012//home/myRepository

но это явно не сработало. Понятия не имею, правильный ли этот URL. Кроме того, мне нужно создать нового пользователя, чтобы получить доступ к хранилищу с моего локального компьютера?

Видите ли, у меня довольно много вопросов, и мне явно не хватает некоторых основ. Я довольно долго гуглил, но не нашел справочника, подходящего для моих проблем. Любые ответы и полезные ссылки будут высоко оценены. Спасибо!

1 Ответ

2 голосов
/ 18 октября 2010

Возможно, вы захотите использовать что-то вроде gitosis для безопасного размещения вашего git-репозитория.Я в основном знаком с Debian Linux и первоначально нашел этот пост (http://blog.agdunn.net/?p=277), когда я только начинал. Возможно, вам придется найти эквиваленты в вашей установке openSuse.

Чтобы ответить на ваши вопросы:

  1. Выглядит правильно, если то, что вы говорите правильно.
  2. Вам нужно либо установить gitosis или получить доступ к нему через учетную запись пользователя через ssh.

Чтобы установить gitosis, вы в основномВам нужно установить python и создать пользователя git на вашем vps. Вам нужно будет понять ключи ssh. Как только вы это сделаете, вы можете клонировать репозиторий с помощью 'git clone git@your-domain.com-or-ip: your-repo.git '. Вы управляете своими репозиториями через репозиторий gitosis-admin и делаете его эффективным с помощью простого' git push '. Вы можете создавать группы для всех пользователей, для которых у вас есть открытые ключи ssh, и предоставлять доступ на чтение / запись к определенным репозиториям..

Выполнив то, что вы уже сделали, вы можете довольно быстро встать с помощью следующего:

На вашем VPS:

  1. Создатькаталог для ваших репозиториев VPS.Я использую / Git.Пользователю vps понадобится доступ для чтения / записи для этого каталога.
  2. cd в этот каталог
  3. mkdir my_repo.git && cd my_repo.git
  4. git init --bare

Перейдите на локальный компьютер:

  1. cd в ваш репозиторий git.
  2. git remote add origin origin ssh: //username@your-domain.com/git/my_repo.git
  3. Подготовьте свои коммиты.(Имейте хотя бы один.)
  4. мастер git push origin
  5. На этом этапе вам будет предложено ввести пароль, если вы не настроили ssh-ключи.
  6. Послеэто ваш репозиторий будет передан в ваш vps через ssh.

Чтобы создать больше репозиториев, вам нужно войти на сервер и повторить шаги 2-4 серверных шагов.Самое сложное - правильно настроить все пути, иначе вы получите отклоненные толчки / клоны / вытягивания и т. Д. Я вынужден использовать этот метод на компьютерах "quasi-vps" без корневого доступа.Ввод паролей быстро устареет ....

Я думаю, что вы должны быть в состоянии следовать инструкциям Gitosis в блоге выше.Только команды менеджера пакетов будут действительно отличаться, и похоже, что вы знаете, как использовать yast.Справочные страницы (man adduser и т. Д.) Должны быть в состоянии помочь вам до конца!

Надеюсь, это поможет.Дайте мне знать, если у вас есть вопросы и если это поможет!

...