git-仅请求某些文件/提交的请求
我有一个从GitHub分叉的存储库,对该存储库进行了一些修改。 但是,在某个提交中,更改了一些我要提交请求请求的文件,而其他修改后的文件不在请求中。
拉请求是否合并所有提交,还是需要做一些特殊的事情来隔离此提交?
Qix asked 2019-12-30T11:38:23Z
2个解决方案
38 votes
一个请求由整个提交组成,您需要将该提交分为两个单独的提交,一个包含要放入请求中的更改,另一个包含其他更改。 为此,您需要git rebase -i
,例如,请参见如何拆分历史记录中的Git提交? 为如何做一个很好的解释。
拆分提交后,将要包括的提交移动到一个主题分支中,例如,参见如何在git?中将某些提交移动到另一个分支中,但这取决于发出拉取请求的提交是否是连续的。
最后,您可以推送到Github并从您的主题分支创建请求请求。
13 votes
拉取请求合并分支。 因此,如果您要为拉取请求隔离某些内容,最好的方法是将这些更改放在单独的分支中。
优点是您可以通过将新的更改推送到该分支来更改拉取请求(如果需要更改已经推送的提交,甚至可以使用push -f)。