我想将更改从分支B合并到我的分支A,以便合并排除对给定目录的任何更改.这里的问题是我有一些提交跨越多个目录的更改,其中一个需要被排除.
这样的事情是否可能,例如历史改写?
为了澄清,我的目录结构是:
root/x
root/y
root/z
Run Code Online (Sandbox Code Playgroud)
一些提交会影响所有三个目录.现在,我想以这样的方式,我在历史上都改变为合并y和z,但不x.
您可以合并另一个分支而不提交它,然后重置目录的状态:
git merge --no-commit <branch>
git reset root/x
git commit
Run Code Online (Sandbox Code Playgroud)
最好还是按照@useless在他的回答中提到的那样拆分你的提交