2014-09-21 112 views
32

我可能没有术语。我将文件添加到git上的开放项目中。我分出了这个项目。我做了一些更改,最后一次提交的是我想要向该项目请求的文件,而不是我之前做的小改动。当我去github网站并提出pull请求时,我会在所需的一个文件的最后一个之前得到所有提交,而我不想提交所有其他提交,因为我认为它不是必需的该项目。只是我自己的改变。我该怎么办?如果可能的话,我是否应该单独制作另一个资源文件或单独附加文件并提交。Git - 樱桃选择一个单一的提交请求

+0

只是单挑,这不能像SLak所描述的那样工作。尽管我已经选择了最后一次合并提交,但PR仍然希望汇总最后31次我提交给原始提交者的最后31次提交。我现在尝试了十几种方法来挑选一个提交来创建PR,但都没有成功。 100%失败。我试过重置分支到最后一次提交,创建一个功能分支,只是最后一次提交,创建一个差异/补丁和PR'ing,没有运气。在每一个案例中,它都希望创建PR最后31次提交到 – user3565738 2017-06-08 01:40:47

回答

59

您需要从远程HEAD创建一个新分支,樱桃选择该分支的提交,将分支推送到您的GitHub上的回购,然后创建一个拉请求。

git checkout -b mybranch 
git fetch upstream 
git reset --hard upstream/master 
git cherry-pick <commit-hash> 
git push origin mybranch:mybranch 
+0

完美谢谢!你如何建议将来做拉请求?我应该只保留一切本地,只提交给我的叉github res我想要拉的请求? – user3590149 2014-09-21 05:05:39

+0

@ user3590149:是的,并为每个拉取请求创建一个单独的分支。如果您愿意,您可以将非请求更改推送到其他分支。 – SLaks 2014-09-21 05:26:18

+1

似乎是我在找什么。我一点也不知道自己在做什么,但是......货真价实! :) – 2015-10-27 11:25:32