“git push”和遥控器上的“git fetch”做同样的事情

时间:2010-11-21 17:04:31

标签: git push fetch

我的问题与this one相同,但答案对我来说并不清楚。 我有两个git repos A和B同步(对应于我工作的两台机器)。当我开始在B工作时,我通常会git fetch A(假设B中的远程A指向回购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
  • in B:git fetch A

2 个答案:

答案 0 :(得分:1)

如果您在A中执行git push B,则您已经更新了B中的引用(仅限实际推送的引用),因此不需要B中的后续git fetch A来更新特定的更新引用

答案 1 :(得分:1)

我在一个主要的git开发者的kerneltrap mail archive上找到了我的问题的确切答案。所以是的,两个命令都是等价的。