2013-07-26 25 views
11

每當我通過git subtree split或(因此?)將子目錄拆分到分支時(當我向上推子樹時),新分支/上游提交消息提交「-n」和一個換行符。git子樹推送和拆分添加「-n <newline>」來提交消息

這是最容易分裂證明:

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,只有」分支在提交消息前面加上了「-n」。 這是特別糟糕的,因爲默認情況下github會崩潰所有內容,但第一行。因此,你不能輕易地在github上瀏覽這些提交消息。

我試過使用--annotate可能會得到更可讀的東西,但只是將某些東西附加到「-n」行。

行爲與subtree push相同。

有什麼辦法可以防止添加「-n」行嗎?我可以重新分配線路,但當我玩弄它時,它破壞了子樹合併。難道我做錯了什麼?

在OS X 10.8.4上使用git 1.8.3.4。

回答