Cómo cambiar el post pnetworkingeterminado de cometer git

He agregado algunos cambios en el post de confirmación en el file prepare-commit-msg y luego ejecuté este command

git config –global commit.template .git / hooks / prepare-commit-msg

Después de eso, cuando hago commit Git recibo algo como esto

40 líneas de mis cambios y luego

# Please enter the commit message for your changes. Lines starting # with '#' will be ignonetworking, and an empty message aborts the commit. # Explicit paths specified without -i nor -o; assuming --only paths... # On branch master # Changes to be committed: # # modified: test # 

¿Existe alguna posibilidad de mostrar este post pnetworkingeterminado en la parte superior? ¿O mejor eliminar permanentemente este post?

Parece que está mezclando la opción commit.template (que proporciona un valor pnetworkingeterminado para la opción --template a la git commit ) con el gancho prepare-commit-message .

Normalmente, git commit utiliza la siguiente secuencia de operaciones:

  1. Ejecute el enlace precompromiso, si existe y es ejecutable. Si sale distinto de cero, cancela la confirmación.
  2. Copie cualquier plantilla especificada o configurada (ver abajo) a un file temporal. Si no hay una plantilla o la ruta de la plantilla no es legible, comience con un file temporal vacío.
  3. Agregue las líneas # Please enter the commit message ... y el resultado del git status de git status .
  4. Ejecute el enlace prepare-commit-message , si existe y puede ejecutarse, en el file temporal.
  5. Abre tu editor en el file temporal. (Su editor está configurado desde $GIT_EDITOR , la configuration core.editor , $VISUAL , $EDITOR , o un pnetworkingeterminado incorporado, cualquiera que sea el primero establecido).
  6. Una vez que salga de su editor, realice la confirmación o detenga la confirmación, dependiendo de si ha proporcionado un post de confirmación.

Si usa las opciones -f o -m , los pasos 2, 3 y 5 normalmente se saltan (aunque puede forzar a git para que abra su editor agregando --edit ). Es de suponer que no has usado esas opciones.

Lo que hace la opción --template y, por lo tanto, lo que commit.template does-is proporciona es el nombre de ruta de un file que git commit copyrá en el paso 2. Esto no afecta las líneas agregadas en el paso 3. Mientras que la ruta .git/hooks/prepare-commit-message es (probablemente) un file que Git puede leer, no es un nombre muy sensato para su plantilla, ya que si esa misma ruta se hace ejecutable, el file se convertirá en ejecutable y el paso 4 probablemente se comportará mal.

Puedes decirle a git commit no haga el paso 3 agregando --no-status . (Además, como un efecto secundario algo extraño, --no-edit , que suprime explícitamente el paso 5, también suprime el paso 3.)

O bien, puede utilizar el paso 4 para eliminar parte o la totalidad de la salida de git status y # Please enter... post # Please enter... estándar. El gancho prepare-commit-message puede realizar cambios arbitrarios en el file de plantilla.

Tenga en count que --cleanup=<mode> afecta lo que termina en el post de confirmación final, y también el procesamiento del paso 6. Para más detalles, consulte la documentation de git commit .