标签: git-submodules

如何将现有GIT存储库的一部分作为子模块

我有这个git存储库,其中包含两个文件夹:binary-searchpoker.例如,http://github.com/soulnafein/code-katas

我想将这些文件夹放入子模块并保留其更改历史记录.

我怎样才能做到这一点?

git git-submodules

28
推荐指数
2
解决办法
1万
查看次数

编辑git子模块

这可能吗?想象一下,我有父母和孩子的项目.两者都是git存储库.Child是Parent的子模块.

我是否可以对Parent内部的Child版本进行编辑并提交和推送它们就像常规存储库一样?

或者我需要在某个地方单独克隆Child,我对其进行了更改?

谢谢.

git git-submodules

28
推荐指数
2
解决办法
2万
查看次数

git submodule init没有提取最新提交

我有一个git repo,里面有一个git子模块.子模块托管在bitbucket上.我想将子模块的本地副本更新为其最新提交.我厌倦了" git submodule update "但是没有做任何事情.所以我尝试删除子模块文件夹然后执行" git submodule init "但是它只是提取初始子模块提交,而不是最新的.

如何让我的本地子模块更新到最新的提交?

git git-submodules

28
推荐指数
3
解决办法
1万
查看次数

Git子模块提交挂钩

我正在使用一个git子模块(我们称之为SubmoduleRepo),这样我就可以将我的模块包含在几个项目中.

我可以从任何使用它的项目中提交SubmoduleRepo.

我可以非常轻松地更新,提交和推送到SubmoduleRepo.

每当我在包含SubmoduleRepo的项目中的目录中工作时,我都需要执行一个提交钩子(当我在SubmoduleRepo中工作时,提交钩子按预期执行)

子模块的dir中没有.git文件夹(仅指定当前目录路径的.git文件).

git pre-commit-hook git-submodules

27
推荐指数
2
解决办法
7619
查看次数

更改git子模块,并保留更改

我已经将我的一个库的git子模块克隆到我正在进行的项目中.问题是,在克隆之后,我需要更改克隆子模块中的一些行,但我不想将这些更改推送到原始存储库中.

我希望这些更改留在超级项目中.这可能吗?我怎样才能做到这一点?

编辑:正如@GoZoner所说,基本上是:

  1. git clone foo;
  2. cd foo;
  3. git submodule init;
  4. git子模块更新;
  5. cd path/to/submodule;
  6. git checkout master;
  7. 更改子模块
  8. git commit -am"Something";
  9. git push origin(超级项目);

然后,当我在另一台计算机中克隆超级项目时(直到第4步),我希望在超级项目中保存这些更改.

git git-submodules

27
推荐指数
1
解决办法
7406
查看次数

如何"解决致命:不是git存储库"?

我试图从项目中删除一个子模块

尝试了 rm -rf .git/modules/submodulePath

之后我就遇到了这个问题

致命的:不是git存储库

git git-submodules

27
推荐指数
4
解决办法
3万
查看次数

如何告诉Travis跳过所有git子模块?

在我的项目中,我有一些git子模块,但是这些不是实际的构建依赖项,并且需要花费一些额外的时间才能进入,可能会使构建时间增加一倍或三倍.

有没有办法告诉特拉维斯跳过这个无用的步骤?

git-submodules travis-ci

26
推荐指数
1
解决办法
1689
查看次数

git:更改克隆子模块的来源

我创建了一个项目submodule并将其放在Github上.

我创建了另一个项目,supermodule然后做了这个:

cd supermodule
git init
mkdir lib
git clone git://github.com/tandu/submodule lib/submodule
git submodule add ./lib/submodule lib/submodule
Run Code Online (Sandbox Code Playgroud)

这工作正常,但在网站上,它在查看文件时找不到子模块的链接(实际上它只是说"永远加载提交数据").子模块文件夹本身是正确的origin.

显然,我应该做的是

...
mkdir lib
git submodule add git://github.com/tandu/submodule lib
Run Code Online (Sandbox Code Playgroud)

......但现在已经太晚了.如何正确指向此项目中的子模块origin

git github git-submodules

26
推荐指数
2
解决办法
1万
查看次数

下载时自动包含GitHub子模块

我有一个GitHub存储库,并使用另一个项目作为子模块.这个子模块也在.gitmodules,代码如下:

[submodule "inc/tha"]
    path = inc/tha
    url = git://github.com/zamoose/themehookalliance.git
Run Code Online (Sandbox Code Playgroud)

另请参见GitHub.

回购中的子模块

我怎么能这样做,所以从GitHub下载我的存储库还将包括子模块中的文件?

git github git-submodules

26
推荐指数
1
解决办法
8676
查看次数

git按子文件夹拆分存储库并保留所有旧分支

我有一个带有2个目录和多个分支的git仓库,我想拆分它们并创建所有分支

`-- Big-repo
    |-- dir1
    `-- dir2

Branches : branch1, branch2, branch3 ...
Run Code Online (Sandbox Code Playgroud)

我想要的是

我想将dir1和dir2拆分为两个独立的repos并在两个存储库中保留branch branch1,branch2 ....

dir1
Branches : branch1, branch2, branch3 ...

dir2
Branches : branch1, branch2, branch3 ...
Run Code Online (Sandbox Code Playgroud)

我尝试了什么:

我能够将它们分成2个回购

git subtree split -P dir1 -b dir1-only 
git subtree split -P dir2 -b dir2-only 
Run Code Online (Sandbox Code Playgroud)

但是,分离后不会创建任何分支.

要获得所有分支:

git checkout branch1 (in Big-repo)
git subtree split -p dir1 -b dir1-branch1

git checkout branch2 (in Big-repo)
git subtree split -p dir1 -b dir1-branch2

And push these branches to newly created …
Run Code Online (Sandbox Code Playgroud)

git git-submodules git-filter-branch git-subtree

26
推荐指数
2
解决办法
6732
查看次数