Bất cứ khi nào tôi chia thư mục con thành chi nhánh qua git subtree split
hoặc (do đó?) Khi tôi đẩy luồng phụ lên, các thư cam kết trong nhánh mới/cam kết ngược dòng có "-n" và một dòng mới được thêm vào chúng.git subtree đẩy và chia nhỏ thêm "-n <newline>" để cam kết thông báo
Đó là đơn giản nhất để chứng minh với 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
Từ đó, tôi nhận được:
$ git log master
commit 6d5164076bd88d1dab8963d91ec013372e58a444
Author: me
Date: Fri Jul 26 12:22:27 2013 -0500
Add foo
và
$ git log splitme-only
commit 6ce8124a0b5e52d4bba198144d2f3f664d7b19e7
Author: me
Date: Fri Jul 26 12:22:27 2013 -0500
-n
Add foo
Như bạn có thể thấy, "splitme-only" nhánh có "-n" được thêm vào thông điệp cam kết. Điều này đặc biệt xấu vì github sụp đổ mọi thứ trừ dòng đầu tiên theo mặc định. Do đó, bạn không thể dễ dàng lướt qua các thư cam kết này trên github.
Tôi đã thử sử dụng --annotate
để có thể nhận được nội dung nào đó dễ đọc hơn, nhưng điều đó chỉ gắn thêm thứ gì đó vào dòng "-n".
Hành vi giống hệt với subtree push
.
Có cách nào để ngăn không cho dòng "-n" được thêm vào không? Tôi có thể rebase dòng ra, nhưng khi tôi chơi xung quanh với nó nó đã phá vỡ subtrees sáp nhập. Tôi có làm điều gì sai?
Sử dụng git 1.8.3.4 trên OS X 10.8.4.