tipos tag remove qué notes existen etiquetas crear commits windows git batch-file cmd

windows - tag - Fuera de una consola git: ¿cómo ejecuto un archivo por lotes y luego regreso a la consola git?



tipos de etiquetas en git (4)

Tengo un pequeño script de utilidad llamado clear.bat que hace un trabajo de limpieza en mis fuentes.

Es un archivo .bat para poder hacer doble clic fácilmente en el Explorador de Windows.

A veces, me resulta más útil ejecutarlo desde mi Git bash (msysgit, si esto importa).

Para hacer esto, escribo

cmd clear.bat exit

cmd convierte mi Git bash en una ventana de cmd normal donde podría ejecutar fácilmente mi lote. Cuando escribo exit , el entorno de cmd se termina y estoy de vuelta en mi Git bash.

¿Podría esto lograrse de una manera más fácil?

Intenté cmd /C clean.bat ya que los documentos dicen

Syntax CMD [charset] [options] CMD [charset] [options] [/c Command] CMD [charset] [options] [/k Command] Options /C Run Command and then terminate /K Run Command and then return to the CMD prompt. This is useful for testing, to examine variables

Editar:
Me acabo de dar cuenta de que la publicación está rota.

Lo que quiero es ejecutar clean.bat desde dentro de Git bash sin tener que escribir los tres comandos anteriores ( cmd , clear.bat , exit ). Solo quiero ejecutar el archivo .bat desde dentro de mi Git bash. La manera obvia sería crear un archivo .sh separado que haga el mismo trabajo, pero esto dará lugar a un código doble.

Editar 2: Cuando ejecuto cmd /C clean.bat , el Git bash se convierte en un entorno CMD simple y solo muestra el mensaje. El archivo clean.bat no se ejecuta. Es lo mismo que si simplemente cmd .

Además, agregar un /debug hace literalmente nada. Parece que solo se evalúa cmd y todos los demás parámetros se ignoran.


Después de jugar un poco más, encontré la solución yo mismo:

cmd "/C clean.bat"

Hace el truco. Pero no tengo ni idea, ¿por qué ...


El Git para Windows (msysGit ha sido reemplazado por Git para Windows 1 ) Las FAQ dicen que tienes 3 opciones:

  • Ejecute programas que tengan problemas al usar la utilidad winpty . Esto le permite seguir usando el terminal más bonito de mintty, pero puede volverse difícil de manejar si necesita la solución alternativa para muchos programas.

  • Modifique el acceso directo de Git Bash para ejecutar bash directamente sin mintty modo que use el host de la consola predeterminado y configúrelo para "Edición rápida", tamaño razonable y retroceso y fuente Unicode adecuada. Aún tendrá que vivir con los otros caprichos del host de la consola.

  • Instalar y usar ConEmu .


Me gusta start clean , abre una nueva ventana con cmd. Este método tiene algunos beneficios:

  • cmd.exe obtiene una consola nativa
  • la nueva consola tiene una codificación de caracteres nativa de Windows (por ejemplo, cp1251 vs utf8)

./clear.bat hará el truco.