2009-08-16 10 views
4

Ich verwende Git, um ein SVN-Repository zu verfolgen. Es funktioniert alles gut, aber jetzt der Domain-Name des Repository geändert und ich muss meine Änderungen zurück zu SVN committen. Außer Git Svn Rebase & Git Svn DC Commit wird nicht arbeiten, da der Domain-Name geändert hat. Wie kann ich das Repository ändern, um den neuen Standort zu verfolgen? Ich habe bereits versucht, .git/config SVN URL zu bearbeiten, aber das wird nicht funktionieren.git svn repository Domain-Name geändert, wie zu beheben?

+0

mögliche Duplikat [Git -svn: Was ist das Äquivalent zu \ 'svn switch --relocate \'?] (http://stackoverflow.com/questions/268736/git-svn-whats-the-equivalent-to-svn-switch-relocate) – svick

Antwort

0

Wenn nur der Domain-Name geändert wird, können Sie einfach Ihre/etc/hosts-Datei (oder was auch immer das Äquivalent in Windows Land ist) bearbeiten, damit der alte Name auf die neue Adresse verweist.

+0

Ich habe es versucht, aber aus irgendeinem Grund funktioniert es nicht. Und ich kann es anscheinend nicht reparieren. Aber ich würde gerne wissen, wie man das mit Hilfe von Git beheben kann, da sich der Standort auch in der (nahen) Zukunft ändern könnte. –

3

This site says Sie müssen einen neuen git-svn-Klon aus der neuen svn-URL erstellen und dann alle lokalen Änderungen hineinkopieren.

Sie könnten GitSvnSwitch versuchen, aber ich denke, es ist nur in einem SVN-Repo für verlagern (zB svn switch, nicht svn relocate)

Edit: Oder wir könnten beide sehen this SO post :)

+0

WOW. Das ist eine Menge Arbeit für etwas, das "einfach" zu sein scheint. Ich werde es ausprobieren, danke für die Hilfe. –

+0

gitsvnswitch ist, was Sie suchen – rado

+0

gitsvnswitch allgemeine Fallmethode funktioniert sehr gut. – netawater

1

ich dies hatte genau Problem, nachdem ich den Namen meines Repositorys geändert habe. Ich änderte die .git/config SVN URL wie Sie, und lief dann git pull, um mein Repo auf die neueste Version zu aktualisieren, fusionierte die neuen Dateien und konnte git push ohne Probleme ausführen.

Welchen Fehler hat Git geben, wenn es dich nicht schieben lassen würde? Bevor ich zog und fusionierte die neueste Version des Repo, meins sagte ! [rejected] master -> master (non-fast-forward), die im Grunde ist git's Art zu sagen "Ihre Version des Repo ist zu alt ... run git pull zuerst ..."

Verwandte Themen