Skip to content

Latest commit

 

History

History
110 lines (78 loc) · 6.57 KB

CONTRIBUTING.md

File metadata and controls

110 lines (78 loc) · 6.57 KB

Como contribuir al proyecto

Tabla de Contenidos

Código de conducta

El "Código de Conducta Convenido Para Contribuyentes" es una adaptación del "Contributor Covenant", versión 1.4, su contenido completo puede consultarse en el fichero: CODE_OF_CONDUCT.md.

Gestión colaborativa del proyecto

Flujo de trabajo para los contribuyentes

  • Asignarse alguno de los issues abiertos del proyecto o generar uno nuevo y subscribirse.

  • Obtener una versión actualizada del código del proyecto clonando (clone) el repositorio principal:

    git clone https://github.com/Arquisoft/InciManager_e3b.git
    
  • Activar (checkout) y crear una rama puntual (topic branch) utilizando por ejemplo el nombre del desarrollador o del issue correspondiente:

    git checkout -b topic-branch master
    
  • Hacer la modificaciones necesarias (crear, editar, renombrar, mover o borrar ficheros) dentro del directorio de trabajo de la rama local.

  • Confirmar (commit) cuantos cambios sean necesarios utilizando el formato de mensajes acordado.

    git commit -a -m 'Añade fichero README.md'
    
  • Regularmente hacer el seguimiento (pull) de la rama principal (master) fusionando (merge) cualquier novedad en la rama puntual y resolviendo cualquier conflicto que pueda surgir en el proceso:

    git checkout master
    git pull 
    git checkout topic-branch 
    git merge origin/master
    git status
    
  • Completadas las modificaciones necesarias, publicar (push) el contenido de la rama local como rama remota (remote branch) en el repositorio principal.

    git checkout topic-branch
    git push --set-upstream origin topic-branch
    
  • Una vez resueltos todos los conflictos, realizar una solicitud de incorporación (Pull Request) del contenido de la rama puntual en la rama principal.

  • En ausencia de objeciones por parte de otros contribuidores, resolver la solicitud de incorporación uno mismo, fusionandolas directamente o reorganizando (rebase) la secuencia de actualizaciones como considere oportuno.

  • De forma opcional y una vez fusionada en la rama principal, es posible borrar (delete) la rama puntual.

    git push origin --delete topic-branch
    
  • Añadir un nuevo comentario en el issue correspondiente o cerrarlo definitivamente.

  • Durante el proceso notificar cualquier novedad a través del canal Gitter del proyecto.

Formato mensajes de confirmación

Extracto de los cambios en 50 caracteres o menos

Texto explicativo más detallado, solo si es necesario. La línea en 
blanco que separa el asunto del resto del texto es crucial (a no ser 
que omitas el cuerpo y el mensaje solo tenga asunto); algunas 
herramientas pueden mostrar información alterada si omites la línea en
blanco de separación.

También se pueden añadir más párrafos, separados igualmente por una 
línea en blanco.

- Se pueden añadir listas
- Para las listas se usan guiones o asteriscos (como en Markdown)

En el pie, se pueden poner referencias a los ids de los issue trackers,
por ejemplo:

Resolves: #123
See also: #456, #789

Asunto

  • Tiene como objeto resumir en una única linea el motivo de la actualización.
  • Debe comenzar con letra mayúscula y terminar sin punto.
  • No debe exceder de los 50 caracteres.
  • Debe estar escrito en tiempo verbal imperativo, ej: "Merge branch 'topic-branch'". Como truco deberia poder concatenarse una frase antes del asunto y mantener el sentido original: "If applied, this commit will Merge branch 'topic-branch'".

Cuerpo

  • Tiene como objeto definir el qué y el por qué del problema que resuelve el "commit". El cómo ya esta incluido en el propio código de la actualización.
  • Si el contenido y contexto del "commit" se puede explicar en el asunto, no es necesario incluir un cuerpo.
  • De incluirlo es necesario separarlo del asunto con una línea en blanco entre ambos.
  • Tiene la estructura normal de varios parrafos, incluyendo frases terminadas con punto y la capacidad de incluir listas.
  • El ancho de linea no debe exceder de los 72 caracteres.

Pie

  • Opcional, tiene como objeto incluir referencias a los issues afectados o relacionados.