簡體   English   中英

Git將本地歷史記錄合並到遠程存儲庫

[英]Git merge local history to remote repository

我已經重組了項目文件夾。 我看到在重組遠程存儲庫中的文件之前丟失了提交歷史記錄。

在進行本地重組之前,我擁有歷史。 現在,克隆存儲庫的每個人在重組之前都沒有提交歷史記錄。 無論如何,我可以重建提交歷史記錄並將其合並到遠程存儲庫嗎?

當我嘗試此命令時:

git log --follow pom.xml

我可以看到文件的完整歷史記錄,但是當我不使用--follow時,日志將在重組commit時停止。我希望它顯示所有歷史記錄。 有沒有什么辦法解決這一問題?

在Git中丟失歷史記錄的唯一方法是刪除提交。 這是因為提交歷史記錄。 沒有文件歷史記錄; 只有提交。

當您使用git log --follow pom.xml ,您通過在提交歷史中徘徊並指出何時觸摸了名為pom.xml的文件來告訴Git 合成文件歷史。 --follow選項告訴Git,除了檢查該提交中是否更改pom.xml ,還應該檢查該提交中是否將其重命名 如果是這樣,Git會檢查早期提交中的舊名稱 (包括其完整目錄路徑)而不是新名稱,因此Git不再尋找new/pom.xml而是尋找old/pom.xml或其他任何東西,並構造文件歷史記錄文件。

如果使用IDE,則IDE必須執行與Git相同的操作-通過選擇更改該文件的提交來合成文件歷史記錄,並在此過程中檢查重命名操作(如果您要執行此操作)。

最終,我發現僅在Bitbucket和Eclipse上存在一個問題。 Bitbucket顯示對存儲庫的所有提交,但無法使用--follow命令顯示單文件日志。 Eclipse也存在同樣的問題。 Intellij正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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