1
我錯誤地將GitHub存儲庫(A)移動到新的Bitbucket存儲庫(B),方法是將A到B中的所有文件都添加到B中,這會丟失所有歷史記錄。我在B上做了一些工作(多次提交)並且意識到了我的錯誤,所以現在A包含了舊的歷史記錄直到某個時間點,而B包含了從那時起的新歷史記錄。我怎樣才能將A與B的歷史合併,以便B包含文件的完整歷史記錄?添加缺少的git歷史
P.S .:我猜主要的問題是B上的第一次提交與a不同,因爲沒有歷史它包含每個文件的全文。
例
庫中的
Commit 1: Create new File X
Commit 2: File X
+ Hello World
Commit 3: File X
+ This is a test
庫B
Commit 1: Create new File X:
+ Hello World
+ This is a Test
Commit 2
+ This is a new line
我想創建一個具有以下歷史上的新倉庫C:
Commit 1: Create new File X
Commit 2: File X
+ Hello World
Commit 3: File X
+ This is a test
Commit 4:
+ This is a new line
你應該能夠在庫B中運行'git format-patch .. ',然後使用'git-am'將結果系列的補丁應用到A. –
或者,將B添加爲A的遠程,然後抓取,然後選擇第一個提交。 (這兩種方法假設B中的第一次提交與A中最後一次提交的狀態相匹配。) –
@SvenMarnach格式化補丁和git工作完美,謝謝!你能否從評論中做出回答? –