我几天前将feature
分开master
并将其砍掉,将我的提交放入feature
。 master
(和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
或其他什么,但这看起来很糟糕。
答案 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就更简单了>>