草庐IT

克隆和子模块更新后 Git 子模块处于 "detached head"状态

当我克隆我的git存储库时,其中一个子模块位于一个名称奇怪的分支中,我认为这意味着它有一个“分离的头”(我什至不确定那是什么意味着)。如果我检查子模块的主分支,然后运行“gitsubmoduleupdate--init--recursive”它再次发生。有人知道这是怎么回事吗? 最佳答案 子模块总是作为分离的HEADcheckout(参见“Whydidgitdetachmyhead?”),因为父仓库的索引仅包含SHA1作为specialentryinitsindex,正如GaryFixler所解释的那样的answer.即使你conf

git - 无法 checkout git 子模块路径

我在使用git子模块时遇到问题。每当我从上游存储库收到新的子模块引用时,执行gitsubmoduleupdate会得到以下结果:fatal:referenceisnotatree:dd208d46ecdd1ac0d2b2594a610fe4c9150fece1Unabletocheckout'dd208d46ecdd1ac0d2b2594a610fe4c9150fece1'insubmodulepath'submodule/path'重要的是要注意子模块有几个远程,其中上游远程应该用于更新子模块引用树。我猜我的问题就在那里,但我不确定。我的设置如下:Git项目Remote:来源(我的g

git - 无法 checkout git 子模块路径

我在使用git子模块时遇到问题。每当我从上游存储库收到新的子模块引用时,执行gitsubmoduleupdate会得到以下结果:fatal:referenceisnotatree:dd208d46ecdd1ac0d2b2594a610fe4c9150fece1Unabletocheckout'dd208d46ecdd1ac0d2b2594a610fe4c9150fece1'insubmodulepath'submodule/path'重要的是要注意子模块有几个远程,其中上游远程应该用于更新子模块引用树。我猜我的问题就在那里,但我不确定。我的设置如下:Git项目Remote:来源(我的g

git - 指定为相对路径时无法添加 git 子模块

我正在尝试向我的git存储库添加一个子模块,但我得到了这个错误:remoteorigindoesnothaveaurldefinedin.git/config关于这可能是什么的任何想法?我尝试用谷歌搜索它,但只出现一个模糊的链接。我这样做:gitsubmoduleadd../extern/Lib1lib我希望这会创建一个子模块lib/Lib1我知道这只会创建一个引用,然后我必须更新/初始化(这部分不是很清楚,还没有走那么远;我只是在学习子模块命令)。 最佳答案 是否../extern/Lib1引用Git存储库?如果没有,Git将不知

git - 指定为相对路径时无法添加 git 子模块

我正在尝试向我的git存储库添加一个子模块,但我得到了这个错误:remoteorigindoesnothaveaurldefinedin.git/config关于这可能是什么的任何想法?我尝试用谷歌搜索它,但只出现一个模糊的链接。我这样做:gitsubmoduleadd../extern/Lib1lib我希望这会创建一个子模块lib/Lib1我知道这只会创建一个引用,然后我必须更新/初始化(这部分不是很清楚,还没有走那么远;我只是在学习子模块命令)。 最佳答案 是否../extern/Lib1引用Git存储库?如果没有,Git将不知

git - 如何从父克隆中的过去提交中获取 git 子模块关联的提交 ID?

除了实际检查父提交之外,有没有一种方法可以根据父克隆中的提交ID确定子模块的SHA-1提交ID?我知道我可以找到currently与gitsubmodule关联的SHA-1。举个例子:我有一个带有单个子模块foo的克隆,该子模块在上个月发生了多次更改。我在几周前的父克隆中有一个名为released-1.2.3的标签。我想找出此标记提交的foo的关联SHA-1是什么。我可以简单地查看released-1.2.3并使用gitsubmodule来查看,但我想知道是否有办法做到这一点影响工作树,因为我想编写脚本。我想这样做是因为我想构建一个脚本来对父存储库中两次提交之间的子模块中的所有更改进行

git - 如何从父克隆中的过去提交中获取 git 子模块关联的提交 ID?

除了实际检查父提交之外,有没有一种方法可以根据父克隆中的提交ID确定子模块的SHA-1提交ID?我知道我可以找到currently与gitsubmodule关联的SHA-1。举个例子:我有一个带有单个子模块foo的克隆,该子模块在上个月发生了多次更改。我在几周前的父克隆中有一个名为released-1.2.3的标签。我想找出此标记提交的foo的关联SHA-1是什么。我可以简单地查看released-1.2.3并使用gitsubmodule来查看,但我想知道是否有办法做到这一点影响工作树,因为我想编写脚本。我想这样做是因为我想构建一个脚本来对父存储库中两次提交之间的子模块中的所有更改进行

git - 从 GitHub 克隆项目后 pull git 子模块

我有一个项目,其中指定了子模块。一切都在开发机器上运行良好。我已经提交了.gitmodules文件并开始生产。但是它不会pull子模块。如果我进入子模块目录并调用gitpull,什么也不会发生。在新项目中pull这些子模块的正确方法是什么? 最佳答案 从repo的根目录运行:gitsubmoduleupdate--init 关于git-从GitHub克隆项目后pullgit子模块,我们在StackOverflow上找到一个类似的问题: https://stac

git - 从 GitHub 克隆项目后 pull git 子模块

我有一个项目,其中指定了子模块。一切都在开发机器上运行良好。我已经提交了.gitmodules文件并开始生产。但是它不会pull子模块。如果我进入子模块目录并调用gitpull,什么也不会发生。在新项目中pull这些子模块的正确方法是什么? 最佳答案 从repo的根目录运行:gitsubmoduleupdate--init 关于git-从GitHub克隆项目后pullgit子模块,我们在StackOverflow上找到一个类似的问题: https://stac

git - 什么是子模块 fork 的良好工作流程

假设我们在github上有如下的仓库结构:company:project.git\-company:submodule.git我公司的一位开发人员fork公司项目,使他的工作区看起来像这样:developer:project.git\-company:submodule.git这对90%的开发人员来说很好,因为他们不更改子模块库,他们只在项目中工作。现在假设有一个新功能需要改进子模块。负责此的开发人员将他的工作区转换为:developer:project.git\-developer:submodule.git到达那里并非易事,因为他需要用另一个子模块替换一个子模块(对于git,原始子