Git-Squash-Commits unter Beibehaltung der Informationen des Autors

Lesezeit: 2 Minuten

Mein Kollege (nennen wir ihn hier John) und ich arbeiten an einem Spielfilm. und unser funktionierender Zweig sehen wie folgt aus

--o--o--o # this is develop branch
   \   o--o--o # this is John's branch
    \ /       \
     o----o--o--o--o--o--o # this is our cowork branch
      \                 /
       o--o--o--o--o--o  # this is my branch

Wir haben unsere Arbeit abgeschlossen und sind bereit, unsere Mitarbeiter zusammenzuführen, um eine Branche zu entwickeln.

An diesem Punkt gibt es viele Commits im Cowork-Zweig, die von anderen Entwicklern nicht erwartet werden. Also möchte ich diese Commits in einem Commit zusammenfassen.

Aber nach dem Squashing (das Lösen einiger Konflikte) habe ich festgestellt, dass die Autoreninformationen alle direkt an mich gerichtet sind, es gibt keine Informationen von John.

Meine Frage hier ist also, ob es eine Möglichkeit gibt, sowohl Johns als auch meine Informationen beizubehalten, während diese Commits miteinander kombiniert werden?

  • Die Situation ist für mich etwas verwirrend. Es gibt tatsächlich zwei Sätze von Zusammenführungen, wenn ich mich nicht irre, eine, bei der Sie und John in die übergehen cowork Zweig, und eine zweite wo cowork wird zusammengeführt develop. Aus dem Kopf heraus könntest du rebasen cowork an develop und spulen Sie dann den letzten Zweig vor.

    – Tim Biegeleisen

    26. September 2016 um 10:22 Uhr


Benutzer-Avatar
Werden

Sie können so etwas erreichen, indem Sie verwenden Commit-Nachrichtenkonventionen. Die meisten Git-Clients unterstützen dies, einschließlich GitHub.

Fügen Sie insbesondere Folgendes am Ende Ihrer Commit-Nachricht hinzu:

Co-authored-by: John Smith <[email protected]>

Sie können mehrere Co-Autoren haben, indem Sie diese Zeile mehrmals einfügen.

Benutzer-Avatar
unrealistisch007

Um ehrlich zu sein, git fehlt die Funktion, mehrere Entwicklerinformationen zu einem einzigen Commit hinzuzufügen.

Es gibt jedoch einige Möglichkeiten, dies zu umgehen. Da Sie Ihre Änderungen vom Cowork-Zweig zum Entwicklungszweig zusammenführen, wird ein Merge-Commit erstellt, und vor dem Zusammenführen können Sie Folgendes tun:

git config user.name "Chris Wilson and John Smith"

Weitere Informationen zu Problemumgehungen für das Hinzufügen mehrerer Entwicklerinformationen zu einem einzelnen Commit finden Sie hier.

1186070cookie-checkGit-Squash-Commits unter Beibehaltung der Informationen des Autors

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy