标签: git-submodules

Git子模块头'引用不是树'错误

我有一个带有子模块的项目,该子模块指向无效的提交:子模块提交仍然是本地的,当我尝试从另一个repo获取它时,我得到:

$ git submodule update
fatal: reference is not a tree: 2d7cfbd09fc96c04c4c41148d44ed7778add6b43
Unable to checkout '2d7cfbd09fc96c04c4c41148d44ed7778add6b43' in submodule path 'mysubmodule'
Run Code Online (Sandbox Code Playgroud)

我知道子模块HEAD应该是什么,有什么办法,我可以在当地改变这一状况,在不脱离回购推确实已经提交2d7cfbd09fc96c04c4c41148d44ed7778add6b43

我不确定我是否清楚...... 这是我发现的类似情况.

git git-submodules

301
推荐指数
7
解决办法
19万
查看次数

如何将子模块添加到子目录?

我有一个~/.janus/带有一堆子模块的git repo .我想添加一个子模块~/.janus/snipmate-snippets/snippets/,但是当我git submodule add <git@github.com:...>snipmate-snippets目录中运行时,我收到以下错误消息:

You need to run this command from the toplevel of the working tree.
Run Code Online (Sandbox Code Playgroud)

所以问题是:如何在snipmate-snippets目录中添加子模块?

git git-submodules

282
推荐指数
4
解决办法
20万
查看次数

如何在另一个存储库中使用git存储库?

我有一个Git媒体存储库,我将保存我将在各种项目中使用的所有JavaScript和CSS主文件和脚本.

如果我创建一个位于其自己的Git存储库中的新项目,我如何在我的新项目中使用来自我的媒体存储库的JavaScript文件,从而使我在进行更改时不必更新脚本的两个副本?

git multiple-repositories git-submodules

270
推荐指数
5
解决办法
9万
查看次数

git子模块和子树之间的差异

使用git子模块和子树之间有什么概念上的区别?

每种情况的典型情况是什么?

git git-submodules git-subtree

269
推荐指数
6
解决办法
7万
查看次数

Git以递归方式更新子模块

我的项目结构

ProjectA
-FrameworkA (submodule)
--Twig (submodule of FrameworkA)
Run Code Online (Sandbox Code Playgroud)

我如何递归更新子模块?我已经尝试了一些git命令(在ProjectA上)

git submodule foreach git pull origin master
Run Code Online (Sandbox Code Playgroud)

要么

git submodule foreach --recursive git pull origin master
Run Code Online (Sandbox Code Playgroud)

但是不能拉扯Twig的文件.

git git-submodules

260
推荐指数
5
解决办法
21万
查看次数

将子模块更新为最新提交

我有一个项目A,它是一个库,它在项目B中使用.

项目A和B在github BUT上都有一个单独的存储库,我们有一个A的子模块.

我在库中编辑了一些类,这是在repo A中,我推送了远程仓库,所以我们更新了库(repo A).

这些更新不反映子模块引用先前提交的"引用"(子模块)....我应该怎么做才能更新git上的子模块?

git git-submodules

241
推荐指数
6
解决办法
15万
查看次数

如何将我的更改还原为git子模块?

我有一个git子模块(RestKit),我已经添加到我的仓库.

我不小心改变了那里的一些文件,我想回到源版本.为了做到这一点,我试着跑

Mac:app-ios user$ git submodule update RestKit
Run Code Online (Sandbox Code Playgroud)

但正如你在这里看到的,这不起作用,因为它仍然是"修改内容":

Mac:app-ios user$ git status
...
#   modified:   RestKit (modified content)
Run Code Online (Sandbox Code Playgroud)

甚至

Mac:app-ios user$ git submodule update -f RestKit 
Run Code Online (Sandbox Code Playgroud)

不会还原本地修改的文件.
如何重置该子模块的内容?

git git-submodules

241
推荐指数
11
解决办法
14万
查看次数

如何在git子模块中"提交"更改?

在我天真的时候,我已经设置了一个git子模块并将其视为Subversion外部 - 即它现在充满了我刚才意识到的未经提交或推送到任何地方的变化.

是否有一些简单的方法将子模块更改提交/推送回上游存储库?Git推荐的技术是什么,以这种方式在单独的(但链接的)存储库上同时进行开发?

git git-submodules

237
推荐指数
4
解决办法
17万
查看次数

git子模块更新

我不清楚以下是什么意思(来自git submodule update docs):

...将使子模块HEAD分离,除非--rebase--merge指定...

怎么--rebase/ --merge改变事情?

我的主要用例是有一堆中央存储库,我将通过子模块嵌入到其他存储库中.我希望能够改进这些中央回购,直接在他们的原始位置,或从他们的嵌入回购(通过子模块使用它们的那些).

  • 从这些子模块中,我可以创建分支/修改并使用推/拉,就像我在常规回购中一样,或者有什么需要谨慎的吗?
  • 我如何将子模块引用的提交从say(tagged)1.0提升到1.1(即使原始repo的头部已经是2.0),或者选择使用哪个分支的提交?

git git-submodules

233
推荐指数
4
解决办法
23万
查看次数

列出Git存储库中的子模块

我有一个Git存储库,里面有几个子模块.如何git submodule init在运行后列出所有子模块的名称?

git submodule foreach命令可以回显子模块的名称,但只有在检出后才能使用,这在init步骤之后没有发生.链中有更多的步骤需要在签出之前发生,我不希望将子模块的名称硬连接到脚本中.

那么是否有一个Git命令来获取所有当前已注册但尚未检出的子模块的名称?

git git-submodules

215
推荐指数
16
解决办法
15万
查看次数