2012-08-09 103 views
5

我已經將一個SVN倉庫克隆到一個Git倉庫中,我只想從f3a5b2a開始提交最後的提交。我確實想保留這些更改,但它們可以成爲提交的一部分,我想擺脫不必要的歷史記錄,因爲我不再需要它了,並且備份了舊的SVN存儲庫。從歷史中刪除舊的Git提交?

有跨越7年的承諾,我只想從f3a5b2a開始的承諾。

+0

我曾經問過一個類似的問題 - 回覆 - http://stackoverflow.com/questions/495345/git-removing-selected-commit-log-entries-for-a-repository - 您可能正在尋找的命令是'$ git rebase' – xk0der 2012-08-09 09:47:25

+0

@ xk0der我讀過這個問題,但它依賴於交互模式,我不會那樣做。必須有其他方式。 – Tower 2012-08-09 09:51:15

+0

看看下面我接受的答案 - 特別是'--onto'開關似乎是應該幫助你的。 (1)http://stackoverflow.com/a/495526/29096(2)http://stackoverflow.com/a/3705152/29096 - 還有更多的線程。 – xk0der 2012-08-09 09:53:30

回答

7

我發現了一個更好的辦法來克隆一個SVN倉庫和刪除舊的承諾:

git svn clone -r1234:HEAD https://asdasd/ targetPath 

它基本上克隆給定的SVN倉庫,從1234版本開始,直至碰到頭。

+0

真棒:) - 非常方便。 – xk0der 2012-08-10 15:11:44