2015-05-04 55 views
3

我正試圖合併分支feature回到mastermaster提前一打提交feature分支,feature由三個提交組成,它們與master以來完成的任何操作都沒有衝突。這應該是一個非常簡單的合併。git寫入樹未能寫入樹

如果我做了重訂工作流程,沒有任何問題的損失(文件名略):

$ git checkout feature 
$ git rebase master 
First, rewinding head to replay your work on top of it... 
Applying: first 
Applying: second 
Applying: third 
$ git checkout master 
$ git merge feature 
Updating 5e42a1d..3642da3 
Fast-forward 
... 
34 files changed, 575 insertions(+), 658 deletions(-) 
create mode 100644 ... 
create mode 100644 ... 
copy ... (64%) 
rename ... (64%) 
delete mode 100644 DIR_1 
create mode 100644 ... 
create mode 100644 ... 
delete mode 100644 DIR_2 
rename ... => A (100%) 
rename ... => B (100%) 
rename ... => C (100%) 
rename ... => D (100%) 
rename ... => E (100%) 
rename ... => F (100%) 
rename ... => G (93%) 
rename ... => H (94%) 
rename ... => I (95%) 
rename ... => J (92%) 
rename ... => K (100%) 
rename ... => L (100%) 
rename ... => M (100%) 

但是,如果我做了合併,這同樣應該沒有問題:

$ git checkout master 
$ git merge feature 
Removing DIR_1 
Removing DIR_2 
A: unmerged (918a9f784e16a17792d47da2ea2623137c42b6b6) 
B: unmerged (e7fe52f5c9ecc93ff25b66cc7c34a0ea511a809a) 
C: unmerged (8e076d6459e36f7296a152c75b8c2d6a75abff18) 
D: unmerged (93ae1467cfcb0dac26a7b503c49a72228cc35221) 
E: unmerged (9014187a5c414024ec5e2deaf58ee2e3d6327dd6) 
F: unmerged (109e70ec7786bdafd00a609f9f0b53a33b5f9989) 
G: unmerged (c952cbf52ae282ee707b2d8a4166b53864b62bb7) 
H: unmerged (0aa9792eae3bc7f84575c6f85662c494b53911fd) 
I: unmerged (a6f19de4dbd21214e5716e6578d4c8591f5f6475) 
J: unmerged (1812c7ec3701598203595ae411901626d3a3f2d9) 
... 
fatal: git write-tree failed to write a tree 

文件A .. J與在rebase輸出中重命名爲相同的文件以及標記爲delete mode的相同DIR_1DIR_2

錯誤是什麼意思?當git rebase/merge cleanlyly成功時,什麼會導致我的git合併失敗?我在Ubuntu上使用git 1.7.0.4。

回答

0

如果有人在將來遇到這種情況,它似乎是一個混帳錯誤。在升級到1.8.3.1後,我能夠沒有任何問題地執行合併:沒有發生任何衝突,沒有「致命的:git寫入樹未能寫入樹」。