Разработка с применением GIT обычно начинается с того, что вначале программист держит локальный GIT репозитарий на своей рабочей машине, и ежедневно коммитит в него. Но наступает момент, когда нужно перенести репозитарий на сервер для совместной работы или синхронизации с разных компьютеров. Перенести нужно вместе со всей историей коммитов. В этой статье написано как это сделать.
Итак, предположим, что у нас создан на GitHub.com или на BitBucket.org новый репозитарий. URL этого репозитария пусть будет следующим:
https://username@bitbucket.org/username/funnyproject.git
Находясь в рабочей директории даем две команды:
$ git remote add server https://username@bitbucket.org/username/funnyproject.git
$ git push server master:master
Первой командой мы добавили в настройки репозитария URL сервера. Второй командой залили на сервер полную копию локального GIT репозитария основной ветки.
Далее предполагается, что теперь при выполнении команд push и pull, GIT должен работать с вышеуказанным сервером. Другими словами, сервер должен быть установлен по-умолчанию. Для этого обязательно нужно дать команду:
$ git config remote.origin.url https://username@bitbucket.org/username/funnyproject.git
После которой git push и git pull будут по-умолчанию работать с сервером. Если этого не сделать, при push будет ошибка:
fatal: No destination configured to push to.
А при pull тоже будет похожая ошибка:
fatal: No remote repository specified. Please, specify either a URL or a
remote name from which new revisions should be fetched.
Так что устанавливайте значение конфигурационной переменной remote.origin.url в URL сервера, как это показано выше. Или можно воспользоваться следующей командой:
git remote set-url origin https://username@bitbucket.org/username/funnyproject.git
Узнать, какие настройки сделаны в текущем GIT репозитарии можно с помощью команды:
$ git config --list
Ну вот в принципе и все. Напомню, на всякий случай, набор команд чтобы закоммитить изменения и отправить на сервер:
$ git add .
$ git commit -a
$ git push
А перед началом работы теперь нужно синхронизироваться с сервером с помощью команды:
$ git pull
Надеюсь, этот рецепт поможет вам сберечь часы, потраченные на раскопки в документации.