Pregunta Agregue salto de línea a 'git commit -m' desde la línea de comando


Estoy usando Git desde la línea de comandos y estoy tratando de agregar un salto de línea al mensaje de confirmación (usando git commit -m "") sin entrar en Vim.

es posible?


536
2018-02-21 10:02


origen


Respuestas:


Ciertamente, cómo se hace depende de tu caparazón. En Bash, puede usar comillas simples alrededor del mensaje y puede dejar la cita abierta, lo que hará que Bash solicite otra línea, hasta que cierre la cita. Me gusta esto:

git commit -m 'Message
goes
here'

Alternativamente, puede usar un "documento aquí":

git commit -F- <<EOF
Message
goes
here
EOF

467
2018-02-21 10:12



Usando Git desde la línea de comando con Bash puedes hacer lo siguiente:

git commit -m "this is
> a line
> with new lines
> maybe"

Simplemente escriba y presione Entrar cuando quiere una nueva línea, el símbolo ">" significa que ha presionado Entrary hay una nueva línea Otras respuestas funcionan también.


349
2018-02-16 03:27



Si solo quieres, por ejemplo, una línea de cabeza y una línea de contenido, puedes usar:

git commit -m "My head line" -m "My content line."

337
2018-02-21 19:46



Deberías poder usar

git commit -m $'first line\nsecond line'

Desde el Manual Bash:

Palabras de la forma $ 'cuerda'son tratados especialmente. La palabra se expande a    cuerda, con caracteres de barra invertida escapó reemplazados según lo especificado por el   Estándar ANSI C.

Esto incluye soporte para líneas nuevas como se muestra arriba, más códigos hexadecimales y Unicode y otros. Vaya a la sección vinculada para ver una lista de los caracteres escapados de la barra invertida.


84
2018-02-21 11:28



Agregar saltos de línea a su compromiso de Git

Intente lo siguiente para crear un mensaje de confirmación de líneas múltiples:

git commit -m "Demonstrate multi-line commit message in Powershell" -m "Add a title to your commit after -m enclosed in quotes,
then add the body of your comment after a second -m.
Press ENTER before closing the quotes to add a line break.
Repeat as needed.
Then close the quotes and hit ENTER twice to apply the commit."

Luego verifica lo que has hecho:

git log -1

Deberías terminar con algo como esto:

Multi-line Git commit message in PowerShell

La captura de pantalla es de un ejemplo que configuré usando PowerShell con Poshgit.


78
2018-01-10 17:11



Haciendo algo como

git commit -m"test\ntest"

no funciona, pero algo como

git commit -m"$(echo -e "test\ntest")"

funciona, pero no es muy bonito Usted configura un git-commitlb comando en su PATH que hace algo como esto:

#!/bin/bash

message=$1

git commit -m"$(echo -e "$message")"

Y úsalo así:

git commitlb "line1\nline2\nline3"

Palabra de advertencia, tengo la sensación de que la convención general es tener una línea de resumen como la primera línea, y luego dos saltos de línea, y luego un mensaje extendido en el mensaje de compromiso, por lo que hacer algo como esto rompería esa convención. Por supuesto, podrías:

git commitlb "line1\n\nline2\nline3"

37
2018-02-21 10:22



Uso zsh en una Mac, y puedo publicar mensajes de confirmación de varias líneas con comillas dobles ("). Básicamente sigo escribiendo y presiono return para buscar nuevas líneas, pero el mensaje no se envía a Git hasta que cierro las comillas y regreso .


18
2018-02-21 10:16



Espero que esto no conduzca demasiado lejos de la pregunta publicada, pero configurando el editor por defecto y luego usando

git commit -e

podría ser mucho más cómodo.


18
2017-12-08 12:49