Questions tagged «git-submodules»

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

1
Git在哪里存储子模块的提交的SHA1?
我知道,当您将子模块添加到git存储库时,它会跟踪其sha1引用的该子模块的特定提交。 我试图找到此sha1值存储在哪里。 在.gitmodules和.git/config文件只显示了子模块的路径,但不是的提交SHA1。 该混帐子模块(1)参考只讲一个的gitlink条目和gitmodules(5)参考不说这事,无论是。
141 git  git-submodules  sha 

9
如何制作浅git子模块?
可能会有浅层子模块吗?我有一个包含几个子模块的超项目,每个子模块都有悠久的历史,因此不必要地拖累了所有历史。 我所发现的只是这个未回答的话题。 我应该只是破解git-submodule来实现吗?

2
子模块内部的Git子模块(嵌套子模块)
git子模块是否可以由其他几个git子模块组成,而super git repo可以获取每个子模块的内容? 我试图使用创建包含几个子模块的git repo的显而易见/天真的方法来做到这一点。 然后将此git repo添加到另一个git repo作为子模块。 然后试图通过从超级混帐回购协议的根目录拉git submodule init,然后git submodule update。但这无法获取子子模块。

1
git子模块跟踪最新
我们正在将(巨大的)项目移至git,并且正在考虑使用子模块。我们的计划是在超级项目中拥有三个不同的负责人:release,stable,latest。项目负责人将负责发布和稳定分支。他们将根据需要移动子模块。 问题是“最新的”头。我们希望超级项目的“最新”头(自动)跟踪所有子模块的主分支。而且,如果它将显示对子模块的所有提交的历史记录,那也很好。 我看过gitslave,但这并不是我们想要的。有什么建议?

1
回购克隆后,空的Git子模块文件夹
我在https://github.com/aikiframework/json上托管了一个仓库。在本地副本上,我使用以下命令添加了一个子模块 git submodule add git@github.com:jcubic/json-rpc.git json-rpc 然后,我进行了提交和推送,更改出现在GitHub上(我可以单击它)。但是当我克隆仓库时 git clone https://github.com/aikiframework/json.git 子模块文件夹json-rpc为空。 我在这里想念什么?我忘了什么吗?为什么该文件夹为空?

2
Git子模块推送
如果修改子模块,是否可以将提交推回到子模块的原点,还是需要克隆?如果是克隆,是否可以将克隆存储在另一个存储库中?

6
如何将Git子模块指针还原为存储在包含存储库中的提交?
我的主要git仓库中有一个git子模块。据我了解,主存储库存储SHA值(在某处...),指向它“链接到”的子模块的特定提交。 我进入子模块并输入git checkout some_other_branch。我不知道我来自哪个提交。 我想还原该指针,以便主仓库和子模块再次同步。 我的第一个(可能是幼稚的)本能是说git reset --hard-似乎对其他所有事情都起作用。令我惊讶的是,它不适用于这种情况。 因此,我确定可以键入git diff,记下子模块指针曾经具有的SHA ID,然后进入子模块,然后git checkout [SHA ID]...但是肯定有一种更简单的方法吗? 由于我仍在学习git子模块,因此如果有我不知道的概念用词,请随时纠正我的术语。

7
如何处理与git子模块的冲突?
我有一个git超级项目,它引用了几个子模块,并且我试图锁定工作流,以便其余的项目成员都能在其中工作。 对于这个问题,可以说我的超级项目被调用supery,子模块被调用subby。(然后简化了我要做的事情……我实际上并没有在版本中使用分支,但是我认为这是最容易提出问题的方法。) 我的master分支将git项目supery的标签称为子模块。的分支叫,改变了子模块的参考点来标记的。v1.0subbysuperyone.onev1.1subby 我可以轻松地在每个分支中工作,但是如果尝试使用one.one分支中的更改来更新分支,则会master收到一些冲突,并且我不知道如何解决它们。 基本上git pull . master,在subby分支中运行了一段时间之后,看起来好像创建了其他子模块。 在拉/合并之前,我git submodule从one.one分支获得了所需的响应: $ git checkout master $ git submodule qw3rty...321e subby (v1.0) $ git checkout one.one $ git submodule asdfgh...456d subby (v1.1) 但是在拉动之后,当我运行时,它将添加其他子模块git submodule: $ git pull . master Auto-merged schema CONFLICT (submodule): Merge conflict in subby - needs qu3rty...321e Automatic merge …

