我已经对我的本地存储库进行了多次提交,现在我打算执行pull请求将这些更改提交给源/ master.
当我执行拉取请求时,它会自动包含我的所有提交.我找不到在自己的pull请求中提交每个提交的方法.有人可以给一些关于如何在GitHub上执行此操作的指针.
更新 为了澄清这个问题,我从上游/主人那里分配了一个新的本地仓库.然后,在我的noobie-ness中,我在我的本地主人本身中创建了新文件而没有首先分支回购.所以,实际上,我的问题是将这些更改提交给本地主仓库,是否有办法逐个提取每个新文件的拉取请求,而不是一次性提取所有新文件.
非常感谢.
Joa*_*ård 20
我不确定GitHub中是否有更好的方法,但总的来说,你可以为每个拉取请求创建一个新的分支,挑选你想要的每个请求的提交.新分支应该优选地基于上游主设备以使合并无痛.
使用命令行git,使用origin自己的github远程仓库,upstream是上游远程:
git checkout -b {my_pull_request_feature_branch} upstream/master
git cherry-pick {sha1_of_first_commit_for_feature_X} [sha1_of_another_commit_for_feature_X] ...
git push origin {my_pull_request_feature_branch}
Run Code Online (Sandbox Code Playgroud)
重复每个拉取请求.
当您在GitHub上执行拉取请求时,您可以选择要在请求中发送的分支.
提交不是独立的,它始终链接到完整的历史记录.因此,如果你要求提交B取决于你的提交A,那么你也要求拉A,因为你在B中的工作取决于它.
如果要提交多个独立的pull请求,则应确保这些提交完全相互独立.所以他们应该在自己的分支机构.这也使项目维护者更容易集成您的pull请求,因为他们可以合并分支而无需挑选内容.