2017-03-07 2 views
0

Nehmen wir an, ich habe ein vorhandenes SVN-Repository mit git svn clone geklont und möchte die Änderungen, die ich mache, auf das neue ("gegabelte") vorgelagerte Git-Repository übertragen.cherry-picking ein individuelles Commit mit git-svn

Gleichzeitig möchte ich in der Lage sein, alle Änderungen aus dem Upstream-SVN-Repository zu "ziehen" und sie zum Upstream-Git zu schieben (die Repositories können divergieren, Konflikte sind jedoch unwahrscheinlich).

  1. Wie kann ich tun, dass w/o eine Patch-Datei für jeden SVN (mit svn diff) zu schaffen und es der Git-Repository anwenden?
  2. Ist es möglich, eine Reihe von Commits von SVN zusammenzuführen (ohne sie einzeln auszuwählen) und den resultierenden Zweig oben auf meinem Git masterin einem einzigen Schritt zu referenzieren?
+0

Habe ich dich richtig verstanden, dass du ** die neuen Commits in Git nicht an den SVN-Server schicken willst? – Vampire

Antwort

1

Für Ihre Fragen:

1. Wenn es in Ordnung ist, alle Commits anzuwenden, die in der lokalen git Repo ist nicht vorhanden, können Sie git svn rebase verwenden. Wenn Sie diese Commits eins nach dem anderen anwenden möchten, können Sie git svn fetch und dann git cherry-pick commit verwenden.

git svn fetch 
git rebase --onto master <start commit> <end commit> 

Es wird rebase den Bereich von Anfang commit (nicht enthalten sie) zu beenden commit (es enthält) auf dem Master-Zweig:

2.Two Schritte können Sie Ihre Anforderung erfüllen.

Verwandte Themen