9
Git:我可以禁止列出状态,差异等“已修改内容” /脏子模块条目的列表吗?
某些时候(我认为大约在1.6.x版本中),git意识到子模块内部的变化。那只会惹恼我: $ git status供应商| grep修改为: #修改:供应商/铁路(修改的内容) $ git diff供应商/ diff --git a /供应商/ rails b /供应商/ rails -/供应商/铁路 +++ b /供应商/铁路 @@ -1 +1 @@ -子项目提交046c900df27994d454b7f906caa0e4226bb42b6f +子项目提交046c900df27994d454b7f906caa0e4226bb42b6f-dirty 请停下来吗? 编辑: 好的,我有一个答案。现在我有另一个问题: 我可以放进去~/.gitconfig吗?从最初开始,我似乎无法做到,而且我也没有看到通过浏览补丁获得任何希望的地方。(我想我仍然可以使用别名。)

5
如何提取一个git子目录并从中创建一个子模块?
我几个月前开始了一个项目,并将所有内容存储在主目录中。在我的主目录“ Project”中,有几个包含不同内容的子目录:Project / paper包含用LaTeX编写的文档Project / sourcecode / RailsApp包含我的rails应用程序。 “项目”已GIT化,并且“纸张”和“ RailsApp”目录中都有很多提交。现在,就像我想对我的“ RailsApp”使用cruisecontrol.rb一样,我想知道是否有一种方法可以在不丢失历史的情况下从“ RailsApp”中制作一个子模块。

4
添加git子模块时,“您正在诞生的分支”
我试图在.vim/bundles目录中添加一些子模块,当我尝试添加此特定仓库时,Git给了我一个我从未见过的奇怪错误: $ git submodule add -f git://github.com/derekwyatt/vim-scala.git .vim/bundle/vim-scala fatal: You are on a branch yet to be born Unable to checkout submodule '.vim/bundle/vim-scala' 知道是什么原因造成的吗? 如果我将同一存储库克隆到测试目录(而不是通过submodule命令),则可以正常工作并创建所需的文件。

6
追溯地将Git文件夹转换为子模块?
通常,您正在编写某种类型的项目,一段时间后,很明显该项目的某些组件实际上可用作独立组件(也许是库)。如果您从一开始就有这个想法,那么很有可能大多数代码都在其自己的文件夹中。 有没有一种方法可以将Git项目中的子目录之一转换为子模块? 理想情况下,将发生以下情况:从父项目中删除该目录中的所有代码,并在子目录项目中添加所有适当的历史记录,并将所有父项目提交都指向正确的子模块提交。 。

20
Git不会初始化/同步/更新新的子模块
这是我.gitmodules文件内容的一部分: [submodule "src/static_management"] path = src/static_management url = git://github.com/eykd/django-static-management.git [submodule "external/pyfacebook"] path = external/pyfacebook url = http://github.com/sciyoshi/pyfacebook.git 但是,.git/config仅包含第一个: [submodule "src/static_management"] url = git://github.com/eykd/django-static-management.git 第二个子模块(external/pyfacebook)是由另一个开发人员在功能分支中添加的。我现在继承了开发,并签出了功能分支。但是,Git不会为我拉子模块。我试过了: git submodule init git submodule update git submodule update --init git submodule sync 从中删除所有子模块定义.git/config并运行git submodule init。它仅复制先前存在的子模块,而忽略新的子模块。 .git/config手动输入新的子模块定义并运行git submodule update。仅先前存在的子模块需要更新。 git有多种组合,但是git不会.git/config根据的新内容进行更新.gitmodules,也不会创建external/pyfacebook文件夹并提取子模块的内容。 我想念什么?是否.git/config确实需要手动干预(将手工添加子模块条目),为什么? 编辑:手动干预不起作用。手动将新的子模块条目添加到.git/config不会执行任何操作。新的子模块将被忽略。

3
从文件夹创建子模块存储库并保留其git commit历史记录
我有一个以特定方式浏览其他Web应用程序的Web应用程序。它在一个demos文件夹中包含一些Web演示,并且其中一个演示现在应该具有自己的存储库。我想为此演示应用程序创建一个单独的存储库,并使其成为分包 主存储库中的子模块,而不会丢失其提交历史记录。 是否可以保留存储库文件夹中文件的提交历史记录,并从中创建存储库并将其用作子模块?

3
如何在维护历史记录的同时将单个目录从git存储库移至新存储库?
我继承了一个git仓库,在单独的目录中包含多个项目。我想将存储库拆分为新的单个存储库,每个项目一个,然后让主存储库将项目作为子模块包含。我想做所有这一切,同时尽可能保留各个项目的修订历史。 我可以为每个项目克隆存储库,并每次都删除所有其他项目,但是有更好的方法来避免在每个新项目存储库中都有克隆的历史记录吗?

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.