爲了在Git和SVN之間創建一個橋樑,允許一個項目的開發人員使用SVN,而另一個項目上的開發人員使用Git,我無意中覆蓋了整個git提交歷史記錄在遠程存儲庫中。以下是導致錯誤的基本工作流程。Git - 意外覆蓋遠程倉庫的整個提交歷史
- 克隆遠程Git倉庫
隨後的一系列命令以導入GIT中回購成SVN的。
a。我嘗試了使用本地SVN存儲庫作爲測試通過stackoverflow和其他幾個位置找到的各種方法。他們中的大多數都因爲我反對的Git回購而失敗。然而,在http://eikke.com/importing-a-git-tree-into-a-subversion-repository/找到的步驟似乎是成功的,所以那些是我最終使用的。
b。這只是半成功的。導入到SVN中試圖獲取所有的git commit歷史記錄,並將其作爲SVN提交日誌導入,但在大約2/3的時候失敗。最後三分之一是作爲一個單獨提交被提交到SVN。此外,所有提交日期都被當前日期覆蓋,大部分作者被覆蓋。鑑於這是SVN回購,而不是實際的Git回購,我並不太在意。
- 讓某人從SVN簽出代碼,進行更改並提交。
- 使用git svn獲取更改
- 將更改推送到遠程存儲庫。
最終結果是整個提交歷史記錄被SVN中現在的內容覆蓋。因此,提交日期和作者發生了變化,並且提交歷史的最後三分之一丟失。是否有可能恢復?
如果不是,我找到了在進程中間某個地方創建的本地存儲庫的備份。它似乎具有所有原始提交歷史記錄。是否有可能以某種方式使用本地備份中的內容覆蓋遠程存儲庫上的提交數據?
這是爲什麼關閉主題? – abcd 2011-05-23 18:51:38