我有一个从GitHub分叉的存储库,它有一些修改。但是,在某个提交中,我想更改一些文件以提交请求,并将其他修改后的文件留在请求之外。只对某些文件/提交的请求
做拉请求合并全部提交,还是我需要做一些特殊的事情来隔离此提交?
我有一个从GitHub分叉的存储库,它有一些修改。但是,在某个提交中,我想更改一些文件以提交请求,并将其他修改后的文件留在请求之外。只对某些文件/提交的请求
做拉请求合并全部提交,还是我需要做一些特殊的事情来隔离此提交?
上拉请求而作出整体的提交,你需要拆分这次提交到含有变化就摆在拉要求两个独立提交一个,和另一保持的其他变化。要做到这一点,您需要git rebase -i
,例如参见How can I split up a Git commit buried in history?以获得有关如何操作的良好解释。
一旦你分离了提交,将你想要包含的提交到主题分支中,例如参见How to move certain commits to another branch in git?,但它取决于提交请求的提交是否是顺序的。
然后最后你可以推送到Github并从你的主题分支创建拉请求。
拉取请求合并分支。所以,如果你想为拉取请求分离出一些东西,最好的办法是将这些改变放在一个单独的分支中。
优点是,您可以通过推送对该分支的新更改(甚至在您需要更改已提交的提交时推送-f)来更改拉取请求。
这可能是相关的:[git-cherry-pick-only only changes to某些文件?](http://stackoverflow.com/q/5717026) – jww
@jww多年后,'git cherry-pick'成了绝对是无价的。应该比我早得多。 – Qix