如何从当前工作树中删除未追踪的本地文件?
当前回答
如果您只想删除被“吉特状态”追踪的文件
git stash save -u
git stash drop "stash@{0}"
我更喜欢“清洁”这个,因为“清洁”会删除被Git忽略的文件,所以你的下一个构建将不得不重建一切,你可能会失去你的IDE设置。
其他回答
我认为最安全、最容易的方式就是这样!
git add .
git stash
更多信息 https://www.atlassian.com/git/tutorials/saving-changes/git-stash#stashing-your-work
好吧,删除不需要的未追踪文件和文件夹是容易使用 git 在命令行,只是这样做:
git clean -fd
在做之前双检查,因为它会删除文件和文件夹,而不会创建任何历史。
所以,如果你只想删除文件,你只能使用 -f:
git clean -f
如果您想要删除(目录)和文件,您只能删除未追踪的目录和文件如下:
git clean -fd
并添加 -i 旗帜,使 git 请求您的许可,以便在行程中单独删除文件。
如果您不确定,并希望先检查事物,请添加 -n 旗帜。
使用 -q 如果您不希望在成功删除后看到任何报告。
我也创建下面的图像,使它更令人难忘,特别是我已经看到许多人混淆 -f 为清洁文件夹有时或混合它在某种程度上!
用途: git clean [-d] [-f] [-i] [-n] [-q] [-e ] [-x♰ -X] [--]...
-q, --quiet do not print names of files removed
-n, --dry-run dry run
-f, --force force
-i, --interactive interactive cleaning
-d remove whole directories
-e, --exclude <pattern>
add <pattern> to ignore rules
-x remove ignored files, too
-X remove only ignored files
如果未追踪的目录是自己的 git 存储库(例如子模块),您需要使用 -f 两次:
清洁 -d -f -f
我很惊讶以前没有人提到这一点:
git clean -i
它是互动的,你会得到一个快速的概述,什么将被删除,为您提供包含 / 排除受影响的文件的可能性。
你必須在 -d 如果你也想照顧空的文件夾。
git iclean
说到这一点,对互动命令的额外持有可能令人兴奋的经验丰富的用户,如今我只使用已经提到的 git clean -fd
推荐文章
- Bower: ENOGIT Git未安装或不在PATH中
- Bitbucket上的Git:总是要求密码,即使上传了我的公共SSH密钥
- Git别名-多个命令和参数
- 如何添加一个“打开git-bash这里…”上下文菜单到windows资源管理器?
- 是否可以在Git中只提取一个文件?
- 当我做“git diff”的时候,我怎么能得到一个并排的diff ?
- 在git中如何将提交移动到暂存区?
- 如何缩小。git文件夹
- 如何在本地删除分支?
- 找到包含特定提交的合并提交
- Windows上Git文件的权限
- 如何从一个枝头摘到另一个枝头
- 如何获得在两次Git提交之间更改的所有文件的列表?
- 什么是跟踪分支?
- 如何在不稳定的连接上完成一个大项目的git克隆?