簡體   English   中英

在移動目錄上保留Git歷史記錄

[英]Retain Git history on move directory

我有兩種情況

  1. 我有一個本地Git存儲庫,我將文件移動到另一個文件夾中然后提交。 歷史記錄丟失了,如何將文件歷史記錄保存到已移動的文件中。

  2. 我有一個本地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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM