清理

git clean 是完成 git reset 和 git checkout 命令的撤销命令。

但是, git clean 命令运行在未跟踪的文件上,这与处理添加到跟踪索引的文件的其他命令不同。

Git忽略文件

在工作副本中,文件对 Git 可见,为以下之一:已跟踪、未跟踪和忽略。

忽略的文件是那些 Git 被指示忽略的文件。
这些文件必须来自存储库源才能提交。
它们保存在 .gitignore 文件中。
它们是手动编辑和提交的,因为 git ignore 命令不存在。

从工作树中删除未跟踪文件的步骤

我们将逐步向我们展示如何从当前工作树中删除未跟踪的文件:

检查文件和目录

使用 -d 和 -n 选项运行 git clean 以查看将删除哪些文件和目录:

git clean -d -n

上述命令的输出将列出清理后要删除的未跟踪文件。

如果上面列表中有重要文件,可以使用 git add 命令进行跟踪:

git add <file>

删除文件

如果我们确定要删除文件,则可以使用 -f 选项运行 git clean 命令:

git clean -f

对于删除目录,我们还可以添加 -d 选项,如下所示:

git clean -fd

git clean 命令有一个交互模式,在传递 -i 选项时会激活该模式。

要以交互方式删除未跟踪的文件和文件夹,请运行:

git clean -d -i

git clean 命令也可以选择删除被忽略的文件和目录。
为此,我们应该添加 -x 选项:

git clean -d -n -x

上面的命令将显示运行 git clean -dfx 后要删除的所有文件和文件夹:

要仅删除被忽略的文件和目录,请改用 -X 选项。
这将删除 .gitignore 中列出的所有文件和目录,并保留未被忽略的未跟踪文件。

跟踪和未跟踪的文件

工作目录中的每个文件都可以处于跟踪或者未跟踪状态。
跟踪文件是上次快照中的文件。
处于此状态的文件可以被 Git 修改、未修改或者暂存并识别。

未跟踪的文件是工作目录中不在最后一个快照和暂存区中的文件。
当我们第一次 git clone 存储库时,所有文件都将被跟踪且未经修改。

如何从 Git 的当前工作树中删除未跟踪的文件

有时,我们需要排除合并留下或者错误创建的不必要文件,以清理存储库。
我们可以在 .gitignore 中添加这些文件或者删除它们。

Git 工作树

在 Git 中,工作树是与 git 存储库关联的文件系统目录(包括文件和子目录)。

它充满了我们调整的文件,我们可以其中插入新文件并从中删除不必要的文件。
任何时候打开由存储库管理的项目的文件,我们都可以访问工作树。

日期:2020-06-02 22:16:45 来源:oir作者:oir