¿Cómo ejecuto varios comandos git en un archivo por lotes sin terminar después del primer comando?

Traté de poner una serie de comandos GIT que siempre uso continuamente juntos como archivos por lotes para no repetirme demasiado. Por ejemplo, tengo este archivo por lotes llamadoupdate_repo_branch.bat para actualizar un repositorio local y sincronizar una rama con la rama remota:

@ echo off
if (% 1) == () goto end
if (% 2) == () goto end
cd% 1
git checkout% 2
git fetch origin
git merge oring /% 2
:fi

Bueno ser perezoso, pero lo que encontré es que cuando finaliza un comando GIT, parece enviar una bandera de salida para terminar lo que se está ejecutando. Por lo tanto, usar un archivo por lotes para ejecutarlos de una vez simplemente no funciona. ¿Alguna idea de cómo solucionarlo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta