La forma en que funcionan todos los sistemas de control de versiones con los que estoy familiarizado es que cada confirmación se atribuye a un solo desarrollador. El auge de la ingeniería ágil, 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, por ejemplo, una corrección de errores.
El tema de la atribución no será un gran problema 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 contribuyentes de código abierto deciden emparejarse y sacar algún código? a un proyecto en particular que no tiene idea de que están trabajando juntos. ¿Hay alguna forma de que un sistema de control de versiones como Git atribuya un parche en particular a varios desarrolladores?
fuente
Respuestas:
Un problema con este enfoque es que no puede crear una clave firmada para este grupo de desarrolladores, por lo que esencialmente podría agregar a cualquier persona a esta lista incluso si no funcionó en una función y Github la trataría como si lo hiciera. Sin embargo, esto no debería ser un problema en la mayoría de los casos.
p.ej
Co-authored-by: Linus Torvalds <[email protected]>
Con autores normales o grupos de firmas (el método anterior), verá que no está firmado y sabrá que no puede confiar en la confirmación. Sin embargo, no existe un proceso de firma de coautores.
Respuesta principalmente desactualizada:
Una solución sería establecer un nombre para el par:
Aquí hay un informe de error relacionado con otras soluciones temporales:
Error git-core: Git debería admitir varios autores para una confirmación
fuente
git show <COMMIT_ID> --format=email
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 sobre el error de git-core vinculado en la respuesta de Gerry
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ó el apoyo para esto en su blog el 29 de enero de 2018: Comprometerse junto con los coautores ( detalles ).
fuente
Para Bazar:
Esos nombres se mostrarán en el registro por separado del nombre del confirmador.
fuente
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.
Creas un
.pairs
archivo como:y entonces:
conjuntos:
para ti.
fuente
git distingue entre una confirmación
author
ycommitter
[1]. Puede usarlo como una solución alternativa, por ejemplo, firme usted mismo como elcommitter
y su coautor como elauthor
:De esta manera, tanto usted como su coautor quedarán registrados en el historial de git. Correr
git log --format=fuller
, te dará algo como:[1] ¿ Diferencia entre autor y confirmador en Git?
fuente
Alternativamente, hay un proyecto de código abierto , del cual soy colaborador, en GitHub que proporciona una buena manera de hacerlo desde la línea de comandos. Este proyecto te ayuda a establecer un alias para crear confirmaciones coautorizadas de la siguiente manera:
$ git co-commit -m "Commit message" --co "co-author <co-author-email>"
Con este enfoque, puede crear confirmaciones de coautoría sin una interfaz gráfica.
fuente
Agregamos nuestros nombres a cada mensaje de confirmación al final como una convención, por ejemplo:
Implemented cool feature <Aneesh | Hiren>
fuente
Co-Authored-By
que mencioné en una respuesta separadaPrueba git-mob , lo creamos para atribuir coautores en confirmaciones.
P.ej
fuente
La mayoría de las herramientas de coautoría no admiten el autocompletado. Puedes probar git-coco , está escrito en python3 (soy el desarrollador).
git-coco
admite autocompletar y auto-sugerencia. Aquí hay una instantánea de autocompletar en autores de muestrafuente