tipos tag remove practices etiquetas crear best git svn version-control bazaar

remove - git tag best practices



¿Cómo atribuir un único compromiso a múltiples desarrolladores? (8)

Agregamos nuestros nombres a cada mensaje de confirmación al final como una convención, por ejemplo: Implemented cool feature <Aneesh | Hiren> Implemented cool feature <Aneesh | Hiren>

La forma en que funcionan todos los sistemas de control de versiones con los que estoy familiarizado es que cada compromiso se atribuye a un único desarrollador. El auge de Agile Engineering, y específicamente la programación de pares, ha llevado a una situación en la que dos desarrolladores han hecho una contribución significativa a la misma tarea, una corrección de errores, por ejemplo.

El tema de la atribución no será demasiado importante en un entorno de trabajo, ya que el director del proyecto estará al tanto del trabajo que están haciendo los pares, pero ¿qué pasa si dos contribuidores de código abierto deciden unirse y extraer algún código? a un proyecto en particular que no tiene idea de que están trabajando juntos. ¿Hay alguna manera de que un sistema de control de versiones como Git pueda atribuir un parche en particular a múltiples desarrolladores?


Alternativamente, hay un proyecto de código abierto en GitHub que proporciona una buena forma de hacerlo desde la línea de comando. Este proyecto te ayuda a establecer un alias para crear confirmaciones co-autorizadas de la siguiente manera:

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

Al usar este enfoque, puede crear confirmaciones de coautoría sin una interfaz gráfica.


Creo que a git le falta esa característica. Sin embargo, git distingue entre el author un commit y el committer [1]. Puede usarlo como una solución alternativa, por ejemplo, firme usted mismo como el autor y su coautor como author :

GIT_COMMITTER_NAME=''a'' GIT_COMMITTER_EMAIL=''a@a'' git commit --author ''b <b@b>''

De esta forma, tanto usted como su coautor serán registrados en el historial de git. Ejecutar git log --format=fuller , le dará algo como:

commit 22ef837878854ca2ecda72428834fcbcad6043a2 Author: b <b@b> AuthorDate: Tue Apr 12 06:53:41 2016 +0100 Commit: a <a@a> CommitDate: Tue Apr 12 09:18:53 2016 +0000 Test commit.

[1] ¿ Diferencia entre autor y committer en Git?


Para Bazar:

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

Esos nombres se mostrarán en el registro por separado del nombre del committer.


Una convención de git es usar Co-Authored-By al final del mensaje de confirmación ( git kernel: Commit Message Conventions , refiriéndose a Openstack Commit Messages ). Esta es también una de las soluciones en el error de git-core vinculado en la respuesta de Gerry

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

En ese comentario del 5 de mayo de 2010, Josh Triplett también sugiere implementar el soporte correspondiente en git.

Como señaló Llopis en un comentario, GitHub anunció su apoyo en su blog el 29 de enero de 2018: Comprometerse con los coautores ( details ).



Pruebe git-mob , lo construimos para atribuir co-authors en commits.

P.ej

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


git-pair

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

Este sencillo script de Pivotal para automatizar la atribución de programación de pares de Git.

Usted crea un archivo .pairs como:

# .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

y entonces:

git pair sp js

conjuntos:

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

para ti.