gpt4 book ai didi

git 忽略一个目录,就像它不存在一样

转载 作者:IT王子 更新时间:2023-10-29 01:27:07 24 4
gpt4 key购买 nike

我有一个克隆的仓库。有一个目录,称它为 a/b/c,曾经是它自己的仓库,即有 a/b/c/.git/等。

现在我想要在主仓库中管理文件。我不关心a/b/c中的历史,所以我删除了a/b/c中的.git目录

但问题是 git status 完全忽略了 a/b/c。我不能 git add 它。就好像我将路径放入 .gitignore(我没有)。

很明显,以前 git 忽略带有 .git 目录的子目录是有意义的,但现在它怎么知道其中的区别呢?

除了 .gitignore 和 .git/info/excludes 之外,还有其他地方可以忽略列出的文件吗? .git/config 文件中没有任何内容?

有人问我 git status 说了什么。不多:

/path/to/root/dir $ git status
# On branch fred
nothing to commit (working directory clean)

以及 git add 所说的内容。甚至更少(没有)

/path/to/root/dir $ git add a/b/c

最佳答案

我不知道问题是什么或它是如何出现的(v. 恼人的),但这是我修复它的方法,以防其他人被卡住:

git rm --cached a/b/c
git commit -m "removed phantom a/b/c dir"
git add a/b/c
git commit -m "finally able to add a/b/c"

有趣的是 git log a/b/c 只列出了“finally able...”提交。 git show HEAD^(“删除的幻影...”提交说

-Subproject commit c311ccdc91c8be66019aa138d1c4af49a6b7a81c

所以看起来它正在以某种方式特殊对待它。我将不得不阅读更多关于子项目和/或子模块的内容。

关于git 忽略一个目录,就像它不存在一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10759034/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com