[英]git checkout all the files
如何擺脫存儲庫中所有文件中的所有更改?
假設我在一個分支,我做了一些改變。 git status
在“未暫存的更改提交”中返回一組文件,我注意到我想刪除所有文件中的所有這些更改。 如何使用單個命令執行此操作?
我知道我可以執行以下操作來只檢出一個文件:
git checkout -- <file>
我注意到git checkout --
單獨返回所有未提交文件的列表。 但是,我找不到一種方法來結帳所有這些,例如git checkout --all
。
我檢查了man git checkout
並找不到任何東西。 我還看到了Git: Checkout all files except one並嘗試了git checkout .
也沒有工作。
我是否必須通過循環遍歷git checkout --
輸出以編程方式執行此操作?
如果您位於工作目錄的根目錄,則可以執行git checkout -- .
檢出當前 HEAD 中的所有文件並替換您的本地文件。
您還可以執行git reset --hard
來重置您的工作目錄並替換所有更改(包括索引)。
我發現有用的其他方法是:
git checkout <wildcard>
例子:
git checkout *.html
更普遍:
git checkout <branch> <filename/wildcard>
如果您想“隨時隨地”檢出所有文件
git checkout -- $(git rev-parse --show-toplevel)
git checkout .
會起作用,否則它將不起作用當然,您可以使用硬重置:
git reset --hard
此外,我正在使用允許指定模式的簡單方法:
git checkout `git ls-files -m | grep "some pattern"`
所以這里的“某種模式”可能是文件夾或文件名或文件擴展名。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.