Questions tagged «git-submodules»

子模块允许您将Git存储库保留为另一个Git存储库的子目录。

7
将子模块更新为最新提交
我有一个项目A,它是一个库,在项目B中使用。 项目A和B在B中的github BUT上都有一个单独的存储库,我们有A的子模块。 我在库中(位于仓库A中)编辑了一些类,然后按了远程仓库,因此库(仓库A)已更新。 这些更新不会反映子模块引用先前提交的“引用”(子模块)....我应该怎么做才能在git上更新子模块?

12
如何将更改恢复到git子模块?
我有一个git子模块(RestKit),已将其添加到我的仓库中。 我不小心更改了其中的一些文件,我想回到原始版本。为了做到这一点,我试着跑 Mac:app-ios user$ git submodule update RestKit 但是,正如您在此处看到的那样,这仍然无效,因为它仍然是“修改后的内容”: Mac:app-ios user$ git status ... # modified: RestKit (modified content) 甚至 Mac:app-ios user$ git submodule update -f RestKit 不还原本地修改的文件。 如何重置该子模块的内容?

17
列出Git存储库中的子模块
我有一个Git存储库,其中包含几个子模块。运行后如何列出所有子模块的名称git submodule init? 该git submodule foreach命令可以回显子模块的名称,但是仅在签出子模块后才起作用,而在初始化步骤之后却没有发生。在链中还需要执行更多步骤,才能将它们检出,而且我不想将子模块的名称硬连接到脚本中。 那么,是否有一个Git命令来获取所有当前已注册但尚未检出的子模块的名称?

4
Git子模块更新
我不清楚以下含义(来自Git子模块更新文档): ...将使子模块HEAD分离,除非指定--rebase或--merge。 如何--rebase/ --merge改变事物? 我的主要用例是拥有一堆中央存储库,我将通过子模块将其嵌入到其他存储库中。我希望能够直接在其原始位置或从其嵌入式存储库(通过子模块使用它们的存储库)内部对这些中央存储库进行改进。 在这些子模块中,是否可以像在常规存储库中一样创建分支/修改并使用推/拉,还是需要谨慎? 我如何将子模块引用的提交从(标记)1.0提升到1.1(即使原始存储库的头部已经是2.0),还是选择完全使用哪个分支的提交?

9
Git diff说子项目很脏
我刚刚运行了git diff,我的大约10个子模块都得到了以下输出 diff --git a/.vim/bundle/bufexplorer b/.vim/bundle/bufexplorer --- a/.vim/bundle/bufexplorer +++ b/.vim/bundle/bufexplorer @@ -1 +1 @@ -Subproject commit 8c75e65b647238febd0257658b150f717a136359 +Subproject commit 8c75e65b647238febd0257658b150f717a136359-dirty 这是什么意思?我如何解决它?

11
将通用代码添加为git子模块的问题:“索引中已存在”
我是git的新手,不胜感激添加子模块的帮助。我收到了两个共享一些通用代码的项目。共享的代码仅被复制到两个项目中。我为通用代码创建了一个单独的git repo,并将其从项目中删除,并计划将其添加为git子模块。 我使用git submodule add的path选项来指定文件夹: git submodule add url_to_repo projectfolder 但随后出现错误: 'projectfolder' already exists in the index" 这是我的存储库的所需结构: repo |-- projectfolder |-- folder with common code 可以将git子模块直接添加到存储库中,也可以添加到那里的新文件夹中,但不能添加到projectfolder中。问题是它确实需要在projectfolder中。我该怎么办?我对git submodule add的path选项有什么误解?

4
如何设置一个git项目以使用外部repo子模块?
我想创建一个回购远程回购的回购。 例如,假设jQuery作为子模块: git://github.com/jquery/jquery.git 用jQuery作为子模块创建存储库并添加我自己的外部设备作为远程存储库的过程是什么? 同样,一旦设置完成,如果我推/拉到自己的遥控器,外部设备是否会完好无损?


