Что делает "синхронизация" GitHub для Windows?
С GitHub для Windows вы можете "опубликовать" ветку, а затем "синхронизировать" эту ветку с GitHub.
Синхронизация в основном git pull
а также git push
? Или есть что-то еще? Что мне делать, если я хочу выполнить те же действия, что и "sync" из командной строки?
(Это не Open Source, или я бы просто прочитал это.)
5 ответов
Синхронизация делает git pull --rebase
а затем, если есть локальные изменения, это делает git push
,
Отсюда: http://haacked.com/archive/2012/05/21/introducing-github-for-windows.aspx
Так как вышеупомянутый ответ был более двух лет назад, обновленный ответ на этот вопрос: из-за некоторых ошибок с rebase кнопка "sync" не работает git pull --rebase
больше. Вместо этого это делает git pull
который будетсливаться при возникновении конфликтов, в соответствии с примечаниями к выпуску (см. выпуск 1.3.0).
Ссылка выше не доступна в настоящее время. Вот новые заметки о выпуске.
"Синхронизация" - это любые действия, необходимые для соответствия вашей локальной ветки вашей удаленной ветке. Если у вашей локальной ветки были коммиты, которых нет у вашей удаленной ветки, то "синхронизация" подтолкнет вашу ветку. Если бы удаленная ветвь была впереди вашей локальной ветки, то сначала произойдет "синхронизация" (в частности, git pull --rebase
как объяснил Фил Хаак). "Синхронизация" - это всего лишь ярлык, позволяющий локальному и удаленному отображать друг друга.
С сайта GitHub:
The sync button turns the complex workflow of pulling and pushing into a single operation. It notifies you when there are new changes to pull down and lets you quickly share local changes.
Чтобы добавить к ответу @ethanyang,
Согласно псевдониму, настроенному в gitconfig,
[alias]
...
sync = !git pull && git push
Я думаю, что «синхронизация» - это временная метка. Потому что, если я использую более одного локального компьютера для написания одного и того же проекта, мой удаленный репозиторий всегда будет извлекать последние коды с отметками времени или отправлять последние коды с отметками времени на все мои локальные машины.