git 签出所有文件
git checkout all the files
如何删除存储库中所有文件中的所有更改?
假设我在一个分支中,我做了一些更改。 git status
returns "Changes not staged for commit" 中的一组文件,我注意到我想摆脱所有文件中的所有这些更改。我怎样才能用一个命令做到这一点?
我知道我可以执行以下操作来仅检出一个文件:
git checkout -- <file>
我注意到 git checkout --
单独 returns 所有未提交文件的列表。但是,我找不到一种方法来检查所有这些,比如 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>
如果要签出所有文件'anywhere'
git checkout -- $(git rev-parse --show-toplevel)
- 如果您位于跟踪文件的基本目录位置,那么
git checkout .
将起作用,否则它将不起作用
当然你可以使用硬重置:
git reset --hard
此外,我正在使用允许指定模式的简单方法:
git checkout `git ls-files -m | grep "some pattern"`
所以这里的“某种模式”可以是文件夹或文件名或文件扩展名。
如何删除存储库中所有文件中的所有更改?
假设我在一个分支中,我做了一些更改。 git status
returns "Changes not staged for commit" 中的一组文件,我注意到我想摆脱所有文件中的所有这些更改。我怎样才能用一个命令做到这一点?
我知道我可以执行以下操作来仅检出一个文件:
git checkout -- <file>
我注意到 git checkout --
单独 returns 所有未提交文件的列表。但是,我找不到一种方法来检查所有这些,比如 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>
如果要签出所有文件'anywhere'
git checkout -- $(git rev-parse --show-toplevel)
- 如果您位于跟踪文件的基本目录位置,那么
git checkout .
将起作用,否则它将不起作用
当然你可以使用硬重置:
git reset --hard
此外,我正在使用允许指定模式的简单方法:
git checkout `git ls-files -m | grep "some pattern"`
所以这里的“某种模式”可以是文件夹或文件名或文件扩展名。