如何在我的工作副本中排除非指数的变更?
当前回答
您可以创建自己的标签,描述如何以描述的方式进行。
我用下一个字符来排除变化。
排除工作树中的一个(列表)文件(s)中的变化
discard = checkout --
然后,你可以使用它作为附加,以排除所有变更:
discard .
或者只是一个文件:
discard filename
否则,如果你想删除所有的更改,以及未追踪的文件,我使用一个混合的检查和清洁:
清理和排除工作树中的变更和未追踪文件
cleanout = !git clean -df && git checkout -- .
所以使用是简单的如下:
cleanout
现在在下一个GitHub repo中可用,其中包含许多联盟:
HTTPS://github.com/GitAlias/吉塔利亚
其他回答
git clean -df
清理工作树,重复删除不受版本控制的文件,从当前目录开始。
D:除了未追踪的文件之外,还可以删除未追踪的目录
-f: 力量(可能不需要根据 clean.requireForce 设置)
Run git help clean 查看手册
只用:
git stash -u
是的,容易。
如果你真的很关心你的<unk>子,那么你可以跟随吉特<unk>子下降,但在那个时候你更好地使用(从Mariusz Nowak):
git checkout -- .
git clean -df
然而,我喜欢 git stash -u 最好的,因为它“排除”所有跟踪和未跟踪的变化在一个命令。 但是 git checkout -. 只排除跟踪的变化, git clean -df 只排除未跟踪的变化... 并输入两个命令是太多的工作:)
尝试了上面的所有解决方案,但仍然无法摆脱新的,未完成的文件。
使用 git clean -f 删除这些新文件 - 但是要小心! 注意力选项。
在我看来,
git clean -df
应该做技巧. 如 Git 文档上 git clean
git-clean - 从工作树中删除未追踪的文件
描述
清理工作树通过重复删除不受版本控制的文件,从当前目录开始. 通常,只有未知的文件到 Git 被删除,但如果 -x 选项被指定,忽略的文件也被删除. 例如,这可以有用去除所有构建产品. 如果任何可选的... 论点被提供,只有这些路径被影响。
选项
因为没有答案表明我所使用的准确选项组合,这里是:
git clean -dxn . # dry-run to inspect the list of files-to-be-removed
git clean -dxf . # REMOVE ignored/untracked files (in the current directory)
git checkout -- . # ERASE changes in tracked files (in the current directory)
以下是使用的 git 清洁选项的在线帮助文本:
D
除未追踪的目录外,除未追踪的文件外,除未追踪的目录外,除未追踪的目录外,除非由另一个 Git 存储库管理,则不会默认删除。
x
不要使用从.gitignore (每个目录) 和 $GIT_DIR/info/exclude 阅读的默认忽略规则,但仍然使用与 -e 选项提供的忽略规则. 这允许删除所有未追踪的文件,包括构建产品。
N
实际上不要删除任何东西,只是显示会做什么。
F
如果 Git 配置变量 clean.requireForce 不被设置为虚假, Git clean 将拒绝删除文件或目录,除非 -f、 -n 或 -i. Git 将拒绝删除.git 子目录或文件中的目录,除非另一个 -f 被提供。
推荐文章
- Visual Studio Code: .git文件夹/文件隐藏
- “node_modules”文件夹应该包含在git存储库中吗
- 为什么git-rebase给了我合并冲突,而我所做的只是压缩提交?
- 当我试图推到原点时,为什么Git告诉我“没有这样的远程‘原点’”?
- 如何从远程分支中挑选?
- 如何查看一个分支中的哪些提交不在另一个分支中?
- 如何取消在github上的拉请求?
- HEAD和master的区别
- GIT克隆在windows中跨本地文件系统回购
- RPC失败;卷度传输已关闭,剩余未完成的读取数据
- 我应该在.gitignore文件中添加Django迁移文件吗?
- 错误:您对以下文件的本地更改将被签出覆盖
- Git rebase—即使所有合并冲突都已解决,仍然会继续报错
- 在Git中,我如何知道我的当前版本是什么?
- 跟踪所有远程git分支作为本地分支