1
A
回答
2
不,這是不可能的文件標記爲更名後的事實/移動,因爲沒有辦法實際文件標記爲重命名/移動所有,直到永遠。
內部在資源庫中,重命名或移動不跟蹤。
相反,工具頂部的git存儲庫,即。 git可執行文件和它的所有兄弟可執行文件正在做這個繁重的工作。
特別是,當添加一個文件時,git的某些命令會查看其餘的提交,以查看它是否可以找到該文件的來源,如另一個被刪除的文件。 Git甚至會嘗試匹配內容不相同但不得不停止的文件。
這意味着你沒有在同一個文件的修改提交對於這個過於粗放「尋找類似的文件」算法來考慮的候選這種移動/重命名日誌輸出。
所以基本上你唯一的選擇是回去並重做那個提交,把它分成兩個(或多個)不同的提交,你可以移動/重命名文件或改變它們,但不能在同一個提交中。
因此,舉例來說,如果你的提交歷史是這樣的:
Commit #1: Introduce some files
Commit #2: Move and change said files
Commit #3: Further change the moved files
你把它分解成這樣:
Commit #1: Introduce some files
Commit #2: Move files
Commit #3: Change said files
Commit #4: Further change the moved files
這應該能看到重命名git的工具/正確移動。
您也可以嘗試通過降低你對文件的修改的量,但那麼你剛纔的戰鬥閾值,以它分裂。更好地通過在同一提交中執行移動/重命名或更改而不是兩者來減少不匹配的可能性爲0。
相關問題
- 1. 在git中標記特定文件
- 2. Git在拉動後在文件中插入垃圾元標記
- 3. 獲取給定標記的最後一個git標記
- 4. 如何使用git log來標記文件歷史記錄?
- 5. Java:標記/標記文件
- 6. 在Git commit summary中標記?
- 7. 合併後文件歷史記錄中缺少git提交
- 8. 在git repostiory中識別文件版本的最接近標記
- 9. 將標記值從git回購存儲到文件中
- 10. 如何在GIT中標記單個文件
- 11. 在GIT倉庫中標記臨時忽略的文件
- 12. 在Git中,有沒有辦法將文件標記爲「純」?
- 13. Git如何從文件中刪除衝突標記?
- 14. 與日期git ls文件?
- 15. Git中未記錄的文件問題
- 16. 在git中登記二進制文件
- 17. 如何在Git中記錄文件
- 18. Git無法標記
- 19. Struts日期標記事件
- 20. git push後git拉到www文件夾
- 21. 在Eclipse中標記文件
- 22. 標記文件夾中.gitattributes
- 23. git pull後遺失文件?
- 24. git pull後恢復文件
- 25. Eclipse git插件,標記雙擊
- 26. 此標記後的預期表達式
- 27. 在git中提交後發生哪個標記?
- 28. Git獲取後的Git記錄
- 29. 重組項目文件夾後丟失了git歷史記錄
- 30. 用KML文件中的文件夾標記包裹地標標記
在內部,Git不會跟蹤重命名。它總是「在這裏刪除200行,在那裏添加200行」。只有識別重命名的輸出才能顯示給你。 –
要做到這一點的唯一方法是拆分改變的提交*和*重命名/移動文件只做兩個之一,即。將提交分成一個提交進行重命名/移動,另一個更改其內容。 –