如何从当前工作树中删除未追踪的本地文件?
当前回答
我喜欢使用 git stash 命令,以后你可以得到 stashed 文件和更改. git clean 也是一个很好的选择,但完全取决于你的要求. 这里是 git stash 和 git clean 的解释,7.3 Git 工具 - Stashing 和 Cleaning
其他回答
git-clean - 从工作树中删除未追踪的文件 同步 git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x♰ -X] [--] <path>... 描述 通过从当前目录开始,不受版本控制的文件重新删除工作树。
# Print out the list of files and directories which will be removed (dry run)
git clean -n -d
# Delete the files from the repository
git clean -f
注意后两个命令的 X 中的案例差异。
要删除未追踪的文件,您应该首先使用命令查看将受清洁影响的文件。
git clean -fdn
这将向您展示将被删除的文件列表. 现在实际上删除这些文件使用这个命令:
git clean -fd
我很惊讶以前没有人提到这一点:
git clean -i
它是互动的,你会得到一个快速的概述,什么将被删除,为您提供包含 / 排除受影响的文件的可能性。
你必須在 -d 如果你也想照顧空的文件夾。
git iclean
说到这一点,对互动命令的额外持有可能令人兴奋的经验丰富的用户,如今我只使用已经提到的 git clean -fd
对于我刚刚发明并尝试的这种情况的一种生活哈克(这非常好):
git add .
git reset --hard HEAD
注意! 请确保在执行此事之前进行任何必要的更改(即使在未被拖动的文件中)。
我们可以轻松地从当前 git 工作树中删除本地未追踪的文件,使用下面的 git 评论。
git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]
例子:
git reset --hard HEAD
左:
https://git-scm.com/docs/git-reset 如何使用‘git reset --hard HEAD’ 返回以前的承诺? 恢复本地存储分支 就像远程存储分支 HEAD https://jwiegley.github.io/git-from-the-bottom-up/3-Reset/4-doing-a-hard-reset.html
推荐文章
- 如何从远程Git存储库中提取并覆盖本地存储库中的更改?
- Github:导入上游分支到fork
- Mercurial:我可以重命名分支吗?
- Git单次修订的日志
- Git在不改变提交时间戳的情况下进行改基
- VS 2017 Git本地提交数据库。每次提交时锁定错误
- 如何在过去的一些任意提交之间注入一个提交?
- 从GitHub克隆项目后拉git子模块
- GitHub上的分叉和克隆有什么区别?
- 递归地按模式添加文件
- 我如何使用notepad++(或其他)与msysgit?
- 如何将现有的解决方案从Visual Studio 2013添加到GitHub
- Git存储库中的悬垂提交和blob是什么?它们来自哪里?
- 我如何简单地从我最新的git提交创建一个补丁?
- Git显示“警告:永久添加到已知主机列表”