在我的 git 存储库 (Bitbucket) 中,我引用了一个子项目。
当我将它推到第一个位置时,包含了 .git/ 文件夹(即使我仅使用存储库进行备份,因此并不是真正需要的)。
现在我有一个对该子模块的引用在存储库中
<folder_name> → <SHA> [<SHA>])
- 当我做git pull origin 大师如果已获取该文件夹,但它是空的。
- 当我尝试将内容放入该文件夹时(我将其删除,然后从另一个存储库中将其拉出,然后删除 .git/ 文件夹以使其看起来像普通文件夹,而不是子模块),然后git 添加 . && git commit -m ".." && git Push origin master我只得到一切都是最新的当然,远程存储库中没有任何变化
Goal:将过去的子模块推送为主存储库的普通文件夹部分。
我错过了什么?子模块如何工作?(Github 上的文档对我来说不是很清楚)
正如我今天早上在《如何解决这个 Git 问题? https://stackoverflow.com/a/37608522/6309”,这个(即 '<folder_name> → <SHA> [<SHA>]
') is not一个子模块。
子模块由以下部分组成:
- 远程仓库 URL(存储在名为 .gitmodules 的文件中)
- SHA1 记录为gitlink https://stackoverflow.com/a/16581096/6309 (索引中的特殊条目 https://stackoverflow.com/a/19354410/6309)
如果您只记录 SHA1,而不记录 url,您将得到如下内容:
A git clone --recursive
将无法使用该 SHA1 克隆存储库,因为它不知道其 url。
如果要将子项目作为子模块引用:
- read Git 子模块 https://git-scm.com/book/en/v2/Git-Tools-Submodules, and
- use
git submodule add https://...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)