0
我最近在分支中使用git mv
對分支文件夾結構進行了很大改動,導致沒有添加/刪除的文件只是爲了保留歷史記錄而重命名。Git合併保留mv歷史
將此分支合併到其他分支會導致添加/刪除所有包含內容更改的文件。
Git顯然理解自嘗試執行刪除/添加以來移動的文件。
如何確保我的文件的歷史在與重命名文件合併期間保持不變?
我最近在分支中使用git mv
對分支文件夾結構進行了很大改動,導致沒有添加/刪除的文件只是爲了保留歷史記錄而重命名。Git合併保留mv歷史
將此分支合併到其他分支會導致添加/刪除所有包含內容更改的文件。
Git顯然理解自嘗試執行刪除/添加以來移動的文件。
如何確保我的文件的歷史在與重命名文件合併期間保持不變?
Git實際上並不會跟蹤重命名,但通過確定刪除的文件和添加的文件的匹配程度來推斷它們。有一些配置(和命令行選項),可以幫助檢測:
[diff]
renamelimit = 3000
您可以通過設置git config --global diff.renameLimit 3000
。還有一個merge.renameLimit
,但如果未設置,則默認爲diff.renameLimit
。不幸的是,我找不到任何記錄的默認值,但source code似乎表明400是默認限制。
或者你可以看看-l
選項git diff
以及-M
/--find-renames
選項。