我创建了一个项目submodule并将其放在Github上。我创建了另一个项目,supermodule,然后这样做:cdsupermodulegitinitmkdirlibgitclonegit://github.com/tandu/submodulelib/submodulegitsubmoduleadd./lib/submodulelib/submodule这工作正常,但在网站上,它在查看文件时找不到子模块的链接(实际上它只是永远显示“加载提交数据”)。子模块文件夹本身具有正确的origin。显然,我应该做的是...mkdirlibgitsubmoduleaddgit://gith
我对git-submodules很困惑。基本上我的问题是我无法让git理解~/main-project/submodule是一个子模块。我对git子模块有很好的经验:在我的dotfilesrepository我在~/dotfiles-repo中创建了.gitmodules文件我在那里添加了路径和网址。从那时起,如果我更改子模块中的文件并运行gitstatus,我会得到类似的东西:.vim/bundle/auto-complete(newcommits)#inred我创建了.gitmodules文件在~/main-project但是:如果我更改~/main-project/submodu
我对git-submodules很困惑。基本上我的问题是我无法让git理解~/main-project/submodule是一个子模块。我对git子模块有很好的经验:在我的dotfilesrepository我在~/dotfiles-repo中创建了.gitmodules文件我在那里添加了路径和网址。从那时起,如果我更改子模块中的文件并运行gitstatus,我会得到类似的东西:.vim/bundle/auto-complete(newcommits)#inred我创建了.gitmodules文件在~/main-project但是:如果我更改~/main-project/submodu
我不明白documentationgitsubmodulesync做什么。请解释。 最佳答案 Git在两个地方存储有关子模块的信息。第一个位于名为.gitmodules的文件中,该文件已checkingit存储库。对此文件的更改会传播到其他存储库。另一个位置在.git/config中,这是git在执行大多数命令时实际查找的位置。假设您已经在一个项目上工作了一段时间,并且有一个名为foo的子模块。这个子模块的文件是从某个urlcheckout的,在哪里并不重要。但是,在某些时候,此url会发生变化。也许它会发生变化,以便从不同的服务器
我不明白documentationgitsubmodulesync做什么。请解释。 最佳答案 Git在两个地方存储有关子模块的信息。第一个位于名为.gitmodules的文件中,该文件已checkingit存储库。对此文件的更改会传播到其他存储库。另一个位置在.git/config中,这是git在执行大多数命令时实际查找的位置。假设您已经在一个项目上工作了一段时间,并且有一个名为foo的子模块。这个子模块的文件是从某个urlcheckout的,在哪里并不重要。但是,在某些时候,此url会发生变化。也许它会发生变化,以便从不同的服务器
我正在尝试向我的git存储库添加一个子模块,但我得到了这个错误:remoteorigindoesnothaveaurldefinedin.git/config关于这可能是什么的任何想法?我尝试用谷歌搜索它,但只出现一个模糊的链接。我这样做:gitsubmoduleadd../extern/Lib1lib我希望这会创建一个子模块lib/Lib1我知道这只会创建一个引用,然后我必须更新/初始化(这部分不是很清楚,还没有走那么远;我只是在学习子模块命令)。 最佳答案 是否../extern/Lib1引用Git存储库?如果没有,Git将不知
我正在尝试向我的git存储库添加一个子模块,但我得到了这个错误:remoteorigindoesnothaveaurldefinedin.git/config关于这可能是什么的任何想法?我尝试用谷歌搜索它,但只出现一个模糊的链接。我这样做:gitsubmoduleadd../extern/Lib1lib我希望这会创建一个子模块lib/Lib1我知道这只会创建一个引用,然后我必须更新/初始化(这部分不是很清楚,还没有走那么远;我只是在学习子模块命令)。 最佳答案 是否../extern/Lib1引用Git存储库?如果没有,Git将不知
运行有什么区别gitsubmoduleupdate--remote对比cdgitpull假设子模块之前设置为跟踪某个分支:gitsubmoduleadd-bmaster[URLtoGitrepo] 最佳答案 区别在于:gitpull只会更新您的子模块分支,但它可以是您可以在该子模块仓库中checkout的任何分支。gitsubmoduleupdate--remote只会更新在.gitmodule中注册的分支,默认情况下,你最终会得到一个分离的HEAD,除非--rebase或--merge被指定或关键字submodule.$name.
运行有什么区别gitsubmoduleupdate--remote对比cdgitpull假设子模块之前设置为跟踪某个分支:gitsubmoduleadd-bmaster[URLtoGitrepo] 最佳答案 区别在于:gitpull只会更新您的子模块分支,但它可以是您可以在该子模块仓库中checkout的任何分支。gitsubmoduleupdate--remote只会更新在.gitmodule中注册的分支,默认情况下,你最终会得到一个分离的HEAD,除非--rebase或--merge被指定或关键字submodule.$name.
我有一个包含许多子模块的项目。我想使用以下命令遍历每个子模块:gitsubmoduleforeachnpminstall而且我希望脚本继续遍历每个子模块,即使一个子模块返回错误(非零返回代码)也是如此。目前,在任何子模块中运行此命令的非零返回码将导致git停止循环剩余的子模块。关于如何实现这一点有什么建议吗? 最佳答案 只需让您的命令始终返回0代码,如下所示:gitsubmoduleforeach'npminstall||:'这取自手册:githelpsubmodule:foreachEvaluatesanarbitraryshel