In dem Moment, in dem ich git status ausführe, habe ich

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 

Ich möchte die Ausgabe bereinigen, um modified: und die Dateien

loanwolf/requests/models.py loanwolf/customers/models.py loanwolf/requests/locale/fr/LC_MESSAGES/django.po 

Tatsächlich möchte ich die gesamte Datei außer den letzten drei behalten. Wie könnte ich das machen?

Im Moment denke ich, ich könnte git status | grep -v "request" tun. Ich möchte git checkout alle Dateien außer diesen drei Dateien.

git status | grep "modified:" | awk "{print $2}" | xargs git [diff|add|checkout] ????

Kommentare

Antwort

Ich würde so vorgehen:

  • Festschreiben der Dateien, die Sie (vorübergehend) behalten möchten

    git commit -m WIP loanwolf/requests/models.py loanwolf/customers/models.py loanwolf/requests/locale/fr/LC_MESSAGES/django.po 
  • alles andere überprüfen

    git checkout . 
  • zurücksetzen um das Commit rückgängig zu machen (dies verliert keine Änderungen)

    git reset HEAD^1 

Wenn Sie mit git status, check git status -s aus, die Ausgabe ist einfacher zuverlässig zu verarbeiten.

Kommentare

  • Sie könnten wahrscheinlich auch einen " -Stash " verwenden? Ich habe das ' selbst gemacht, aber nur ein- oder zweimal mit einer GUI. Dies bedeutet im Grunde, dass Sie ' eine Datei für eine Weile verstauen, dann die neuesten Commits abrufen und die verwahrten Dateien auf das Repository anwenden.
  • @Kusalananda Ein Stash wäre bequemer, aber git stash speichert den vollständigen Arbeitsbereichsstatus und kann nicht gefiltert werden (AFAIK). Sie haben jedoch Recht, dass meine Verwendung eines Commits hier eher einem Stash als einem richtigen Commit ähnelt. Einige GUIs haben Stashing-Varianten, die das Filtern unterstützen. Diese funktionieren auch.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.