我有一个房地产网站,在git中控制变得越来越复杂。 但它只有两个分支,所以它不应该那么困难。 主分支是实时版本。 开发分支是新的东西,必须在线。 但开发人员需要超长时间,比如半年的讨论和微小的变化。 同时,live master版本可以获得各种更新和修补程序。
所以我所做的就是每周在主人身上重新设计dev并解决冲突。 但是在每一次变革中,我都会不断得到以前的固定冲突。
就像在这种情况下一样:
[1]-[2]-[4]-[5]-[6]-[7]-[master]
\
[1]-[2]-[3]-[4]-[5]-[6]-[dev]
所以master [7]提交只是添加了一个额外的滑块图像。 当我在主人之上重新开发dev时,我再次得到菜单和内容差异中的所有冲突来修复我之前已经解决过的问题。 它不记得已解决的冲突吗?
答案 0 :(得分:1)
尝试git rebase --preserve-merges
并查看What exactly does git's "rebase --preserve-merges" do (and why?)
How to cherry-pick/rebase/etc the end result of conflict resolve
可能重复如上所述,您可能需要启用rerere(表示重用已记录的分辨率),但我不相信您这样做。
答案 1 :(得分:0)
查看gitflow
:http://danielkummer.github.io/git-flow-cheatsheet/
基本上是git的附加组件,可添加有用的功能,尤其是在功能和修补程序方面。
git flow hotfix start VERSION
这将在它自己的分支上开始你的修补程序。完成更改后 - 无论是添加滑块图像还是修复错误 - 运行以下命令:
git flow hot fix finish VERSION
然后,这将自动合并代码以进行开发和掌握。您也可以选择标记主分支。
希望每次更改都会发生这种情况,这将消除任何不必要的冲突!