2013-03-04 120 views
10

如果我從repo A git fetch提取到BB中的主分支不會更改 - 僅更改remotes/origin/mastergit status使我想起它。「git fetch」的反義詞是什麼?

但現在我想做相反的更新BA,就像從A:master推到B:remotes/origin/master。原因是這個更新發生在ssh上,並且A機器擁有公鑰密碼到B機器 - 但反之亦然。

我該怎麼做?

+0

非常相關[「GIT中推」從遠程操作的方式相同的「GIT中取」](HTTP:/ /stackoverflow.com/q/4239064/11343) – CharlesB 2013-03-04 11:15:36

回答

9

git fetch A,從B運行,將存儲A的所有當前分支在refs/remotes/A。因爲您可以使用refspecs完成所有工作,所以可以對git push執行相同的操作,但是可以從A運行,並針對B

refspec有兩部分,用分號隔開。在第一部分中,您可以選擇要推送的內容。在這裏你想要所有當前分支,所以這是refs/heads/*

第二部分是你將它們存儲在遠程的地方;這裏您要將它們存儲在remotes/A/*之下,所以這是refs/remotes/A/*

把它一起,所有的本地分支推到相應的遠程分支用這個命令:

git push --force B refs/heads/*:refs/remotes/A/* 
相關問題