Вероятно, вы создали репозиторий git init --bare
- это не будет работать, так как это только репозиторий git, а не рабочая стадия.Я собираюсь настроить это как макет из трех машин, но он может работать на двух или даже на одной машине.
Машина A (ваша машина разработки)
Машина B (вашаудаленный репозиторий)
Машина C (ваша производственная среда)
(Но если у вас есть производство, разработка и «удаленный» репозиторий на одной машине, это тоже хорошо)
Когдавы готовы нажать на компьютер B (Repo), вы фиксируете всю свою работу, ставите ее правильно, затем выполняете git push
(после выполнения удаленного добавления и т. д.), чтобы обновить удаленный репозиторий Bare со всеми изменениями из вашегомашина с момента последнего нажатия (представьте, что вы синхронизируете содержимое вашей папки .git на компьютере a с удаленным репо)
Поскольку Git заботится только об изменениях содержимого ваших файлов (а не осами файлы или папки - поверьте мне, Git не заботится о ваших файлах - только о содержимом) он не хранит файлы на одной машине B, как вы видите на своей машине A "Рабочая стадия"Git помещает эти файлы в рабочую стадию, чтобы вы могли их использовать и разрабатывать - но Git их не волнует - опять же, он заботится только об изменениях в содержимом «файлов» с момента последней фиксации.
Чтобы развернуть ваш код, вам нужно перейти на компьютер C и клонировать репозиторий на компьютере B - это синхронизирует папку «.git» с этим компьютером, а затем создает последующие файлы / папки на основе всего содержимого, которое на нем находится.отслеживаются.После того, как вы клонировали этот репозиторий, вы можете получать будущие обновления через git pull
Вот и все.Если у вас есть все это на одном компьютере, вы можете сделать что-то вроде:
~/projects/git_project (Your devel area)
/home/repo/git_project.git ("Remote" repo)
/opt/rails/git_project ("Production" machine)
Наличие удаленного репо на одном компьютере избыточно, так как вы можете технически тянуть и толкать с
~/projects/git_project
на
/opt/rails/git_project
Но просто следуя примеру