代码之家  ›  专栏  ›  技术社区  ›  rafak

“git push”在远程执行与“git fetch”相同的操作

  •  2
  • rafak  · 技术社区  · 14 年前

    我的问题和 this one ,但我不清楚答案。 我有两个同步的git回购协议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
    

    有了这个设置,我能得到 确切地 这两个命令的结果相同吗?:

    • 在一个: git push B
    • 在B中: git获取
    2 回复  |  直到 8 年前
        1
  •  1
  •   user502515    14 年前

    如果你这样做了 git push B 在A中,您已经更新了B中的ref(只有您实际推送的ref),以便 git fetch A 不需要在B中更新特定的已更新ref。

        2
  •  1
  •   rafak    14 年前

    我找到了我问题的确切答案 kerneltrap mail archive ,由一个主要的git开发人员开发。所以是的,这两个命令是等价的。