Frage

Wir haben 2-3 kleine Teams von 2-3 Personen. Wir alle benutzen git für lokale und SVN für zentrales Repository und git-svn bekam sync. Dies funktioniert die ganze Zeit, außer wenn wir wollen, dass unser Code zwischen dem Team es selbst teilen.

So wir aus git pull versucht haben, schafft dies eine Menge Konflikte und es erkennt nicht, dass wir auf dem gleichen Baum sind. Es holt sich alle Änderungen (wie bei Klon dann pull) Natürlich nicht, daß ich voll Repo klonen möchten. jedes Mal, wenn ich will teilen.

Bitte legen nahe, einen besseren Fluss.

  1. Wir können nicht von zentralen Svn loszuwerden.
  2. Wir können nicht jedes Mal klonen.
War es hilfreich?

Lösung

Nominate ein Teammitglied als ‚git Hub‘, er / sie Synchronisierungen mit dem SVN-Server, anderen Teammitglieder mit ihnen interagieren, anstatt dem SVN-Server direkt. Auf diese Weise git wird wissen, dass alle Teammitglieder auf dem gleichen Baum sind.

Andere Tipps

SubGit scheint wie eine gute Alternative für Sie.

SubGit ist serverseitige Lösung, ermöglicht es Git Zugriff auf Subversion-Repository und vice versa. Das heißt Sie können mit Git-Repository nur dann funktionieren, mit Git-Client Ihrer Wahl.

Sie müssen einmal SubGit in Ihre Subversion-Repository installieren. Danach SubGit sofort übersetzt SVN-Revision in git auf jedem svn commit begehen und in SVN-Revision auf jedem git push begehen Git.

ist SubGit Closed-Source-Software, aber es ist für Open-Source-Projekte. Weitere Informationen finden Sie unter SubGit documenation .

Um zu Chris Huang-Leaver Antwort hinzufügen möchten, benötigen Sie einen zentralen Punkt zu dcommit / rebase mit dem SVN-Repo.
Das ist nicht die „dezentralen“ Aspekt von Git stellt nicht in Abrede, ermöglicht es einfach jeder Arbeit mit, als einer ihrer entfernten Repositories, eine „zentrale“ Repo-Referenzgröße (das heißt, die eine Synchronisierung mit SVN)

Es gibt keine einfache Möglichkeit, die Belastung für Klon alles aus Richtung der (potentiell sehr groß) SVN-Repo zu vermeiden, da die resultierenden Git Repo spaltete sich in Submodule nicht sein kann.
Das Blatt zumindest ein „Lösung“, die würden bedeuten:

  • verschiedene Git neben dem Haupt einer Erstellung (die synchron mit SVN)
  • Patches aus dem Haupt-Repo-Export
  • die Patches zu jedem Git Anwendung Repo um ein Projekt innerhalb der Haupt-Git-Repo darstellt.

Es muss natürlich automatisiert werden, aber ein Team würde sich auf ein jener git repos als „zentrale“ Repo, und die Person, die für SVN Synchronisation würde diese kleineren Git repos aktualisieren mit Patches aus dem Haupt-Repo (und versteckt) Git <=> SVN kommen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top