【发布时间】:2011-12-10 08:33:20
【问题描述】:
我正在处理my copy of the perl repository on github 并创建了一个名为“perl-d-add-tests-2”的分支来进行一些更改,我已经提交了一些提交。我在上游提交了这些提交,并将它们应用于“blead”(主要的 perl 开发分支)。我从上游存储库中提取,并从 blead 执行“git merge”到“perl-d-add-tests-2”,现在我再次尝试在那里运行“git format-patch blead”,发生了什么:
shlomif@telaviv1:~/Download/unpack/perl/p5/git/perl$ git st
# On branch perl-d-add-tests-2
nothing to commit (working directory clean)
shlomif@telaviv1:~/Download/unpack/perl/p5/git/perl$ git diff blead | cat
shlomif@telaviv1:~/Download/unpack/perl/p5/git/perl$ git format-patch blead
0001-Made-c-line_num-working-again.patch
shlomif@telaviv1:~/Download/unpack/perl/p5/git/perl$
可以看到,“git format-patch”仍然会生成已经应用的提交。什么鬼?
如何防止“git format-patch”这样做?我只想要独特的更改,以前当它发生时,我被告知要打开另一个分支并从那里“git cherry-pick”提交,但显然这个解决方案无法扩展,因为它会在我的存储库中乱扔分支。
【问题讨论】: