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