如何从当前工作树中删除未追踪的本地文件?
当前回答
我已经失败了使用最受欢迎的答案在这里 - git 不会从存储库中删除未追踪的文件,无论如何. 不知道为什么. 这是我的超简单的答案,没有特殊的 GIT 命令!
任务:从 git 存储库中删除未追踪的文件:
移动文件和文件夹到其他地方从您的本地项目文件夹一段时间 删除所有行在.gitignore 关于这些文件和文件夹的承诺 Git 添加. Git 承诺 -m “从未追踪的文件中清除存储库” Git push
所有文件和文件已从存储库中删除。
如果您需要,请在本地恢复它们:
将您暂时移动到本地项目文件夹的所有文件和文件夹返回 将这些文件和文件夹的所有行返回.gitignore Git 添加. Git commit -m “检查或文件不再显示在 git 存储库” Git push
你已经完成了!
其他回答
使用 git reset HEAD <file> 删除文件
对于我刚刚发明并尝试的这种情况的一种生活哈克(这非常好):
git add .
git reset --hard HEAD
注意! 请确保在执行此事之前进行任何必要的更改(即使在未被拖动的文件中)。
我认为最安全、最容易的方式就是这样!
git add .
git stash
更多信息 https://www.atlassian.com/git/tutorials/saving-changes/git-stash#stashing-your-work
我喜欢 git stash push -u 因为你可以用 git stash pop 放下它们。
编辑: 我也找到了一个方法,以显示未追踪的文件在一个插件(例如 git 显示 stash@{0}^3) https://stackoverflow.com/a/12681856/338986
EDIT2: git stash save 被推翻为 push. 谢谢 @script-wolf。
删除未追踪的文件的简单方法
要删除所有未追踪的文件,简单的方式是先添加所有文件并重新设置下面的复制文件。
git add --all
git reset --hard HEAD
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- 在GitHub上有一个公共回购的私人分支?
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式