git-仅请求某些文件/提交的请求

我有一个从GitHub分叉的存储库,对该存储库进行了一些修改。 但是,在某个提交中,更改了一些我要提交请求请求的文件,而其他修改后的文件不在请求中。

拉请求是否合并所有提交,还是需要做一些特殊的事情来隔离此提交?

Qix asked 2019-12-30T11:38:23Z
2个解决方案
38 votes

一个请求由整个提交组成,您需要将该提交分为两个单独的提交,一个包含要放入请求中的更改,另一个包含其他更改。 为此,您需要git rebase -i,例如,请参见如何拆分历史记录中的Git提交? 为如何做一个很好的解释。

拆分提交后,将要包括的提交移动到一个主题分支中,例如,参见如何在git?中将某些提交移动到另一个分支中,但这取决于发出拉取请求的提交是否是连续的。

最后,您可以推送到Github并从您的主题分支创建请求请求。

CharlesB answered 2019-12-30T11:38:55Z
13 votes

拉取请求合并分支。 因此,如果您要为拉取请求隔离某些内容,最好的方法是将这些更改放在单独的分支中。

优点是您可以通过将新的更改推送到该分支来更改拉取请求(如果需要更改已经推送的提交,甚至可以使用push -f)。

Ikke answered 2019-12-30T11:39:20Z
translate from https://stackoverflow.com:/questions/12660839/pull-request-for-only-certain-files-commits