我想在两个提交(父级和子级)之间创建一个diff请求。我可以使用d4242...d4141
在我的两个提交之间进行差异,但是它接口github不允许将d4242...d4141
放在字段中。
(错误:没有什么可比较的。)
它们是一种拉取请求差异的方法,或者至少告诉从原始存储库和fork存储库之间的diff中删除一些文件/哈希?
答案 0 :(得分:3)
您只能为分支创建拉取请求,因此只需创建一个指向d4141
的分支并为该分支启动拉取请求。
您还应确保整个分支在上游主服务器之上进行重新定位,并确保不包含您在自己的存储库中可能具有的任何其他依赖项。所以它不应该是这样的:
A --- B --- C --- [d4242] --- * --- * --- [d4141]
/
X --- * --- * --- [upstream/master]
如果是这种情况,您应该删除提交A
,B
和C
,因为它们对您的分叉是唯一的。您可以通过从X
或upstream/master
创建一个新分支,然后在拉取请求中挑选您想要的所有提交来实现此目的:
git checkout -b new-pull-request upstream/master
git cherry-pick d4242..d4141
git push origin new-pull-request
然后您可以为该分支创建拉取请求。
通常,您为上一个项目做的事情应该在不同的主题分支中完成,即完全独立且分离的分支。通过这种方式,您可能永远不会遇到可能无法进入上游存储库的提交存在依赖性问题的问题。它还使上游存储库的维护者更容易接受您的pull请求。
答案 1 :(得分:1)
您可以基于上游和樱桃挑选d4141
开始一个新的分支,并为新分支执行拉取请求。