git push делает то же самое, что и git fetch с пульта - PullRequest
2 голосов
/ 21 ноября 2010

Мой вопрос такой же, как этот , но ответ мне не ясен.У меня два git-репозитория A и B синхронно (соответствуют двум машинам, на которых я работаю).Когда я начинаю работать в B, я обычно делаю git fetch A (предполагая, что удаленный A в B указывает на репо A).Но вместо этого я хочу иметь возможность перемещаться из A в удаленную ветвь A внутри B всякий раз, когда я работаю в A. Я хочу быть уверенным в том, что это безопасно, из-за предупреждений о переходе в непроявленное хранилище.Мои настройки (в файле A / .git / config) будут:

[remote "B"]
fetch = +refs/heads/*:refs/remotes/B/*
push =  +refs/heads/*:refs/remotes/A/*
url = ssh://<machine_B>/home/project/B

С этим параметром могу ли я получить точно одинаковый результат с этими двумя командами?:

  • в A: git push B
  • в B: git fetch A

Ответы [ 2 ]

1 голос
/ 04 декабря 2010

Точный ответ на мой вопрос я нашел в почтовом архиве kerneltrap одного из главных разработчиков git.Так что да, обе команды эквивалентны.

1 голос
/ 21 ноября 2010

Если вы делаете git push B в A, вы уже обновляете ссылки в B (только те, которые вы фактически нажали), так что последующие git fetch A в B не требуются для обновления конкретных обновленных ссылок.

...