git checkout所有文件

时间:2015-03-12 10:54:11

标签: git git-checkout

如何摆脱存储库中所有文件的所有更改?

说我在一个分支机构,我做了一些改变。 git status返回“未提交更改的更改”中的一组文件,我注意到我想要删除所有文件中的所有这些更改。如何使用单个命令执行此操作?

我知道我可以执行以下操作来检查一个文件:

git checkout -- <file>

我注意到git checkout --单独返回所有未提交文件的列表。但是,我无法找到一种方法来检查所有这些内容,例如git checkout --all

我查了man git checkout但找不到任何内容。我也看到Git: Checkout all files except one并尝试了git checkout .,但也没有工作。

我是否必须通过循环git checkout --输出?

以编程方式执行此操作

5 个答案:

答案 0 :(得分:133)

如果您位于工作目录的根目录,则可以git checkout -- .签出当前HEAD中的所有文件并替换您的本地文件。

您也可以git reset --hard重置工作目录并替换所有更改(包括索引)。

答案 1 :(得分:2)

我认为有用的其他方法是:

git checkout <wildcard> 

示例:

git checkout *.html

更一般地:

git checkout <branch> <filename/wildcard>

答案 2 :(得分:0)

如果您想“随时随地”检出所有文件

git checkout -- $(git rev-parse --show-toplevel)

答案 3 :(得分:0)

  • 如果您位于跟踪文件的基本目录位置,则 git checkout . 将起作用,否则将不起作用

答案 4 :(得分:0)

当然你可以使用硬重置:

git reset --hard

此外,我正在使用允许指定模式的简单方法:

git checkout `git ls-files -m | grep "some pattern"`

所以这里的“某种模式”可以是文件夹或文件名或文件扩展名。

相关问题