GitHub для обмена файлами сайта между веб-сервером и локальным компьютером
В этой заметке речь идет о том, как, используя GitHub, организовать простой двусторонний перенос изменений проекта с одного компьютера на другой. В частности ими могут быть локальный компьютер и веб-сервер. Данная схема позволяет работать то там, то там, каждый раз выполняя пуш изменений на GitHub и пул на другом компьютере.
Пример алгоритма настройки:
- На обоих рабочих компьютерах, которые будут подключаться к GitHub, генерируются свои секретные ключи для ssh-доступа. Их публичные части добавляются в настройках профиля GitHub (раздел SSH and GPG keys).
- На GitHub создается новый репозиторий.
- На том компьютере, где уже начата разработка проекта, и создан git-репозиторий, устанавливается связь с удаленным на GitHub.
- На другом компьютере в каталоге, где будет размещаться сайт, инициируется обычный репозиторий. Он также связывается с удаленным на GitHub.
Следует обратить внимание на имена веток. При создании репозитория на GitHub, он называет главную ветку именем main. В то время как Git обычно использует master. Возможно потребуется переименовать там или там, чтобы названия совпадали.
При создании ключа доступа следует указывать почту, на которую был зарегистрирован аккаунт GitHub.
Алгоритм работы, то есть переноса изменений между компьютерами:
- Там, где велась работа над проектом, выполняется коммит и пуш на GitHub.
- Там, где надо получить изменения, выполняется пулл с GitHub.
Другими словами, алгоритм можно описать так. Перед тем, как начать вносить изменения в проект, выполняем пул. После того, как закончили работать на данном компьютере, выполняем пуш.
Примеры команд:
Связывание репозитория на компьютере (локальном или веб-сервере) с разположенным на GitHub:
$ git remote add origin git@github.com:plustilino/test020625.git
Адрес репозитория на GitHub можно увидеть при клике по зеленой кнопке <> Code.
Пуш (выгрузка) после коммита (или нескольких):
$ git push origin master
Пул (загрузка) изменений (новых коммитов) из удаленного репозитария (в данном контексте - с GitHub):
$ git pull origin master