簡體   English   中英

git checkout 所有文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM