2011-05-16 14 views
7

我在git中刪除了一個文件幾次,但是當其他分支被合併時它會再次出現;我想是這樣的:如何在git中關注文件

     o-- a topic --o 
        /    \ 
o-- [create file] --o-- [delete file] --o-- [file exists again] 

這是特別對我來說很難掌握髮生了什麼事,因爲我們使用的「內部發行」與git的工作,也就是我創造,我推發佈分支,這對我們發佈經理拉和合並下到主人,我拉他的主人。

如何找出我(或其他人)刪除文件的位置以及重新引入文件的合併內容?謝謝!

+1

你能想出一個簡單的場景,你的文件再次出現嗎?我沒有設法重現這一點。 – Mat 2011-05-16 15:05:17

回答

2

當您刪除分支中的文件,然後在包含該文件的另一分支中合併時,該文件仍將被刪除。現在,即使您刪除了分支中的文件並將此分支與其他分支合併,它仍將被刪除。

git merge: Removing files I want to keep!

如果某些內容被添加到然而這個文件,而合併,你會得到衝突,你必須明確地添加此文件並提交它回來到您刪除的分支。


--followgit log

--follow

Continue listing the history of a file beyond renames (works only for a 

單個文件)。

但我不確定這是你在找什麼。您還可以看看History Simplificationgit log手冊 - http://git-scm.com/docs/git-log

+0

不,很抱歉,這只是向我展示了幾個提交,而不是文件中發生的其他事情。 – 2011-05-16 14:55:59

+0

感謝您的編輯,我暫時會接受您的回答,但不知怎的,文件的刪除在某處丟失了。我認爲最可能的原因是當我們改變發佈程序時,我重寫了分支。 – 2011-05-17 05:22:48

0

正在發生的事情是,當你回來的合併topic分支,它包含一個blob /對象,不在main分支存在,因此合併將創建一個包含它在topic分支中的狀態的文件。要停止這種行爲,我會以另一種方式合併(合併maintopic)或將topic重新綁定到main。如果您更改topic中的文件,則會出現問題,然後它會嘗試將更改應用於main,從而導致重新創建文件。

+0

不幸的是,我無法將主人合併到主題中,因爲我們正在執行內部發布過程,但是您可能正確回答了文件重新出現的原因。我仍然不知道如何跟蹤文件。 – 2011-05-17 05:03:30