如何在我的工作副本中排除非指数的变更?
当前回答
另一种方法来摆脱新的文件,比 git 清洁 -df 更具体(它将允许你摆脱一些文件不一定全部),是将新文件添加到指数,然后插入,然后放下插入。
这种技术是有用的,因为某种原因,你不能轻松地通过某种普通的机制(如rm)删除所有未追踪的文件。
其他回答
另一种更快的方式是:
git stash save --keep-index --include-untracked
你不需要包含 - 包括 - 不被吸引,如果你不想仔细了解它。
接下来,你可以用 git stash drop 命令放下这个 stash 如果你愿意。
要做永久漏洞: git reset --hard
保存更改以后: git stash
git checkout .
这将拒绝对分支的任何未经订购的变更,如果发生任何变更,它不会重新设置它,这是方便的,当你做了一些变更并决定你不想要它们,因为某种原因,你没有承诺这些变更,它实际上只是重新检查分支,并拒绝任何当前未经订购的变更。
(必須在應用程式的根或家指,以便工作)
如果几乎不可能删除文件的修改,你是否考虑忽略它们? 如果这个声明是正确的,并且你不会在开发过程中触摸这些文件,这个命令可能有用:
git update-index --assume-unchanged 文件_to_ignore
要删除未完成的更改,我试图“吉特恢复”我被吉特告诉,但它只是没有工作。
git revert --hard
它的 Git Help 完美地解释了这一点:
--hard 恢复指数和工作树. 在工作树中跟踪文件的任何变化,因为它们被删除. 在写任何跟踪文件的方式,任何未跟踪文件或目录都被删除。
PS:我使用 git 版本 2.35.3.windows.1. 我认为这里的一些答案使问题过于复杂。
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的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之间的区别