Git Commits verändern (Git Rebase Interactive)

Hi zusammen,

ein wirklich cooles Feature, was git bietet ist ein Interaktiver Rebase.

Ich brauch das oft, wenn ich aus Versehen auf meinem Master-Branch entwickelt hab (der meiner Ansicht nach immer sauber sein sollte), hier viele Commits mach und diese dann in das globale Subversion Repo übeführen möchte.

Wenn ich mit GIT arbeite, dann mache ich unglaublich viele Commits, die teilweise ganz sicher nicht in das Subversion Repo und somit anderen Entwicklern zugänglich gemacht werden sollen.

Bevor ich den interaktiven Rebase für mich entdeckt hab, habe ich das immer so gemacht, dass ich einen Branch vom Master gezogen hab, auf dem eigentlichen Master alle Commits resettet und entfernt hab und anschliessend einen Squash-Commit vom zuvor gezogenen Branch gemacht hab. Völliger Blödsinn, das geht viel einfacher!!

Folgender Befehl macht genau dasselbe nur sauber und viel schneller. Will ich beispielsweise die letzten 3 Commits aus dem Master in einen einzigen Commit zusammenfassen, sieht das ungefähr so aus:

git rebase -i HEAD~5

Es öffnet sich der Default System Editor, der ungefähr so aussehen sollte:

Jetzt kann man für jeden einzelnen Commit festlegen, was mit diesem passieren sollte:

Default ist „pick“, das heisst einfach, der Commit bleibt bestehen.

Ändert man „pick“ in „squash“ wird der Commit mit seinem Vorgänger gesquasht. Die anderen Optionen sollten selbsterklärend sein.

Ich liebe Git;).


War dieser Blogeintrag für Sie interessant? Evtl. kann ich noch mehr für Sie tun.

Trainings & Know-How aus der Praxis zu

  • Apache Wicket 1.4.x, 1.5.x, 1.6.x
  • GIT – Best Practices, Einsatz, Methoden
  • Spring
  • Java
  • Scrum & Kanban
  • Agiles Arbeiten
Consulting & Softwareentwicklung

  • Requirements Engineering
  • Qualitätssicherung
  • Software-Entwicklung
  • Architektur
  • Scrum & Kanban
Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s