我知道这个答案可能已经回答了一百万次,但每种情况都不同,我想知道在我的情况下我做错了什么。我对git很新,所以会很感激解释。
我有这样的提交历史:(使用SourceTree)
目前所有更改都在本地完成。蓝线是develop
分支,之前创建了一个发布分支(黄色),后来合并到master
(粉红色),这一切都很好。
然后develop
分支提前更多提交。现在我今天创建了另一个名为develop
release-ecomm
的分支,它是第二次到最后一次提交。然后我向release-ecomm
添加了另一个提交。现在我正在尝试将此版本分支合并到master
。我检查了master
并点击了合并并选择了最新的提交,但它失败了。
此处列出的文件包括已编辑和未编辑的文件。 Style.css
和Script.js
已被编辑,但自上次提交掌握以来,其他文件根本没有被触及。然后树结构会因冲突的文件而发生变化:
我希望master
版本合并对release-ecomm
中修改的少数文件所做的更改。我做错了什么?
答案 0 :(得分:2)
您从开发中分离了release-ecomm,因此从开发到该点的所有更改也包含在合并中。
如果您只想将单个提交中的更改设为主数据,请使用git cherry-pick:
git checkout master
git cherry-pick <commit hash>