it-swarm.com.de

Wie kann ein einzelnes Commit mehreren Entwicklern zugeordnet werden?

Die Art und Weise alle Versionskontrollsysteme ich mit der Arbeit vertraut bin, ist, dass jeder begehen ist auf einen einzelnen Entwickler zugeschrieben. Der Aufstieg von Agile Engineering und speziell Paar Programmierung, hat zu einer Situation führen, in dem zwei Entwickler einen wesentlichen Beitrag zur gleichen Aufgabe gemacht haben, ein Bug-Fix zum Beispiel.

Die Frage der Zuschreibung wird nicht allzu viel von einem großen Deal in einer Arbeitsumgebung, da der Projektmanager kennt die Arbeit wird die Paare tun, aber was ist, wenn zwei Open-Source-Beitrag entscheiden zu paaren und einige Codes herausschieben zu einem bestimmten Projekt, das keine Ahnung, sie arbeiten zusammen hat. Gibt es eine Möglichkeit für ein Versionskontrollsystem wie Git einen bestimmten Patch mehr Entwickler zuzuschreiben?

84
user360907
Commit title

Commit body

Co-Authored-By: name <[email protected]>
Co-Authored-By: name <[email protected]>

Ein Problem bei diesem Ansatz ist, dass Sie nicht einen signierten Schlüssel für diese Gruppe von Devs erstellen können, so dass Sie im Wesentlichen jemand zu dieser Liste hinzufügen könnte, selbst wenn sie nicht auf ein Feature nicht funktioniert und Github behandeln würde es, als ob sie es taten. Dies sollte jedoch in den meisten Fällen kein Problem sein.

z.B. Co-Authored-By: Linus Torvalds <[email protected]>

Bei normalen Autoren oder Signierung Gruppen (die alte Methode) würden Sie es nicht unterzeichnet sehen und wissen, dass Sie nicht der Commit vertrauen können. Allerdings gibt es keine Signierung auf Co-Autoren.


Meist veraltete Antwort:

Eine Lösung wäre, einen Namen für das Paar zu setzen:

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

Hier ist ein verwandter Bug-Report mit anderen temporären Lösungen:

Bug git-core: Git sollte mehrere Autoren Unterstützung für eine Festschreibung

33
Gerry

Eine Git-Konvention ist die Verwendung von Co-Authored-By am Ende der Commit-Nachricht ( Git-Kernel: Commit Message Conventions Bezug nehmend auf Openstack Commit Messages ). Dies ist auch eine der Lösungen auf dem Git-Core-Bug in Gerrys Antwort verlinkt

Co-authored-by: Some One <[email protected]>

In diesem Kommentar vom 5. Mai 2010 schlägt Josh Triplett auch vor, eine entsprechende Unterstützung in Git zu implementieren.

Wie Llopis in einem Kommentar betonte, kündigte GitHub dies in seinem Blog am 29. Januar 2018 an: Gemeinsam mit Co-Autoren festlegen ( Details =).

62
Kariem

Für Basar:

bzr commit --author Joe --author Alice --author Bob

Diese Namen werden im Protokoll getrennt vom Committernamen angezeigt.

24
bialix

GIT-Paar

https://github.com/pivotal/git_scripts#git-pair

Dieses einfache Skript von Pivotal zu Git Paar Programmierung Zuschreibung zu automatisieren.

Sie erstellen ein .pairs Datei wie:

# .pairs - configuration for 'git pair'
pairs:
  # <initials>: <Firstname> <Lastname>[; <email-id>]
  eh: Edward Hieatt
  js: Josh Susser; jsusser
  sf: Serguei Filimonov; serguei
email:
  prefix: pair
  domain: pivotallabs.com
  # no_solo_prefix: true
#global: true

und dann:

git pair sp js

setzt:

user.name=Josh Susser & Sam Pierson
[email protected]

für Sie.

git unterscheidet zwischen einem Commit des author und committer [1]. Man könnte es als Behelfslösung verwenden, z.B. melden Sie sich als committer und Ihr Co-Autor als author:

GIT_COMMITTER_NAME='a' GIT_COMMITTER_EMAIL='[email protected]' git commit --author 'b <[email protected]>'

Auf diese Weise, Sie und Ihr Co-Autor wird in der git Geschichte aufgezeichnet werden. Laufen git log --format=fuller, Geben Sie so etwas wie:

commit 22ef837878854ca2ecda72428834fcbcad6043a2
Author:     b <[email protected]>
AuthorDate: Tue Apr 12 06:53:41 2016 +0100
Commit:     a <[email protected]>
CommitDate: Tue Apr 12 09:18:53 2016 +0000

    Test commit.

[1] nterschied zwischen Autor und Committer in Git?

13
Jakub Kukul

Wir fügen unsere Namen zu jedem Commit-Nachricht am Ende als Konvention zB: Implemented cool feature <Aneesh | Hiren>

2
Aneesh

Try git-mob , wir haben es erstellt, um Co-Autoren auf Commits zurückzuführen.

Z.B.

git mob <initials of co-authors>
git commit
git solo
2
Dennis

Alternativ gibt es ein Open Source-Projekt auf GitHub, das eine gute Möglichkeit bietet, dies über die Befehlszeile zu tun. Dieses Projekt hilft Ihnen, einen Alias ​​zu setzen, um Co-AUTORED Commits zu erstellen, wie folgt:

$ git co-commit -m "Commit message" --co "co-author <co-author-email>"

Mit diesem Ansatz können Sie Co-Autor verpflichtet, ohne eine grafische Oberfläche erstellen.

2