假設我的項目有兩個分支:stable和master。 在主分支,前一段時間,我已經手動移動了一些文件,但不幸的是沒有使用git mv
命令,但是手動,因此似乎git沒有標記此移動(雖然它通常是這樣)。重新附加從git中的其他分支移動文件
現在我遇到這樣的問題,每次我在這些文件上對穩定分支進行一些更改時,我想將這些更改合併回主,它總是告訴我這些更改是全新的文件,只是顯示更改,使合併變得非常困難,不僅因爲我現在必須合併這些文件,而且由於這些文件傾向於轉移,所以日復一日變得越來越詭異。
是否有可能,現在這兩個文件僅實際上是相同的,並顯示差異通知混帳,我彷彿擺在首位進行git mv
它會做什麼?
從我記得,如果你使用'git mv'或者''mv'關於移動文件,這並不重要。一般來說,很難在Git中跟蹤移動/重命名文件中的差異(您可以在SO中搜索以獲取更多信息)。我的建議是,如果你計劃在兩個不同的分支中長期使用兩個不同的版本,那麼就不要移動/重命名文件。 –
我知道一般情況並不重要,但我確定它通常會跟蹤事物,而其他文件確實標記了mv。 – Panayotis
@TimBiegeleisen是正確的,git不記錄移動,它使用一種叫做相似性索引的東西來確定兩個文件是否相同。如果它沒有檢測到移動的文件,則A)修改了超過50%的文件或B)在兩個分支中所做的更改之間存在實際的合併衝突 – LightBender