Reputation: 5551
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 (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? :
git push B
git fetch A
Upvotes: 2
Views: 693
Reputation: 5551
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.
Upvotes: 0
Reputation: 4444
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.
Upvotes: 1