Персональный GIT-репозиторий - PullRequest
15 голосов
/ 22 ноября 2010

Я использую BitKeeper на работе, и я хотел бы иметь базовую резервную копию кода для себя дома (учитывая, что я делаю резервные копии очень редко)

// Я никогда раньше не использовал git, поэтому мне нужна большая помощь

Я подумал, что было бы неплохо иметь git-репозиторий на моем домашнем сервере, а затем, когда я пишу код для школы, работы или лично, я мог бы просто клонировать ветки с моего домашнего сервера и затем отодвинуть их Я сделал свою работу.

// Пожалуйста, исправьте меня, если это не так, как работает git, или как я должен это делать

Я установил git на свой домашний сервер и теперь хотел бы узнать, как лучше его настроить, через ssh, git deamon ??

Порт моего сервера для ssh уже перенаправлен. Должен ли я добавить новые для git?

И наконец, имеет ли эта организация смысл использовать git или есть лучший продукт для меня

Спасибо

Ответы [ 2 ]

37 голосов
/ 22 ноября 2010

Git отлично подходит для контроля версий и использования «резервного копирования». Если вы хотите получить доступ к файлам с более чем одного компьютера, как вы описываете, самый безболезненный способ запустить и запустить Git-репозиторий - это использовать Github.com.

Github.com предоставляет свободное место для размещения общедоступных репозиториев Git (оно предназначено для программного обеспечения с открытым исходным кодом). Благодаря платному плану (начиная с 7 долларов в месяц) Git предоставит вам место для полностью приватных репозиториев, к которым могут получить доступ только вы (или люди, которым вы разрешите).

В противном случае вы можете установить Git самостоятельно на свой собственный сервер, и в этом случае я бы порекомендовал вам установить ключи SSH и получить доступ к своему репо через SSH (для простоты настройки и безопасности). На вашем сервере вы можете зайти в папку, в которой вы хотите сохранить свое репо, и настроить «пустое» репо, например:

git init --bare

Затем локально вы можете добавить местоположение этого нового репо, добавив git «remote» в вашу локальную кодовую базу:

git remote add origin ssh://myserver.com:/var/repos/my_repo.git

Теперь у вас есть сервер "origin", который вы можете по своему усмотрению передавать / извлекать.

Установка Git

Если вы работаете в Windows, вы должны установить msysgit и принять значения по умолчанию (я хочу включить опцию для добавления Git в мое контекстное меню, вызываемое правой кнопкой мыши). Затем я использую утилиту командной строки Git Bash для использования Git, но она также поставляется с базовым инструментом GUI.

Если вы используете Mac, вы можете загрузить установочный образ Mac и следовать его инструкциям.

Если вы работаете в Linux, вы можете использовать менеджер пакетов для установки git. Например, в самой последней версии Ubuntu вы должны выполнить:

sudo apt-get install git

Использование Git

Есть онлайн Git Book и git man pages , но вот некоторые основы.

Сделать папку "git-enabled":

git init

Добавьте все ваши текущие файлы в этой папке в систему управления версиями git:

git add .

Отправьте эти файлы в локальную "область подготовки" Git:

git commit -m "My first commit message"

Когда вы будете готовы, вы можете перенести эту локальную промежуточную область в удаленное хранилище, например, на github или на свой собственный сервер (предполагается, что у вас уже есть удаленная настройка с именем origin), см. Выше):

git push origin master

Который выталкивает "главную" ветку по умолчанию к вашему удаленному репо. Если вам нужно обновить локальную копию с файлами из главной ветки вашего удаленного репозитория, вместо этого выполните «вытягивание»:

git pull origin master

Всякий раз, когда вы делаете новую работу, вы хотите создать ветку и работать там, чтобы не запутывать основную ветку, и поэтому вы можете объединить свои изменения, как только узнаете, что они работают. Итак ...

Чтобы создать новую ветку и начать в ней работу, вы можете «оформить» ветку и создать ее одновременно со следующими данными:

git checkout -b new_branch

Когда вы закончите в new_branch, снова извлеките основную ветку и объедините ваши изменения:

git checkout master
git merge new_branch

Если вы хотите увидеть различия двух веток перед объединением, используйте команду git diff:

git diff master new_branch

Чтобы просмотреть журнал всех ваших коммитов, используйте git log:

git log

Нажмите 'q', чтобы выйти из режима просмотра журнала.

В любой день, это те команды, которые я использую больше всего.

2 голосов
/ 22 ноября 2010

Вы можете клонировать репозитории или филиалы в любом месте, чтобы работать с ними.

Я лично перехожу по ssh, который не требует установки демона.

Он будет использовать тот же sshпорт, ничего нового не требуется.

Вот учебник , с которого можно начать и некоторые другие полезные ресурсы .

...