【问题标题】:git pull without checkout for merging remote branch [duplicate]git pull 没有结帐以合并远程分支[重复]
【发布时间】:2014-08-28 20:41:12
【问题描述】:

我的远程 git repo 有两个分支“master”(用于下一个版本)和“maint”(用于修复当前版本中的错误)。这些分支在本地进行跟踪。我在“master”上,这是最新的。有人将“维护”中的更改推送到我想合并到“主”中的遥控器。显而易见的方法是:

git checkout maint
git pull
git checkout master
git merge maint
git push

但是,这会过多地触及我的工作副本,导致 master 的重新编译时间很长。是否有一系列 git 命令可以在不签出的情况下实现合并,即不触及不受我要合并的 maint 中最后一个补丁影响的本地文件?

我试过了

git merge origin/maint

为 master 完成了这项工作,但随后 maint 落后了

git push 

失败,抱怨 maint -> maint 部分。为了保持最新状态,我必须

git checkout maint
git pull

但这正是我想要避免的。

【问题讨论】:

    标签: git merge


    【解决方案1】:

    好的,根据the link provided by Rohit Jain,解决办法是

    git fetch origin maint:maint
    git merge maint
    git push
    

    【讨论】:

    • 如果您删除此答案,我会更喜欢它,因为它已经在我的链接问题中涵盖,您的问题已作为副本关闭。这样所有的答案都在一个地方。但这取决于你。
    • 我只问了这个问题,因为我使用问题标题中包含的关键字进行的搜索没有发现任何有用的信息。出于这个原因,我认为将问题和答案留给使用类似短语进行搜索的其他人是有意义的。
    • 其实,由于你的问题已经被标记为重复,如果你看顶部,它已经链接到一个已经有答案的规范问题,所以如果其他人找到你的问题,他们已经有了指向该链接的链接会将他们带到其他答案。但无论如何。
    猜你喜欢
    • 2011-03-04
    • 2013-11-21
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    • 2016-05-03
    • 2018-09-16
    • 2016-05-02
    • 2012-07-18
    相关资源
    最近更新 更多