git checkout特定文件

git checkout特定文件

在那一刻,当我跑步时git status,我得到了

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

我想清理要删除的输出modified:和文件

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

事实上,我想保留除最后三个文件之外的所有文件。我怎么能这么做呢?

目前,我认为我可以做到git status | grep -v 'request'。我想要git checkout除这三个文件之外的所有文件。

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

答案1

我会这样处理:

  • 提交您想要保留的文件(暂时)

    git commit -m WIP loanwolf/requests/models.py loanwolf/customers/models.py loanwolf/requests/locale/fr/LC_MESSAGES/django.po
    
  • 检查其他一切

    git checkout .
    
  • 重置以撤消提交(这不会丢失任何更改)

    git reset HEAD^1
    

如果您确实想尝试一下git status,请检查一下git status -s,它的输出更容易可靠地处理。

相关内容