2014-01-26 48 views
0

我在git和Linux上完全是新手,但我必須做點什麼。我們有一個一步一步的過程,之前完成沒有任何問題。今天,我要從頭做到這一點,但是這一次,當我使用這個命令在git命令上未經操作的工作樹文件

git fetch --tags path/afiletofetch.bu 
git merge FETCH_HEAD 

我會收到此錯誤信息

Untracked Working tree file /BEE/V/adm/Start/scripte/tis_end would be overwritten by merge 

我應該怎麼辦?我應該檢查什麼來解決錯誤?

+0

在合併之前,提交更改。 – 2014-01-26 09:59:16

回答

0

這意味着你有這樣的事情

A --- B 
\ L HEAD 
    \ 
    \- C 
     L FETCH_HEAD 

讓您目前所提交B,你現在有你的文件系統文件tis_end,並且此文件不被Git的這一承諾跟蹤。

但是,該文件由git在提交C時跟蹤 - 它可能與您當前擁有的版本不同。

爲了安全起見,git拒絕合併,因爲它會覆蓋您的本地版本tis_end

解決方案取決於你想要用這個文件做什麼。特別是你可以:

  • 刪除這個文件,如果你不關心你的本地修改

  • 合併(在合併過程中,可能導致對這個文件衝突,但在之前提交該文件至少你不會失去你的工作)

要提交它,你應該這樣做:

git add BEE/V/adm/Start/scripte/tis_end 
git status #To make sure you're going to commit what you're expecting 
git commit -m "Adding tis_end" 

它會導致類似

A --- B -- D 
\   L HEAD 
    \ 
    \- C 
     L FETCH_HEAD 

其中D是新的承諾,與此文件跟蹤。

(無論哪種方式,您都可以先備份此文件:比對不起更安全)

+0

我如何提交該文件? – nnmmss

+0

我如何在分支B上進行更改? – nnmmss

+0

我編輯了我的答案以添加此信息 – gturri