【问题标题】:What would be the opposite of "git fetch"?“git fetch”的反面是什么?
【发布时间】:2013-03-04 11:01:07
【问题描述】:

如果我从 repo A git fetch 到 BB 中的主分支不会改变 - 只改变 remotes/origin/mastergit status 提醒我。

但现在我想做相反的事情 - 将 BA 更新,例如从 A:master 推送到 B:remotes/origin/master。原因是此更新通过 ssh 进行,并且 A 机器具有对 B 机器的公钥认证 - 但反之则不然。

我该怎么做?

【问题讨论】:

标签: git git-fetch


【解决方案1】:

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/*

【讨论】:

    猜你喜欢
    • 2017-11-12
    • 2014-03-31
    • 2015-03-30
    • 2016-07-12
    • 2011-12-09
    • 2013-02-21
    • 2018-04-11
    • 2022-06-14
    相关资源
    最近更新 更多