您可以創建初始的一replacement ref從git的承諾,使其 似乎最git的命令,它起源於Git的歷史是建立在從SVN進口的歷史 。
您可以用下面的命令做到這一點:
git checkout -b temporary <FIRST_GIT_COMMIT>
# Set parent of next commit to last one from svn,
# but don't change the working tree or contents of next commit
git reset --soft <LATEST_SVN_COMMIT>
# Create a new commit using contents and message of the first git commit
git commit -C <FIRST_GIT_COMMIT>
# Tell git to use the newly created commit in place of the original git
# commit in most cases.
git replace <FIRST_GIT_COMMIT> HEAD
但是,更換引用沒有得到自動使用遙控器或者推或拉時 標準refspecs轉移。相比,可以 手工完成使用:
git push origin 'refs/replace/*:refs/replace/*'
git pull origin 'refs/replace/*:refs/replace/*'
它是不可能有改變的歷史會自動轉移到其他 庫不改變的每一個提交ID提交其 最初使用Git創建的。
來源
2013-05-10 04:31:07
qqx
「git-only」歷史中有多少次提交?你爲什麼不想重寫?重寫可能是最乾淨的解決方案。 – Chronial 2013-05-10 00:59:55