Ich bin ziemlich neu in Git und ich versuche, ein SVN-Repository auf Git zu verschieben. Ich folgte den Leitfaden unten, so dass ich jetzt ein Git-Repo
http://pauldowman.com/2008/07/26/how-to-convert-from-subversion-to-git/Konvertieren von Svn zu Git, wie man die Zweige nicht nur im Svn Repo Remote zu bekommen?
Also, wenn ich "git branch" git Antworten "* Master" zu tun und wenn ich es tue "git branch -r" i ein auf meinem Server erhalten haben Liste aller Zweige im SVN-Repository.
Meine letzten svn-checkins waren in einer der Filialen, aber als ich das "git svn clone" -stuff gemacht habe, ist mein commits in diesem Zweig (sie sind noch nicht in den trunk eingebunden) in meinem (git) Meisterzweig. Was fehlt mir hier?
Auch, wenn ich auf meiner Entwicklungsmaschine "Git Clone" mache, bekomme ich die Dateien in Ordnung. Aber wenn ich "git branch -r" mache, kann ich nur den Master-Zweig und nicht die Remote-Zweige sehen. "
Da wir das svn-repo alle zusammen loswerden möchte, möchte ich alle svn-Zweige haben in der Git-Repo, so dass sie von den Entwickler-Clients zugegriffen werden können
Wieder bin ich kein totaler Git-Neuling, aber nicht weit davon entfernt.Wenn es also etwas Grundlegendes fehlt mir hier bitte sagen Sie mir .
aktualisieren
Nach einiger RTFM (Mann git-svn) tun löste ich das erste Problem mit Zweig Sachen in dem Master-Zweig
Reset --hard Fernbedienungen/trunk
Jetzt ist der Stamm und der Master-Zweig ist die gleiche. Als nächstes müssen Sie herausfinden, wie Sie die Zweige von den Entwicklungsclients beziehen können.
Update 2
Ich habe es durch die Arbeit der URL oben und die URL kombiniert, die Scott zu spitz. Also, von Anfang an.
ich zuerst ein leeres Repository auf dem Server erstellt wird, werden sie in/usr/local/git-repos auf unserem Server gespeichert:
server> cd /usr/local/git-repos
server> mkdir my_project.git
server> cd my_project.git
server> git init
Dann ich die SVN-Repository meine dev-Maschine geklont (beachten Sie, dass auf unserem sVN-Server die "Zweige" dir genannt wird "Zweig" witout das 's'):
dev> git svn clone http://<svn.server>/my_project --no-metadata -A authors.txt -t tags -b branch -T trunk my_project
Dann einige Bereinigungs die Tags und Zweige, um zu erhalten:
dev> cp -Rf .git/refs/remotes/tags/* .git/refs/tags/
dev> rm -Rf .git/refs/remotes/tags
dev> cp -Rf .git/refs/remotes/* .git/refs/heads/
dev> rm -Rf .git/refs/remotes
Jetzt ist mein Server als Remote-Repository hinzufügen:
dev> git remote add origin [email protected]<our_server>:/usr/local/git-repos/my_project.git
Schließlich schieben alle Zweige und Tags bis zu dem Server:
dev> git push origin --all
Puh, jetzt haben Sie es, ich jetzt kann das Svn-Repo loswerden.
Update 3
Kasse ebneters post unten für einen einfacheren Weg, es zu tun ...
Ich habe diese Methode auf einem Git-Spiegel eines Svn-Servers verwendet, von dem ich weiterhole, und dies bricht irgendwie die Geschichte. Ist das zu erwarten oder mache ich etwas falsch? – Doppelganger