![](/img/trans.png)
[英]How to move function declaration to another file yet retain Git history?
[英]Retain Git history on move directory
我有兩種情況
我有一個本地Git存儲庫,我將文件移動到另一個文件夾中然后提交。 歷史記錄丟失了,如何將文件歷史記錄保存到已移動的文件中。
我有一個本地Git存儲庫,我需要將其移動到其他文件夾中,如何在不丟失文件歷史記錄的情況下執行此操作
例:
$ git log src/main/java/com/mywork/app/App.java
commit 9408dc7ed160d2a1235a2d30ff54458fef4ec2dc
Author: xybrek <x@gmail.com>
Date: Fri Apr 18 19:03:16 2014 +0800
Commit src files
至少應該在這里是文件移動之前的完整歷史記錄。 那可能嗎?
歷史記錄不會丟失,但是您需要告訴Git遵循重命名。 您通常使用git log --follow path/to/file
來執行此git log --follow path/to/file
。
有關更多信息,Git不會明確記錄重命名,而是使用試探法。 關於此的常見問題條目說:
Git必須與許多不同的工作流程進行互操作,例如,某些更改可能來自補丁程序,而重命名信息可能不可用。 依靠顯式的重命名跟蹤,不可能合並完成完全相同的操作的兩棵樹,除了其中一棵是作為補丁(創建/刪除),而另一棵是使用其他啟發式的。
第二點,跟蹤重命名實際上只是跟蹤內容在樹中移動方式的一種特殊情況。 在某些情況下,您可能會對查詢何時添加功能或將其移動到其他文件感興趣。 通過僅依靠在需要時重新創建此信息的能力,Git旨在提供一種更靈活的方式來跟蹤樹的變化。
還有一些與重命名有關的選項。 在git-config手冊頁中查找.rename
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.