如何在git中获取/重新推送子模块?

时间:2016-06-03 11:14:01

标签: git bitbucket

在我的git存储库(Bitbucket)中,我有一个子项目的引用。

当我把它推到第一个位置时,包含了.git /文件夹(即使我只使用存储库进行备份,因此并不真正需要)。

现在我在存储库

中有对该子模块的引用
 <folder_name> → <SHA> [<SHA>])
  • 当我执行 git pull origin master 时,如果已获取该文件夹但该文件夹为空。
  • 当我尝试将东西放入该文件夹时(我删除了它,然后我从不同的存储库中取出它然后删除.git /文件夹使其看起来像普通文件夹,而不是子模块)然后 git add。 &安培;&安培; git commit -m&#34; ..&#34; &安培;&安培; git push origin master 我只能一切都是最新的,当然远程存储库中没有任何变化

目标:将过去的子模块作为主存储库的普通文件夹部分。

我错过了什么?子模块如何工作?(文档@ Github对我来说不是很清楚)

1 个答案:

答案 0 :(得分:3)

正如我今天早上在&#34; How to solve this Git issue?&#34;中所解释的那样,这个(即&#39; <folder_name> → <SHA> [<SHA>]&#39;) a子模块。

子模块由以下部分组成:

如果您只记录SHA1而不记录网址,则会有以下内容:

http://i.stack.imgur.com/d8JYH.png

git clone --recursive无法使用该SHA1克隆回购,因为它不知道其网址。

如果要将子项目作为子模块引用: