无法将文件添加到Git存储库

哈达萨

当我尝试将所有文​​件添加到gitRepo时,它说:

$ git add .
error: 'ConnectorApp/' does not have a commit checked out
fatal: adding files failed

当我尝试删除空文件夹时,它说:

$ git rm ConnectorApp/
fatal: pathspec 'ConnectorApp/' did not match any files

还有其他解决方案可以清除此空文件夹以将文件添加到gitRepo中吗?

星期二

这不是一个空文件夹。它是一个子模块

空文件夹将是无关紧要的,因为Git仅存储文件,而不存储文件夹。文件的路径名可能类似于dir/file.ext那不是dir包含的文件夹file.ext,而是一个名为的文件dir/file.ext如果您的操作系统坚持这样的文件存储为一个名为dir的文件夹,其中包含file.ext当您需要对其进行操作时使用的命名文件,那么可以:Git将创建一个新的空dir文件夹,并file.ext在必要时在其中写入一个名为的文件git checkout例如。但是Git只是存储了文件dir/file.ext它尚未存储dir

但是在这种情况下,如果您仔细查看ConnectorApp/(包括查找通常隐藏的文件和目录/文件夹),将会看到其中有一个ConnectorApp/.git换句话说,ConnectorApp/它本身就是它自己的Git存储库。一个Git仓库不能包含另一个Git仓库,1所以反而,在这里你的Git仓库将记录第二Git仓库是什么混帐要求,在内部,一个gitlink

gitlink的机制是,您的Git可以在您自己的机器上调用第二个子Git,以进入子存储库(Git称为子模块)并询问:该存储库使用哪个提交?答案(如果有答案)将是原始提交哈希ID。

外部存储库(Git称为超级项目)然后在每次提交中记录此原始哈希ID。Runninggit add ConnectorAppgit add ConnectorApp/2告诉您的超级项目Git输入子模块足够长的时间,以找到正确的哈希ID并将其存储/更新为gitlink条目。

错误消息告诉您,现在,子模块(另一个Git)没有检出任何提交因此,超级项目Git会调用子模块Git并询问它您已签出了哪个提交?Git子模块说____离开这里,我什么都没有!

要解决此问题,您有几种选择:

  1. 不要使用子模块。完全不要尝试添加ConnectorApp/让您的超级项目是不带子模块的Git,并在超级项目中列出ConnectorApp/.gitignore以便它不会尝试添加它。

    此选项仅上层项目不工作已经列出ConnectorApp作为子模块。

  2. 自己输入子模块,然后选择一个提交。那是:

    cd ConnectorApp/
    git checkout <something>
    cd ..                      # return to superproject
    

    您在something此处填写的内容确定了当超级项目Git询问子模块Git您已检出哪个提交哈希ID时,超级项目Git将看到的提交哈希ID。

    这就是您的超级项目提交可以记录在子模块中使用正确提交的方式。

  3. 如果您的超级项目Git有一个已记录的正确提交,则可以让超级项目Git告诉子模块Git签出记录的提交:

    git submodule update --checkout
    

    (实际上--checkout是默认设置,因此您通常可以忽略它,但是有些配置项可以更改此设置)。

    请注意,这适用于超级项目中列出的每个子模块。如果只有一个子模块,那就可以了。

(请注意,您可能创建了不正确的子模块,其中超级项目具有一个gitlink却没有其余所需信息。这里可能不是这种情况,但有时会发生。如果发生了这种情况,请在StackOverflow上搜索有关此问题的答案。 )


1没有技术上的原因,一个存储库不能包含另一个批发库,但是出于管理原因,不这样做,因此Git被编程为不这样做。

2在过去的糟糕日子里,git add ConnectorApp/请继续并将子模块中的所有文件添加到超级项目中。现在,此行为已修复,这使得子模块比以前更容易使用。但是,如果您有旧的Git,请当心:不要让斜线出现在其中!在这里,我仍然有1.5或1.6天的Git烧伤疤痕。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法将文件添加到git存储库

来自分类Dev

无法将文件添加到git存储库

来自分类Dev

