如果我未能创建功能分支,如何从 github 存储库制作补丁



我在Github上分叉/克隆了apache whirr,并开始在主干分支上工作。在工作期间,我从源/主干中提取了两个提交。当我通过运行 git diff first_feature_commit HEAD 生成补丁时,我得到一个包含这两个提交的补丁。因此,当我提交补丁时,它被拒绝了。

如何在没有从源/主干拉取的提交的情况下创建补丁?

使用 git format-patch 生成补丁,它会将它们拆分。 您也可以只用git diff HEAD^进行差异,以仅获取您的提交(这可能是最近的提交)。

git checkout -b rj/rilly_feature
git rebase -i master
# remove spurious commits in interactive rebase file
git diff master
# observe success

这旨在解决您创建功能分支的"失败"——如果您认为应该从功能分支工作,这将让您使用一个功能分支,并允许您生成一个干净的补丁。

1) 将遥控器添加到您感兴趣的修补存储库中。大概是这样的

git remote add upstream https://github.com/apache/whirr.git

2) 获取遥控器。只需可能获得所有这些:

git fetch --all

3)制作你的补丁!

git diff upstream/trunk..HEAD >my.patch

哼!@eldondev

当您只想获取主分支中而不是origin/master(服务器)上的提交时,您可以使用

git diff origin/master..HEAD

有关更多详细信息,请参阅 Git 工具 - Pro Git 的修订版选择。

相关内容

  • 没有找到相关文章

最新更新