簡體   English   中英

如何在Git / SVN中合並多個文件的歷史記錄

[英]How to merge multiple files' history in Git/SVN

我正在將舊存儲庫從SVN遷移到Git。 該存儲庫包含少量文件,但是由於歷史原因,這些文件每個月都存在於子目錄中。 例如:

標稱文件

a.txt
b.txt
c.txt

實際布局

/
|-201601
|  |- a.txt
|  |- b.txt
|  |- c.txt
|-201602
|  |- a.txt
|  |- b.txt
|  |- c.txt
|  
...
|-201807
   |- a.txt
   |- b.txt
   |- c.txt

(note no files at top level)

作為遷移的一部分,我將刪除這些過時的子目錄,而我們將只有頂級文件。 但是,理想情況下,我希望將文件的所有“版本”中的歷史記錄合並為一個-也就是說,在新存儲庫中運行git log a.txt將會顯示以前提交給201807/a.txt所有更改, 201806/a.txt

是否有一個Git命令(或命令集)可以讓我將多個文件的歷史記錄/提交合並到一個文件中?

(如果這在Subversion中比較容易,那也是一個選擇;我可以在導入Git之前修改舊的記錄。)

首先,關於從SVN到Git的導入,要使用的工具是SubGit (一次性導入是免費的)

其次,您可以將每個日期文件夾視為SVN中的“分支”(具有自己的歷史記錄),並且可以遵循“ 布局更改為歷史記錄 ”,以指示SubGit如何處理這些文件夾。
如果這在這里不適用(因為我提到的鏈接是針對一個分支的,該分支在其SVN歷史記錄中已重命名),則您需要將每個文件夾/分支映射到Git分支。

暫無
暫無

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

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