将文件添加到不准确的git存储库

来自分类Dev

Git将文件添加到存储库但无法控制它

来自分类Dev

无法将文件添加到Git

来自分类Dev

将Git存储库添加到另一个Git存储库的子文件夹中

来自分类Dev

无法将新的 Azure 用户添加到旧的 VSO GIT 存储库

来自分类Dev

将名为“-”的文件添加到git存储库

来自分类Dev

如何将dll文件添加到Git存储库

来自分类Dev

如何使用GitHub API将文件添加到Git存储库?

来自分类Dev

将现有的生产文件添加到新的 Git 存储库

来自分类Dev

如何将文件夹添加到git存储库?

来自分类Dev

将父目录添加到git存储库

来自分类Dev

无法将“ dist”文件夹添加到github存储库

来自分类Dev

无法将子文件夹添加到Github中的远程存储库

来自分类Dev

当我将文件添加到暂存区时,为什么 Git 会将文件存储在存储库中?

来自分类Dev

git:无法将文件添加到github

来自分类Dev

无法将复制/粘贴文件添加到 git stage

来自分类Dev

将包含添加到存储库

来自分类Dev

如何将分叉和Git存储库添加到我的存储库

来自分类Dev

如何将远程存储库添加到我自己的git存储库中

来自分类Dev

我可以将文件添加到本地Git存储库中,但不能将其推送到远程

来自分类Dev

是否可以将敏感配置添加到 heroku.yml 文件并提交到 Heroku 的 GIT 存储库?

来自分类Dev

git权限不足,无法将对象添加到本地git服务器存储库

来自分类Dev

git add -A 不会将项目的所有文件添加到 git 存储库

来自分类Dev

是否可以使用JGit的内存中存储库将一个小文件添加到大的Git存储库而无需在本地检出它?

来自分类Dev

如何在文件首次添加到Git存储库时列出文件?

来自分类Dev

在Eclipse中将文件或文件夹添加到Git存储库

来自分类Dev

将文件添加到git确认

Related 相关文章

  1. 1

    无法将文件添加到git存储库

  2. 2

    无法将文件添加到git存储库

  3. 3

    将文件添加到不准确的git存储库

  4. 4

    Git将文件添加到存储库但无法控制它

  5. 5

    无法将文件添加到Git

  6. 6

    将Git存储库添加到另一个Git存储库的子文件夹中

  7. 7

    无法将新的 Azure 用户添加到旧的 VSO GIT 存储库

  8. 8

    将名为“-”的文件添加到git存储库

  9. 9

    如何将dll文件添加到Git存储库

  10. 10

    如何使用GitHub API将文件添加到Git存储库?

  11. 11

    将现有的生产文件添加到新的 Git 存储库

  12. 12

    如何将文件夹添加到git存储库?

  13. 13

    将父目录添加到git存储库

  14. 14

    无法将“ dist”文件夹添加到github存储库

  15. 15

    无法将子文件夹添加到Github中的远程存储库

  16. 16

    当我将文件添加到暂存区时,为什么 Git 会将文件存储在存储库中?

  17. 17

    git:无法将文件添加到github

  18. 18

    无法将复制/粘贴文件添加到 git stage

  19. 19

    将包含添加到存储库

  20. 20

    如何将分叉和Git存储库添加到我的存储库

  21. 21

    如何将远程存储库添加到我自己的git存储库中

  22. 22

    我可以将文件添加到本地Git存储库中,但不能将其推送到远程

  23. 23

    是否可以将敏感配置添加到 heroku.yml 文件并提交到 Heroku 的 GIT 存储库?

  24. 24

    git权限不足,无法将对象添加到本地git服务器存储库

  25. 25

    git add -A 不会将项目的所有文件添加到 git 存储库

  26. 26

    是否可以使用JGit的内存中存储库将一个小文件添加到大的Git存储库而无需在本地检出它?

  27. 27

    如何在文件首次添加到Git存储库时列出文件?

  28. 28

    在Eclipse中将文件或文件夹添加到Git存储库

  29. 29

    将文件添加到git确认

热门标签

归档