草庐IT

submodule

全部标签

git - 为什么我的 Git 子模块 HEAD 与主模块分离?

我正在使用Git子模块。从服务器pull更改后,很多时候我的子模块头与主分支分离。为什么会这样?我必须总是这样做:gitbranchgitcheckoutmaster如何确保我的子模块始终指向master分支? 最佳答案 编辑:参见@SimbaAnswer有效的解决方案submodule..updateiswhatyouwanttochange,seethedocs-defaultcheckoutsubmodule..branchspecifyremotebranchtobetracked-defaultmaster旧答案:就我个人

git - 为什么我的 Git 子模块 HEAD 与主模块分离?

我正在使用Git子模块。从服务器pull更改后,很多时候我的子模块头与主分支分离。为什么会这样?我必须总是这样做:gitbranchgitcheckoutmaster如何确保我的子模块始终指向master分支? 最佳答案 编辑:参见@SimbaAnswer有效的解决方案submodule..updateiswhatyouwanttochange,seethedocs-defaultcheckoutsubmodule..branchspecifyremotebranchtobetracked-defaultmaster旧答案:就我个人

git - 如何在 Git 存储库中移动现有的 Git 子模块?

我想在我的Gitsuper项目中更改Git子模块的目录名称。假设我的.gitmodules文件中有以下条目:[submodule".emacs.d/vimpulse"]path=.emacs.d/vimpulseurl=git://gitorious.org/vimpulse/vimpulse.git我必须输入什么才能将.emacs.d/vimpulse目录移动到.emacs.d/vendor/vimpulse而不先删除它(已解释here和here)然后重新添加它。Git真的需要子模块标签中的整个路径吗[submodule".emacs.d/vimpulse"]或者是否也可以只存储子项

git - 如何在 Git 存储库中移动现有的 Git 子模块?

我想在我的Gitsuper项目中更改Git子模块的目录名称。假设我的.gitmodules文件中有以下条目:[submodule".emacs.d/vimpulse"]path=.emacs.d/vimpulseurl=git://gitorious.org/vimpulse/vimpulse.git我必须输入什么才能将.emacs.d/vimpulse目录移动到.emacs.d/vendor/vimpulse而不先删除它(已解释here和here)然后重新添加它。Git真的需要子模块标签中的整个路径吗[submodule".emacs.d/vimpulse"]或者是否也可以只存储子项

git - 如何删除子模块?

如何删除Git子模块?为什么我做不到gitsubmodulermmodule_name? 最佳答案 在现代git中(我在2022年写这篇文章,更新了git安装),这变得相当简单:运行gitrm,并提交。这将删除处的文件树,以及子模块在.gitmodules中的条目文件。即您的存储库中子模块的所有痕迹都被删除了。作为thedocsnote然而,.git子模块的目录保留在周围(在主项目的modules/目录的.git目录中),“可以检查过去的提交,而无需从另一个存储库中获取”。如果您仍想删除此信息,请手动删除.git/modules/中

git - 如何删除子模块?

如何删除Git子模块?为什么我做不到gitsubmodulermmodule_name? 最佳答案 在现代git中(我在2022年写这篇文章,更新了git安装),这变得相当简单:运行gitrm,并提交。这将删除处的文件树,以及子模块在.gitmodules中的条目文件。即您的存储库中子模块的所有痕迹都被删除了。作为thedocsnote然而,.git子模块的目录保留在周围(在主项目的modules/目录的.git目录中),“可以检查过去的提交,而无需从另一个存储库中获取”。如果您仍想删除此信息,请手动删除.git/modules/中

Git中submodule的使用

背景面对比较复杂的项目,我们有可能会将代码根据功能拆解成不同的子模块。主项目对子模块有依赖关系,却又并不关心子模块的内部开发流程细节。这种情况下,通常不会把所有源码都放在同一个Git仓库中。有一种比较简单的方式,是在当前工作目录下,将子模块文件夹加入到.gitignore文件内容中,这样主项目就能够无视子项目的存在。这样做有一个弊端就是,使用主项目的人需要有一个先验知识:需要在当前目录下放置一份某版本的子模块代码。还有另外一种方式可供借鉴,可以使用Git的submodule功能,也是这篇文章的主题。实际上Git工具的submodule功能就是建立了当前项目与子模块之间的依赖关系:子模块路径、子

java - 将相对路径转换为绝对路径

我有文件A的绝对路径。我有一个从文件A的目录到文件B的相对路径。此路径可能并且将使用“..”以任意复杂的方式上升到目录结构。示例A:C:\projects\project1\module7\submodule5\fileA示例B:..\..\module3\submodule9\subsubmodule32\fileB..\submodule5\fileB..\..\module7\..\module4\submodule1\fileB文件B如何将两者结合起来以获得最简单的文件B的绝对路径? 最佳答案 如果我解决了你的问题,你可以这

java - 将相对路径转换为绝对路径

我有文件A的绝对路径。我有一个从文件A的目录到文件B的相对路径。此路径可能并且将使用“..”以任意复杂的方式上升到目录结构。示例A:C:\projects\project1\module7\submodule5\fileA示例B:..\..\module3\submodule9\subsubmodule32\fileB..\submodule5\fileB..\..\module7\..\module4\submodule1\fileB文件B如何将两者结合起来以获得最简单的文件B的绝对路径? 最佳答案 如果我解决了你的问题,你可以这

git submodule fatal: please stage your changes to .gitmodules or stash them to proceed

文章目录打开myProject文件夹所在位置,鼠标右键选择`GitBashHere`直接删掉submodule中的子模块,比如删掉sub_project1到.git文件夹下删掉所有相关的东西删除myProject/.git/config相关内容删除myProject/.git/modules相关内容回到submodule文件夹,gitsubmoduleaddxxx(git仓库地址)`'sub_project1alreadyexistsintheindex'`报错,用--cached`Pleasestageyourchangesto.gitmodulesorstashthemtoproceed`