快进将我的分支的根合并到我的分支中

时间:2015-01-15 21:59:24

标签: git

我几天前将feature分开master并将其砍掉,将我的提交放入featuremaster(和origin / master)从未移动过,因此,如果我在master,我可以快进到feature。但我在feature。显然,签出master并将其合并到feature并不困难,但是有一种方法可以在 on 时将父分支快进到我的工作分支我的工作分支?

自:

|--|--| << master
       \
        \
         |--|--| << feature (checked out)
               ^                  
              HEAD

git magic-command

|--|--| 
       \
        \
         |--|--| << master (checked out), feature
               ^                  
              HEAD

只是尝试git merge master返回&#39;已经是最新的&#39;,并且rebase没有意义,因为重播该工作会让我处于完全相同的状态。我想我可以git reset master或其他什么,但这看起来很糟糕。

2 个答案:

答案 0 :(得分:1)

如果您指定git branch

,则可以使用-f强制更新日期
-f 
--force
Reset <branchname> to <startpoint> if <branchname> exists already. Without -f git branch refuses to change an existing branch.

注意 Git会更新您的分支,即使它不是快进合并。如果您想要一定程度的安全性,您可能需要编写一个调用git merge-base --is-ancestor的脚本来验证您在进行更新之前处于快进状态。

答案 1 :(得分:-2)

回答这个问题,不 - 除非您想使用rebase,否则会激发您和同事之间的许多恶意*。

听起来你可以从git flow工具中受益。它使用了Vincent Driessen启发的Git Flow,并围绕它创建了一组很好的命令。

*:我说&#34;生病了&#34;因为perils of rebasing。您已经 重写历史记录 ,如果有人依赖于由错误的rebase重写的历史记录,他们现在必须花费时间和精力来恢复其工作状态,以便他们可以继续工作。如上所述,仅仅进行合并甚至使用Git Flow就更简单了>