W chwili, gdy uruchamiam git status
, otrzymałem
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
Chcę wyczyścić dane wyjściowe, aby usunąć modified:
i pliki
loanwolf/requests/models.py loanwolf/customers/models.py loanwolf/requests/locale/fr/LC_MESSAGES/django.po
Właściwie chciałbym zachować cały plik oprócz tych trzech ostatnich. Jak mogłem to zrobić?
W tej chwili myślę, że mógłbym zrobić git status | grep -v "request"
. Chcę git checkout
wszystkie pliki oprócz tych trzech plików.
git status | grep "modified:" | awk "{print $2}" | xargs git [diff|add|checkout]
????
Komentarze
- Jak wybierasz te 3 pliki ??
- stackoverflow.com / questions / 38328065 / … … Myślę, że moglibyśmy to zrobić.
Odpowiedź
Zrobiłbym to w ten sposób:
-
Zatwierdź pliki, które chcesz zachować (tymczasowo)
git commit -m WIP loanwolf/requests/models.py loanwolf/customers/models.py loanwolf/requests/locale/fr/LC_MESSAGES/django.po
-
sprawdź wszystko inne
git checkout .
-
resetuj cofnąć zatwierdzenie (nie spowoduje to utraty żadnych zmian)
git reset HEAD^1
Jeśli chcesz bawić się z git status
, sprawdź git status -s
, jego dane wyjściowe są łatwiejsze w niezawodnym przetwarzaniu.
Komentarze
- Prawdopodobnie przydałbyś się także " skrytki "? ' zrobiłem to sam, ale tylko raz lub dwa razy z GUI. Zasadniczo oznacza to, że ' ponownie przechowujesz jakiś plik na jakiś czas, a następnie pobierasz najnowsze zatwierdzenia, a następnie umieszczasz ukryte pliki w repozytorium.
- @Kusalananda schowek byłby wygodniejszy, ale
git stash
przechowuje pełny stan obszaru roboczego, nie może filtrować (AFAIK). Masz jednak rację, że moje użycie zatwierdzenia jest bardziej zbliżone do skrytki niż właściwego zatwierdzenia. Niektóre GUI mają ukryte warianty, które obsługują filtrowanie, one też by działały.