如何在我的工作副本中排除非指数的变更?
当前回答
无论你的 repo 是什么状态,你总是可以重新设置到任何以前的承诺:
git reset --hard <commit hash>
这将消除随后发生的所有变化。
其他回答
要做永久漏洞: git reset --hard
保存更改以后: git stash
如果您处于子模块的情况下,没有其他解决方案工作,请尝试:
查看问题是什么(可能是一个“脏”案例)使用: git diff 删除 stash git 子模块更新
git checkout -f
男子Git-Checkout:
F、 - 力量
在切换分支时,即使指数或工作树与头部不同,也会进行进展,用来消除当地的变化。
在从指数中查看路径时,不要错过未嵌入的输入;相反,未嵌入的输入被忽略。
git checkout .
这将拒绝对分支的任何未经订购的变更,如果发生任何变更,它不会重新设置它,这是方便的,当你做了一些变更并决定你不想要它们,因为某种原因,你没有承诺这些变更,它实际上只是重新检查分支,并拒绝任何当前未经订购的变更。
(必須在應用程式的根或家指,以便工作)
尝试了上面的所有解决方案,但仍然无法摆脱新的,未完成的文件。
使用 git clean -f 删除这些新文件 - 但是要小心! 注意力选项。
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式
- git pull -rebase和git pull -ff-only之间的区别