En el momento, cuando ejecuto git status
, obtengo
modified: loanwolf/alerts/locale/fr/LC_MESSAGES/django.mo modified: loanwolf/alerts/locale/fr/LC_MESSAGES/django.po modified: loanwolf/clientspace/locale/fr/LC_MESSAGES/django.mo modified: loanwolf/clientspace/locale/fr/LC_MESSAGES/django.po modified: loanwolf/configurations/locale/fr/LC_MESSAGES/django.mo modified: loanwolf/configurations/locale/fr/LC_MESSAGES/django.po modified: loanwolf/contracts/locale/fr/LC_MESSAGES/django.mo modified: loanwolf/contracts/locale/fr/LC_MESSAGES/django.po modified: loanwolf/contrib/locale/fr/LC_MESSAGES/django.mo modified: loanwolf/contrib/locale/fr/LC_MESSAGES/django.po modified: loanwolf/core/locale/fr/LC_MESSAGES/django.mo modified: loanwolf/core/locale/fr/LC_MESSAGES/django.po modified: loanwolf/core/templatetags/locale/fr/LC_MESSAGES/django.mo modified: loanwolf/core/templatetags/locale/fr/LC_MESSAGES/django.po modified: loanwolf/customers/locale/fr/LC_MESSAGES/django.mo modified: loanwolf/customers/locale/fr/LC_MESSAGES/django.po modified: loanwolf/customers/models.py modified: loanwolf/dashboard/locale/fr/LC_MESSAGES/django.mo modified: loanwolf/dashboard/locale/fr/LC_MESSAGES/django.po modified: loanwolf/documents/locale/fr/LC_MESSAGES/django.mo modified: loanwolf/documents/locale/fr/LC_MESSAGES/django.po modified: loanwolf/employees/locale/fr/LC_MESSAGES/django.mo modified: loanwolf/employees/locale/fr/LC_MESSAGES/django.po modified: loanwolf/equifax_report/locale/fr/LC_MESSAGES/django.mo modified: loanwolf/equifax_report/locale/fr/LC_MESSAGES/django.po modified: loanwolf/loans/locale/fr/LC_MESSAGES/django.mo modified: loanwolf/loans/locale/fr/LC_MESSAGES/django.po modified: loanwolf/messaging/locale/fr/LC_MESSAGES/django.mo modified: loanwolf/messaging/locale/fr/LC_MESSAGES/django.po modified: loanwolf/notes/locale/fr/LC_MESSAGES/django.mo modified: loanwolf/notes/locale/fr/LC_MESSAGES/django.po modified: loanwolf/operations/locale/fr/LC_MESSAGES/django.mo modified: loanwolf/operations/locale/fr/LC_MESSAGES/django.po modified: loanwolf/perception/locale/fr/LC_MESSAGES/django.mo modified: loanwolf/perception/locale/fr/LC_MESSAGES/django.po modified: loanwolf/products/locale/fr/LC_MESSAGES/django.mo modified: loanwolf/products/locale/fr/LC_MESSAGES/django.po modified: loanwolf/requests/locale/fr/LC_MESSAGES/django.mo modified: loanwolf/requests/locale/fr/LC_MESSAGES/django.po modified: loanwolf/requests/models.py modified: loanwolf/statistics/locale/fr/LC_MESSAGES/django.mo modified: loanwolf/statistics/locale/fr/LC_MESSAGES/django.po modified: loanwolf/users/locale/fr/LC_MESSAGES/django.mo modified: loanwolf/users/locale/fr/LC_MESSAGES/django.po
Quiero limpiar la salida para eliminar modified:
y los archivos
loanwolf/requests/models.py loanwolf/customers/models.py loanwolf/requests/locale/fr/LC_MESSAGES/django.po
De hecho, quiero conservar todo el archivo excepto los tres últimos. ¿Cómo puedo hacer eso?
Por el momento, creo que podría hacer git status | grep -v "request"
. Quiero git checkout
todos los archivos excepto esos tres archivos.
git status | grep "modified:" | awk "{print $2}" | xargs git [diff|add|checkout]
????
Comentarios
- ¿Cómo seleccionas esos 3 archivos?
- stackoverflow.com / questions / 38328065 / … … Supongo que podríamos hacer eso.
Responder
Lo haría de esta manera:
-
confirme los archivos que desea conservar (temporalmente)
git commit -m WIP loanwolf/requests/models.py loanwolf/customers/models.py loanwolf/requests/locale/fr/LC_MESSAGES/django.po
-
verifique todo lo demás
git checkout .
-
reiniciar para deshacer la confirmación (esto no perderá ningún cambio)
git reset HEAD^1
Si quieres jugar con git status
, consulte git status -s
, su salida es más fácil de procesar de manera confiable.
Comentarios
- Probablemente también podrías usar un " alijo "? Yo ' lo he hecho yo mismo, pero solo una o dos veces con una GUI. Básicamente significa que ' vuelve a guardar algún archivo por un tiempo, luego extrae las últimas confirmaciones y luego aplica los archivos guardados en el repositorio.
- @Kusalananda un alijo sería más conveniente, pero
git stash
almacena el estado completo del espacio de trabajo, no puede filtrar (AFAIK). Sin embargo, tiene razón en que mi uso de un compromiso aquí es más parecido a un alijo que a un compromiso adecuado. Algunas GUI tienen variantes de almacenamiento que admiten el filtrado, que también funcionarían.