3
Git不會跟蹤重命名更新git的MV指數
我有一個文件dir1/some.class
。 我將它複製爲dir2/some.class
並提交+推送。 幾周後,我刪除了dir1
版本。
我可以教Git來表現出這是一個動作,而不是一個新文件嗎?
因此,我將從其他分支合併的dir1/some.class
的所有更改實際上將合併到dir2/some.class
?
我
git checkout mybranch
git config merge.renameLimit 100
git merge --no-ff -X rename-threshold=80 master
git config --unset merge.renameLimit
嘗試了一些文件得到了合併。但有些不。特別是我缺少的是git log能力,看到dir2/class
發生在過去的變化爲dir1/class
,但這並沒有發生。
什麼actualy幫助我爲
低門檻改名(10%的相似性來考慮改名的文件)
大merge.renameLimit(消耗合併過程中有很多的RAM)
git checkout mybranch
git config merge.renameLimit 999999
git merge --no-ff -X rename-threshold=10 -Xignore-space-change master
git config --unset merge.renameLimit
還可以查看下面標記的答案。
很棒的建議。我一定會試一試。太糟糕了,在項目中有很多重命名,他們不是直接使用重命名腳本。雖然我害怕重新命名它在一個新的分支會帶來我相同的情況,當我試圖合併所有的變化回到主人;) – Alex
這可能是正確的答案,因此我將它標記爲正確的,但實際上有什麼幫助我正在減少重命名閾值並增加renameLimit,因爲我在重構後有很多重命名,沒有任何具體的結構。 – Alex