【问题标题】:Git - Bitbucket repo hasnt stored the files in a sub-folderGit - Bitbucket repo 没有将文件存储在子文件夹中
【发布时间】:2016-01-05 12:29:47
【问题描述】:

我有一个关于 Bitbucket 的仓库。我刚刚注意到,它没有存储我后来添加的特定子文件夹。

注意到后,我尝试运行命令:

git add *

(没有添加子文件夹)

git add (folder path)

(仍然没有影响)

我的 .gitignore 是空的

如何将文件添加到 repo?

在 repo 上,我的目录和文件显示为(即文件只是参考,不可点击):

【问题讨论】:

  • 添加后有没有尝试git push?
  • 是的,我做到了。我检查了状态,没有报告任何变化。尝试提交,仍然没有。

标签: git file bitbucket


【解决方案1】:

如果你的 repo 没有 .gitmodules 文件,那么那些不可点击的引用是 nested git repogitlink (special entry in the index) 被记录由 git repo 父级。

这允许父级记录这些存储库的 SHA1(但不记录这些存储库来自 where 的位置,而不是子模块,子模块将其原始 URL 保存在 .gitmodules 文件中父仓库)。

检查1507-MainApp 中是否有.git/ 子文件夹:这将是一个嵌套的存储库。

如果您真的想将该文件夹的内容视为您的存储库的一部分(并丢弃其历史记录),只需执行以下操作:

# no trailing slash: you need to remove the gitlink first
git rm --cached 1507-MainApp

rm -Rf 1507-MainApp/.git
git add 1507-MainApp

然后提交并推送。

如果您想保留这些子文件夹的历史记录,then you would need to add them as submodule

【讨论】:

  • 很好,是的,存储在另一个外部文件夹中,并通过文件管理器复制到此存储库。但是,我删除了 git 文件和文件夹。然而我还是不能添加。
  • @Kayote 我已经编辑了我的答案:您需要首先删除 gitlink,特殊条目。然后你可以添加
【解决方案2】:

看起来您的文件夹是子模块。

这就是不添加它们的原因。

:-)

您可以看到子模块有自己的提交 ID,因为它是一个独立项目,只是作为父文件夹“存储”在根文件夹中。

【讨论】:

  • git 上下文中的“子模块”是什么意思?以及如何添加它们?
  • 你不能添加它们,它们是根 git 项目中自包含的子存储库
猜你喜欢
  • 1970-01-01
  • 2015-12-25
  • 1970-01-01
  • 1970-01-01
  • 2016-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-11
相关资源
最近更新 更多