Git fetch или Git pull для обновления файлов на веб-сервере? - PullRequest
0 голосов
/ 10 сентября 2018

У меня есть локальное репо для проекта на моем компьютере, я перенес его в удаленное репозиторий github.Затем я клонировал репо на свой общий сервер веб-хостинга, используя ssh.

С тех пор я произвел некоторые изменения на своем компьютере, которые я переместил в github, а затем слил в исходное (основное) репо.

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

Git clone X

Возвращает

fatal: destination path '' already exists and is not an empty directory.

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

Ответы [ 2 ]

0 голосов
/ 10 сентября 2018

Если на вашем производственном сервере установлена ​​ветка master (по умолчанию git clone) и вы просто хотите обновить код в этой ветке, просто выполните команду git pull.

Если вы переходите к рабочему процессу, например git flow , тогда ветвь develop становится основной ветвью для хранилища (и для git clone).Вы развернете ветку master в своей производственной среде и по-прежнему будете выполнять git pull на главном компьютере, как только весь код будет объединен с ним как часть вашего процесса.

После того, как вы разберетесь с разветвлением и развертыванием ядра, тегирование станет следующим шагом для реализации.

Часть git flow - это процесс release, в котором вы создаете tag для каждого выпуска.В этом случае вы можете оформить тег по тегу, чтобы поместить код, отмеченный в этих точках по всей ветви master.Затем вместо git pull, чтобы получить текущее содержимое master, вы бы checkout v1.x.x извлекли код в различных tag точках.Это позволяет очень легко откатить ошибку в работе:

Если v1.0.1 имеет ошибку, то git checkout v1.0.0 для отката.Исправьте ошибку, а затем git checkout v1.0.1.1 для развертывания оперативного исправления или git checkout v1.0.2 для развертывания следующего основного выпуска.

0 голосов
/ 10 сентября 2018

git clone должен создать клон удаленного репозитория в вашем (локальном) каталоге.

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

Использование git fetch только внесет изменения в ваш локальный репозиторий, без изменения локальных файлов (которые, скорее всего, являются серверами веб-сервера).Так что это не тот.

...