我如何从当前工作树中删除未跟踪的本地文件 ?


当前回答

更好的方法就是使用:干净干净

git clean -d -x -f

这将删除未跟踪的文件, 包括目录(-d)git (-x).

另替换-f参数和-n要执行 a/dry-run-i用于交互式模式,它将告诉您要删除什么。

其他回答

我们可以使用下面的 git 评论, 很容易地从当前 git 工作树中删除本地的未跟踪文件 。

git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]

示例:

git reset --hard HEAD

链接 :

  1. https://git-scm.com/docs/git-reset
  2. 我如何使用“ git reset -- hard HEAD” 重置前一次承诺 ?
  3. 重置本地仓库分支, 使其与远程仓库 HEAD 一样
  4. https://jwiegley.github.io/git-from-the-bottom-up/3-Reset/4-doing-a-hard-reset.html

清除 Git 仓库和所有子模块

以下命令将清除当前 git 仓库及其所有子模块的递归 :

(git clean -d -x -f && git submodule foreach --recursive git clean -d -x -f)

要删除完整更改git 清洁 -f -d

$ git clean -f -d
Removing client/app/helpers/base64.js
Removing files/
Removing package.json.bak

where 
-f is force 
-d is a directory 

我在这里没有使用最流行的答案- git 不删除存储处的未追踪文件 。 不知道为什么 。 这是超简化的答案, 没有特别的 GIT 指令 !

任务: 从 git 仓库删除未跟踪的文件 :

  1. 将本地工程文件夹中的文件和文件夹移动一段时间
  2. 删除 . gitignore 中关于此承诺的文件和文件夹的所有行
  3. Git 添加 。
  4. Git 承诺 -m “从未跟踪的文件中清除存储库”
  5. Git 推动

从仓库中删除了所有文件和文件夹 。

如果您需要的话, 请在本地主机上恢复它们 :

  1. 将所有已临时移至本地工程文件夹的文件和文件夹再移到本地工程文件夹
  2. 将这些文件和文件夹的所有行后移到. gitignore
  3. Git 添加 。
  4. Git 承诺 -m “检查或在 Git 仓库中不再出现文件”
  5. Git 推动

你完蛋了! 你完蛋了! You are done!

如果您只想删除列表中未被“ gitt status” 跟踪的文件

git stash save -u
git stash drop "stash@{0}"

我更喜欢这个而不是“ 开始清理” , 因为“ 开始清理” 将会删除被忽略的文件, 所以您的下一栋建筑必须重建一切, 您也可能丢失您的 IDE 设置 。