1

Git checkout/pull 不会删除目录?

我对 git 有点陌生,慢慢地学习它的各个部分。

所以例如我有一个分支

掌握文件夹A

我后来从Master创建了一个分支

开发并添加了 FolderB

所以Dev结果有 FolderA 和 FolderB

现在当我这样做时git branch master,我假设应该删除文件夹 B。

但是我将 FolderB 视为 master 中的未暂存文件夹据我所知应该将其删除。

此外,如果我继续,当在分支Dev中删除 FolderA 时,在更改分支时

to master and back to Dev FolderA 在分支Dev中出现未暂存。

那么为什么 git 不删除这些文件夹呢?我应该总是做一些干净的命令git clean -f -d吗?

或者我错过了什么?

我的真实情况要复杂得多,但是这个简单的示例应该涵盖我在更大范围内遇到的问题。

需要明确的是:这个问题是关于分支的内容,它不仅仅与文件夹有关。然而,答案与此处指出的另一个问题相似,但问题有所不同。

4

2 回答 2

2

尽管 Git 管理文件夹中的文件,但在切换到不需要文件夹的分支时,它不会删除文件夹本身。别担心,你不会错过任何东西。

于 2012-10-11T20:54:58.887 回答
0

注意:Git 仅删除目录的能力可以追溯到 git 的最开始:
请参阅提交“删除空目录之后read-tree -u”,来自... 2005 年 10 月 10 日!(七年前)

这解决了每个人最喜欢的抱怨,即使用 ' git checkout' 切换分支会留下空目录。

签字人:Junio C Hamano<junkio@cox.net>

于 2012-10-12T08:00:17.973 回答