5
Git子模块添加:“在本地找到git目录”的问题
我实际上是在尝试学习如何使用git,包括git submodule子命令。我已经设置了服务器,可以在其中使用SSH托管,推送和拉动git存储库。我在此服务器上创建了一个主要的git存储库“ Travail”,在其中我希望将所有项目都放在子模块中。 在我的Travail存储库中,我已经在以下位置添加了我的项目作为子模块tools/libft:我能够开发该子模块,进行推入和拉出。 但是,当我尝试添加另一个子模块(从服务器上的fdf.git命名为fdf)时,出现以下问题: git submodule add ssh://XXX.XXX.XXX.XXX:XXXXX/opt/git/fdf.git projets/fdf 可以在本地使用远程工具找到'projets / fdf'的git目录:origin ssh://git@XXX.XXX.XXX.XXX:XXXXX / opt / git / fdf.git如果要重用此本地git目录,而不是从ssh://XXX.XXX.XXX.XXX:XXXXX / opt / git / fdf.git再次克隆,请使用'--force'选项。如果本地git目录不是正确的仓库,或者您不确定这意味着什么,请使用'--name'选项选择另一个名称。 实际上在这里没有子目录 projets/ 我在另一个线程上阅读,我应该使用git submodule sync或编辑.gitmodules文件,在该文件中,子模块的原始存储库的URL可能已更改。 但是我的.gitmodules文件仅包含有关我的第一个子模块(工具/ libft)的信息,而不包含有关projets / fdf的信息: [submodule "tools/libft"] path = tools/libft url = ssh://git@XXX.XXX.XXX.XXX:XXXXX/opt/git/libft.git 作为一名法国学生,我可能会错过英语文档中的某些内容,但是我进行了搜索,但我真的不明白为什么会遇到这个问题。 如果能得到解决方案,我将感到很高兴,但仅作一个解释也会有所帮助。


12
如何追踪未追踪的内容?
有关我的原始问题,请参见以下实线。 我的本地目录中有一个未跟踪的文件夹。当我跑步时git status,我得到: Changed but not updated: modified: vendor/plugins/open_flash_chart_2 (modified content, untracked content) 当我键入git add vendor/plugins/open_flash_chart_2然后再试git status一次时,它仍然显示未跟踪。这是怎么回事? 这是我最近半小时的简单摘要: 发现我的Github存储库未跟踪我的vendor/plugins/open_flash_chart_2插件。具体来说,没有内容,并且文件夹图标上显示绿色箭头。 试过了 git submodule init No submodule mapping found in .gitmodules for path 'vendor/plugins/open_flash_chart_2' 试过了 git submodule add git://github.com/korin/open_flash_chart_2_plugin.git vendor/plugins/open_flash_chart_2 vendor/plugins/open_flash_chart_2 already exists in the index git status modified: vendor/plugins/open_flash_chart_2 (untracked content) …

7
重命名git子模块
是否有一些简单的方法来重命名git子模块目录(除了进行删除它的整个动作, 然后使用新的目的地名称重新添加它)。 而当我们这样做时,为什么我根本无法在父目录中执行以下操作呢? git mv old-submodule-name new-submodule-name

10
如何摆脱Git子模块的未跟踪状态?
我似乎无法摆脱Git子模块中未跟踪的内容。运行git status收益: #在分支主管上 #尚未提交的更改: #(使用“ git add ...”更新将提交的内容) #(使用“ git checkout-...”放弃工作目录中的更改) #(在子模块中提交或丢弃未跟踪或修改的内容) # #修改:包/片段(未跟踪的内容) #修改:包/周围(未跟踪的内容) #修改:bundle / trailing-spacespace(未跟踪的内容) #修改:bundle / zencoding(未跟踪的内容) # 没有添加任何更改来提交(使用“ git add”和/或“ git commit -a”) 添加--ignore-submodules参数将隐藏这些消息。但我想知道是否有办法以一种更合适,更核心的方式摆脱这种污垢。

1
如何在git仓库中链接依赖项?
在我的脚本中,我经常使用具有自己存储库的库(我的库或其他库)。我不想重复我的仓库中的那些,并且每次新版本发布时都不想更新它们。但是,当有人克隆存储库时,它仍应在本地运行,并且没有断开的链接。 关于我能做什么的任何想法?

5
Git:致命的:Pathspec在子模块中
根据本指南,我正在尝试使TravisCI自动部署我的Hakyll静态站点。 这是我的存储库的设置方式。我有我的源分支,其中包含我的hakyll和markdown文件。它将html构建到_site目录中,该目录设置为子模块,并链接到我的master分支。 我建立站点没有问题,然后cd进入_site目录。但是,当我尝试git add ./*新生成的HTML文件时,出现以下错误: fatal: Pathspec './about.html' is in submodule '_site' 当我尝试时git add --all,出现此错误: git: pathspec.c:317: prefix_pathspec: Assertion `item->nowildcard_len <= item->len && item->prefix <= item->len' failed. /home/travis/build.sh: line 245: 1566 Aborted git add --all 是什么原因造成的,如何避免这种情况? 您可以在此处查看存储库。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.