specific - Compruebe si "git stash" escondiĆ³ algo
git stash stack overflow (4)
Tengo un script de comando de Windows diseñado para fusionar la rama dev en una rama de proyecto. Comienza leyendo el nombre de la rama actual, ocultando los cambios, recuperando y fusionando las ramas de desarrollo y proyecto, luego vuelve a la rama original y abre el alijo.
El problema es que puede que no haya ningún cambio al alijo. Esto deja el alijo anterior en la parte superior de la pila. Cuando llega al final de la secuencia de comandos y aparece el alijo, se abre el alijo anterior que no está relacionado con la rama actual.
Set SourceBranch=dev
Set ProjectBranch=project
:: Stash current changes.
For /F "tokens=1,2" %%a In (''Git branch -q'') Do If "%%a"=="*" Set CurrentBranch=%%b
Git stash save -u
:: Pull latest source branch.
Git checkout %SourceBranch%
Git pull
For /F "tokens=1,3" %%a In (''Git branch -q -v'') Do If "%%a"=="*" Set MergeHash=%%b
:: Merge source into project branch.
Git checkout %ProjectBranch%
Git pull
Git merge --commit %MergeHash%||Exit 1
:: Return to original branch.
Git checkout %CurrentBranch%
Git stash pop
¿Cómo puedo obtener comentarios de Git stash
o el Git status
para determinar si necesito abrir el alijo?
En Linux, puedes usar git stash list | wc -l
git stash list | wc -l
para contar el número de entradas ocultas. Si no había nada que esconder, esto devuelve lo mismo antes y después de tu git stash
real. No estoy seguro si puedes usar esto en Windows sin embargo.
Usted puede git diff
e inspeccionar la salida. Si no hay ninguno, entonces no hay nada que stash
. ¿Algún problema con esa estrategia?
git stash
permite proporcionar un mensaje. Puedes usar un token generado como tu mensaje para que sepas que no entrará en conflicto con otros mensajes ocultos de git.
Luego, cuando desee verificar si se abre o no, simplemente verifique si la salida de la git stash list
contiene su token. Si es así, revienta el alijo.
git stash list #get a listing of all stashes to parse
git stash show -p stash@{0} #replace 0 with number of relevant stash from list