¿Cómo puedo eliminar todas mis reservas de Git a la vez?
Específicamente quiero decir, con escribir en un comando.
¿Cómo puedo eliminar todas mis reservas de Git a la vez?
Específicamente quiero decir, con escribir en un comando.
Respuestas:
El siguiente comando elimina todas sus reservas:
git stash clear
De la documentación de git :
clear
Elimina todos los estados escondidos.
ADVERTENCIA IMPORTANTE: esos estados estarán sujetos a poda y pueden ser imposibles de recuperar (...).
stash drop
(" Retirar un solo estado escondido de la lista alijo Cuando no se da ninguna <alijo>, elimina el último de ellos (...).. ') no responde a la pregunta (' ¿Cómo puedo borrar todo de mi Git se esconde a la vez? ")?
git stash clear
, para confirmar si todo está despejado, use -git stash list
git
es prácticamente imposible de encontrar! git-scm.com/docs/git-stash
git help <command>
es la mejor manera de obtener documentación (y, en realidad, es bastante buena). En este caso, git help stash
demuestre claramente que lo git stash clear
hace (esto no me impidió llegar a SO primero y votar la respuesta ... pero eso le dice más sobre mí que git
: D)
Hay dos formas de eliminar un alijo:
$ git stash drop <stash_id>
.$ git stash clear
.Use ambos con precaución, tal vez sea difícil revertir las reservas una vez eliminadas.
Aquí está el artículo de referencia .
Este comando le permite ver todos los cambios escondidos.
git stash list
Aquí está el siguiente comando, úselo para borrar todos sus cambios escondidos
git stash clear
Ahora, si desea eliminar uno de los cambios escondidos del área oculta
git stash drop stash@{index} // here index will be shown after getting stash list.
Nota: le
git stash list
permite obtener el índice del área oculta de git.
git stash drop 'stash@{index}'
, con apóstrofes.
Quería mantener algunas reservas recientes, pero eliminar todo lo demás.
Debido a que todos los escondites se vuelven a numerar cuando sueltas uno, esto es realmente fácil de hacer con while. Para eliminar todas las reservas anteriores a stash @ {19}:
while git stash drop 'stash@{20}'; do true; done
git stash pop 3
lugar? Quería saber si podemos usar el while
bucle y soltar escondites usando valores de índice.
Tenía otro requisito, ya que solo se deben eliminar algunos escondites, el código a continuación sería útil en ese caso.
#!/bin/sh
for i in `seq 5 8`
do
git stash drop stash@{$i}
done
/ * eliminará de 5 a 8 índices * /
for iterator in `seq 5 8`; git stash drop stash@{$iterator}; done
for i in `seq 4`; do git stash drop 'stash@{5}'; done
do
si desea eliminar el último alijo o en cualquier índice particular ,
git stash drop type_your_index
> git stash list
stash@{0}: abc
stash@{1}: xyz
stash@{1}: pqr
> git stash drop 0
Dropped refs/stash@{0}
> git stash list
stash@{0}: xyz
stash@{1}: pqr
si quieres eliminar todo el alijo de una vez ,
> git stash clear
>
> git stash list
>
Advertencia : una vez hecho esto, no puedes revertir tu alijo
Para eliminar todas las reservas de más de 40 días, use:
git reflog expire --expire-unreachable=40.days refs/stash
Agregar --dry-run
para ver qué escondites se eliminan.
Consulte https://stackoverflow.com/a/44829516/946850 para obtener una explicación y muchos más detalles.