繁体   English   中英

合并一个 git 分支,同时排除对某些目录的更改

[英]Merge a git branch, while excluding changes to some directory

我想将分支 B 的更改合并到我的分支 A,这样合并会排除对给定目录的任何更改。 这里的问题是我有一些跨越多个目录的提交,其中一个需要被排除。

类似的事情是否可能,例如,历史重写?

为了澄清,我的目录结构是:

root/x
root/y
root/z

一些提交影响所有三个目录。 现在,我想以这样一种方式合并,即我在历史中对yz都有更改,但对x没有更改。

您可以合并另一个分支而不提交它,然后重置目录的 state:

git merge --no-commit <branch>
git reset root/x
git commit

最好按照@useless 在他的回答中提到的那样拆分您的提交

如果您的更改仍然是本地的,最简单的方法是将您的提交拆分为真正正交的更改,您可以独立合并。


死链接修复:尝试使用此链接(或仅查看git rebase的本地联机帮助页),然后向下搜索Splitting Commits

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM