Op het moment dat ik git status
draai, kreeg ik
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
Ik wil de uitvoer opschonen om modified:
en de bestanden
loanwolf/requests/models.py loanwolf/customers/models.py loanwolf/requests/locale/fr/LC_MESSAGES/django.po
In feite wil ik alle bestanden behouden, behalve de laatste drie. Hoe kan ik dat doen?
Voorlopig denk ik dat ik git status | grep -v "request"
zou kunnen doen. Ik wil git checkout
alle bestanden behalve die drie bestanden.
git status | grep "modified:" | awk "{print $2}" | xargs git [diff|add|checkout]
????
Reacties
- Hoe kies je die 3 bestanden ??
- stackoverflow.com / vragen / 38328065 / … … Ik denk dat we dat kunnen doen.
Antwoord
Ik zou het als volgt aanpakken:
-
commit de bestanden die je wilt behouden (tijdelijk)
git commit -m WIP loanwolf/requests/models.py loanwolf/customers/models.py loanwolf/requests/locale/fr/LC_MESSAGES/django.po
-
bekijk al het andere
git checkout .
-
opnieuw instellen om de commit ongedaan te maken (hierdoor gaan geen wijzigingen verloren)
git reset HEAD^1
Als je wilt spelen met git status
, bekijk git status -s
, de uitvoer is gemakkelijker betrouwbaar te verwerken.
Opmerkingen
- Je zou waarschijnlijk ook een " stash " kunnen gebruiken? Ik ' heb dat zelf gedaan, maar slechts een of twee keer met een GUI. Het betekent in feite dat je ' een bestand een tijdje opbergt, dan de laatste commits ophaalt en vervolgens de opgeslagen bestanden toepast op de repository.
- @Kusalananda een stash zou handiger zijn, maar
git stash
slaat de volledige status van de werkruimte op, het kan niet filteren (AFAIK). Je hebt echter gelijk dat mijn gebruik van een commit hier meer lijkt op een stash dan op een goede commit. Sommige GUIs hebben stashing-varianten die filtering ondersteunen, die zouden ook werken.