我曾经使用过sourcetree和git-flow。 在关闭功能分支之前,我通常将开发合并到其中。
为此,我右键单击功能分支中的development分支,然后选择“将开发合并到feature / ...”。之后,我使用git-flow工具完成该功能。
现在我只想使用终端(没有sourcetree)来做到这一点。 因此,在功能分支中,我运行“ git merge development”。 之后,我签出开发并运行'git merge feature /...'
我期望的结果与sourcetree / git-flow方式相似。 但是我结束了一段奇怪的历史! 现在,我只提交了“在...中合并分支”,这现在是develop分支行的一部分。尽管文件更改仍然存在,但第二次提交(将功能合并到开发中)已消失。
有人知道这是怎么回事吗?
更新
复制步骤:
commit changes in feature branch
commit changes in develop branch
commit changes in feature branch
merge develop into feature branch (git merge)
merge feature into develop branch (git merge)
此后,将功能合并到开发中的提交消失了(尽管文件更改仍然存在),并且历史记录看起来很“奇怪”,这意味着功能分支的提交已成为开发分支历史记录的一部分。
答案 0 :(得分:0)
我自己找到了解决方案。 问题是默认的快速前进git合并。
如果我进行git merge development,请签出开发分支,并使用--no-ff进行git merge功能,一切都很好。 顺便说一句,git-flow工具也一样。