Neuer Git-Benutzer hier. Ich möchte Git verwenden, aber ich bin in einer SVN-Umgebung. Nach einigen Büchern, die ich gelesen habe, und einigen einfachen Experimenten bin ich auf einige problematische Fallstricke gestoßen und hoffe, dass ich Klarheit darüber bekomme, wie ich anfangen kann, ohne dass meine Kollegen mich umbringen wollen.
Ich möchte, dass mein Arbeitsablauf so aussieht:
-
einen Master-Git-Zweig, der mit dem Stamm von svn Schritt hält.
-
lokale Git-Zweige, in denen ich meine Arbeit an Funktionen und Fehlern erledige.
-
Ich möchte die Funktionszweige regelmäßig auf den Stand von Master bringen.
-
Wenn ich fertig bin, möchte ich einen Feature-Zweig mit Master zusammenführen und diesen zurück an svn übergeben.
Ist dies ein typischer Arbeitsablauf?
Ursprünglich habe ich git merge verwendet, um meinen Master-Zweig und die Feature-Zweige zusammenzuführen. Das führte zu allen möglichen Konflikten und Problemen. Später habe ich gelesen, dass ich git merge ganz vermeiden und bei git rebase bleiben sollte. Wären dann die folgenden Git-Befehle richtig?
- git svn rebase (um die letzten Änderungen nach master zu übertragen)
- git checkout -b myAwesomeFeature (um einen Feature-Zweig zu erstellen, an dem man arbeiten kann)
- ... Arbeit erledigen, Übertragungen an meinen Funktionszweig vornehmen
- <<< DIE ZEIT VERGEHT >>>
- git checkout master
- git svn rebase (um neues Material herunterzuladen)
- git checkout myAwesomeFeature
- git rebase master (um das Material von svn trunk in meinen Funktionszweig zu übernehmen)
- <<< BEREIT, MEINEN FUNKTIONSZWEIG ZU PUSHEN >>>
- git checkout master
- git rebase myAwesomeFeature (um den Master-Kopf vorzuspulen, damit ich mein Feature-Zeug reinbekomme)
- git svn dcommit (zur endgültigen Veröffentlichung)
Für jeden Ratschlag oder Vorschlag, der einem angehenden Git-Benutzer hilft, in einer svn-Welt zu leben, wäre ich sehr dankbar. Danke