如何在我的工作副本中排除非指数的变更?
当前回答
要做永久漏洞: git reset --hard
保存更改以后: git stash
其他回答
作为一个提醒,更新的版本的 git 有恢复命令,这也是一个建议,当你在更改文件时输入 git 状态时:
(使用“吉特添加......”更新什么将被承诺)
(使用“git restore...”来删除工作目录的更改)
所以 git'restore' 是这个问题的现代解决方案. 在输入 'git status' 后,从 git 阅读建议总是很好的想法 :-)
只用:
git stash -k -u
这将阻止未跟踪的变更和未跟踪的文件(新文件)并保持未跟踪的文件。
它比重新设置/检查/清洁更好,因为你可能希望他们后来回来(由 git stash pop)。
对于当前工作目录使用中的所有未输入的文件:
git restore .
对于特定文件的使用:
git restore path/to/file/to/revert
这与 git 交换器一起取代了过度加载的 git 支票(见这里),从而取消了论点的分歧。
如果一个文件既有步骤和未步骤的变化,则仅在 git diff 中显示的未步骤的变化将被转换。
之前 Git 2.23
对于当前工作目录中的所有未输入的文件:
git checkout -- .
对于一个特定的文件:
git checkout -- path/to/file/to/revert
在这里消除双重性(这被称为论点不双重性)。
只用:
git stash -u
是的,容易。
如果你真的很关心你的<unk>子,那么你可以跟随吉特<unk>子下降,但在那个时候你更好地使用(从Mariusz Nowak):
git checkout -- .
git clean -df
然而,我喜欢 git stash -u 最好的,因为它“排除”所有跟踪和未跟踪的变化在一个命令。 但是 git checkout -. 只排除跟踪的变化, git clean -df 只排除未跟踪的变化... 并输入两个命令是太多的工作:)
git checkout -f
男子Git-Checkout:
F、 - 力量
在切换分支时,即使指数或工作树与头部不同,也会进行进展,用来消除当地的变化。
在从指数中查看路径时,不要错过未嵌入的输入;相反,未嵌入的输入被忽略。
推荐文章
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式
- git pull -rebase和git pull -ff-only之间的区别
- GitHub -致命:无法读取用户名https://github.com':没有这样的文件或目录
- 撤消git平分错误
- 使用.gitconfig配置diff工具
- 如何配置Mac OS X术语,使git有颜色?
- Visual Studio Code: .git文件夹/文件隐藏
- “node_modules”文件夹应该包含在git存储库中吗
- 为什么git-rebase给了我合并冲突,而我所做的只是压缩提交?