与“git fetch”相反的是什么?

时间:2013-03-04 11:01:08

标签: git git-fetch

如果我从回购A进行git抓取到B,则B中的主分支无法更改 - 仅更改remotes/origin/master和{{1让我想起它。

但现在我想做相反的事情 - 从git status更新B,例如从A推送到A:master。这样做的原因是此更新发生在ssh上,而B:remotes/origin/master计算机具有公共密钥身份验证到A计算机 - 但反之亦然。

我该怎么做?

1 个答案:

答案 0 :(得分: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/*