Ich nutze git schon einige Zeit, aber nur lokal, alleine und rudimentär. Selbst branch nutze ich nicht, obwoh ich weiß, wie man damit umgehen müsste. Soviel zu meinem Stand.
Da ich mein aktuelles Projekt demnächst auch publiziere (vorrausschichtlich auf Codeberg ehm. TeaHub), möchte ich als Maintainer dann natürlich auch besser mit git und zusätzlichen Entwickeln umgehen können.
Ich versuche meine Commits atomar zu halten. Ich implementiere ein neues Feature (im kleinsten Sinne!) in einem Commit. Während dessen entdecke ich aber hin und wieder einen Bug. Das Feature kann nur fertig implementiert werden wenn ich vorher den Bug fixe. Der Bugfix ist aber eigentlich atomar zu behandeln und müsste in einem eigenen commit geschehen.
Mangels Wissen, mache ich dann doch beides in einem commit fertig - fixe also den bug und implementiere dann das Feature fertig.
Ich habe also bereits nicht-commitede Änderungen (Nennt man das staging? Oder was wäre der Fachausdruck dafür?). Wie kann ich den Bug fixen, ohne die Änderungen (die ja zum Feature gehören) zu verlieren?
Der Einfachheit kann dazu angenommen werden:
- Feature und Bug befindet sich in ein und der selben Datei.
- Der Bugfix besteht nur aus dem Ändern einer einzigen Zeile, die nicht mit dem Feature conflicted.