开发者

"git push" doing the same as "git fetch" from the remote

My question is the same as this one, but the answer is not clear to me. I have two git repos A and B in sync (corresponding to the two machines I work on). When I start working in B, I would normally do git fetch A (assuming the remote A in B points to repo A). But I want instead being able to push from A to the remote branch A inside B whenever I work in A. I want to be sure that it is safe, because of the warnings concerning pushing to a non-bare repo. My settings 开发者_Python百科(in file A/.git/config) would be:

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

With this setting, do I get exactly the same result with this two commands? :

  • in A: git push B
  • in B: git fetch A


If you do git push B in A, you already update refs in B (only the ones you actually pushed), so that a subsequent git fetch A in B is not be required to update the specific updated refs.


I found the exact answer to my question on kerneltrap mail archive, by one of the main git developers. So yes, both commands are equivalent.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