问题 git子树push和split添加“-n ”来提交消息


每当我将子目录拆分为分支时 git subtree split 或者(因此?)当我向上游推送子树时,新分支/上游提交中的提交消息具有“-n”并且在它们之前添加了换行符。

用split进行演示最简单:

git init repo
cd repo
mkdir splitme
touch splitme/foo
git add splitme/
git commit -m 'Add foo'
git subtree split -P splitme -b splitme-only

从此,我得到:

$ git log master
commit 6d5164076bd88d1dab8963d91ec013372e58a444
Author: me
Date:   Fri Jul 26 12:22:27 2013 -0500

    Add foo

$ git log splitme-only 
commit 6ce8124a0b5e52d4bba198144d2f3f664d7b19e7
Author: me
Date:   Fri Jul 26 12:22:27 2013 -0500

    -n
    Add foo

如您所见,“splitme-only”分支在提交消息之前添加了“-n”。 这尤其糟糕,因为github默认情况下会折叠除第一行之外的所有内容。因此,您无法在github上轻松浏览这些提交消息。

我试过用过 --annotate 或许可以获得更具可读性的东西,但这只是在“-n”行上添加了一些内容。

行为是相同的 subtree push

有没有办法防止添加“-n”行?我可以改变这条线,但是当我玩弄它时,它破坏了子树的合并。难道我做错了什么?

在OS X 10.8.4上使用git 1.8.3.4。


1758
2017-07-26 17:50


起源



答案:


事实证明这是git中的一个错误,在1.8.3.3中引入。

特别, 这次合并 制作子树运行 sh 代替 bash,打破了 这条线

这是我刚刚提交的错误报告: http://thread.gmane.org/gmane.comp.version-control.git/231213

更新:错误是 固定 在git 1.8.4中


15
2017-07-26 21:14