2012-08-09 14 views
5

Ich habe ein SVN-Repository in ein Git-Repository geklont, und ich möchte nur die letzten Commits ab f3a5b2a commit. Ich möchte die Änderungen behalten, aber sie können ein Teil dieses f3a5b2a Festschreibens sein, ich möchte die unnötige Geschichte loswerden, weil ich sie nicht mehr benötige und ich das alte SVN-Projektarchiv gesichert habe.Löschen älterer Git Commits aus der Geschichte?

Es gibt Commits über 7 Jahre hinweg, ich möchte nur die Commits ab f3a5b2a.

+0

Ich hatte eine ähnliche Frage irgendwann zurück - http://StackOverflow.com/Questions/495345/Git-Removing-Selected-Commit-Log-Einträge-for-Repository - Der Befehl, den Sie wahrscheinlich suchen, ist '$ git rebase' – xk0der

+0

@ xk0der Ich habe diese Frage gelesen, aber sie beruht auf dem interaktiven Modus und es gibt keine Möglichkeit, dass ich das tun werde. Es muss einen anderen Weg geben. – Tower

+0

Sehen Sie sich einige der Antworten an, die unter der Antwort liegen, die ich angenommen habe - besonders der '--onto' Schalter scheint Ihnen zu helfen. (1) http://stackoverflow.com/a/495526/29096 (2) http://Stackoverflow.com/a/3705152/29096 - und ein paar mehr im Thread. – xk0der

Antwort

7

fand ich einen besseren Weg, um eine SVN-Repository zu klonen und begehen älter fallen:

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

Es besteht im Wesentlichen Repository klont das gegebenen SVN, von Revision beginnend 1234, bis er den Kopf trifft.

+0

Awesome :) - sehr praktisch. – xk0der

Verwandte Themen