2010-09-28 124 views
1

我想樱桃挑选一些提交在我的回购,但它不断失败。
(我想在这个教程SO: “What is the best way to git patch a subrange of a branch?”)git格式补丁限制?

所以我做了一个解决办法:

  • 只是做了提交
  • ,只是删除多余的文件git format-patch

真的很脏的东西,但有点容易做。
所以我做了

git format-patch -66 

(提交我一直在寻找的是66款远)

问题的,这是它保持在047停止。
什么给? 我可以生成的补丁有限制吗?

回答

3

git format-patch-<n>选项是有点棘手,因为this thread illustrates,从git的贡献(为的GitWeb)和SO用户Jakub Narębski

它看起来像有如何git-的概念错误格式补丁工程,即'-<n>'传递给rev-list/log生成机器,并且它限制了提交的数量考虑;

如果一些这些提交的是合并提交,这是不能被表示为贴剂时,它产生的补丁的数量小于指定的<n>(你可以在 看到例如我已经提供,其中<n> == 3,而git-format-patch生成2个补丁,而不是3)。

在极端情况下(如'pu'),它不能生成补丁。

pu是这里的public branch of the git-scm repo。)

在OP的情况下,他在评论中指出,这可能意味着19个提交是合并补丁。


的Jakub那张提出以下解决方案:

更新git-format-patch文档说“犯”而不是“补丁”,
也许还大声对我们所跳过的提交,使我的例子看起来像像这样:

$ git format-patch -3 
0001-gitweb-Prepare-for-splitting-gitweb.txt 
0002-gitweb-Create-Gitweb-Git-module.txt 
Skipping merge commit: Merge branch 'maint' 

,到Ramkumar Ramachandra proposes last August (2010) to write a patch

你可以看到,补丁在这个September 2010 what's cooking in git.git

[最新主题]

rr/format-patch-count-without-merges(2010-08-28)2款
憋着 - format-patch:不要去了合并提交
- t4014-format-patch:拨打前致电test_tick

并且仍在[Cooking]部分中的最新what's cooking (Sept. 27th)部分,具有以下注释:

评论来自潜在用户?

+0

ohhh这意味着我有19个提交合并补丁。让我尝试一下 – corroded 2010-09-28 10:43:30