我正在將項目從TFS轉換爲git,並且我想保留所有歷史記錄。如何在另一個頂端添加git倉庫
問題在於一年前TFS項目在TFS中移動。 使用git-tfs我可以將兩個位置轉換爲git,但現在我有兩個git存儲庫:A和B.
我已經設法將A和B都放入與不同分支相同的存儲庫中。是否有可能將B中的第一次提交的父代更改爲A中的最後提交?
Branch A: a -> b -> c
Branch B: d -> e -> f
我想有
a -> b -> c -> d' -> e' -> f'
解決方案:
git filter-branch --parent-filter 'sed "s/^\$/-p <last-commit-in-A>/"' HEAD_OF_B
這確實不起作用,因爲git存儲庫不共享歷史記錄。 A的最後一次提交和B的第一次提交具有完全相同的內容。但是他們的SHA1哈希值不一樣。這兩個回購已經從TFS轉換而來。 – sighol
@sighol你是什麼意思的「不工作」?我以'git merge'爲例。也許'git rebase'更適合你的情況。 –
我不認爲'git merge'或'git rebase'將會起作用,因爲這兩個分支有不相關的提交。分支A:a - > b - > c 分支B:d - > e - > f 這兩個早午餐完全不相關的歷史。我想要這個歷史 a - > b - > c - > d' - > e' - > f' 我不能使用rebase,因爲rebase會移除merge commit。 – sighol