使用git flow
工具,我创建了一个功能分支(分支为dev
),进行了一系列更改,并将分支合并回dev
。修补程序在合并后未应用
有一个文件,我已经修改了功能分支。我可以确认修改该文件()的修订版本()存在并应用于功能分支中。
但是,在合并之后,FILE-A
在dev
分支上处于其原始(预合并)状态。我可以看到REV-A
当我在dev
上执行git log
,并且如果我按照git log --graph
生成的行,我可以将此提交跟踪到合并提交,其中我合并了我的功能分支和dev
。
但是,当我做一个git blame
的FILE-A
时,提交不存在,并且所涉及的行在其原始位置(在REV-A
提交之前)。
此外,git show REV-A | patch -p1
导致修补程序被清晰地应用。之后,git diff
看起来与git show REV-A
相同。
发生了什么事?合并是如何将修订引入分支历史记录的,但实际上并不适用它?该合并中是否还有其他更改未被应用?
功能分支是否在任何时候重新启动? – VonC 2015-02-12 12:50:29
请发布'git log --graph --decorate --oneline --full-history --ancestry-path^REV_A HEAD'的结果(检出错综复杂的合并)。 – jthill 2015-02-17 05:16:31
查看你运行的命令会很有帮助。如果你有一个shell插件显示你运行命令的分支,那更好。我的猜测是,您可能已将'dev'合并到您的功能分支中,而不是将您的功能分支合并到'dev'中。但是,这只是疯狂的猜测而没有看到你在做什么。 – spinlock 2015-02-18 21:54:36