经营范围里的网站建设,注册无区域公司有什么要求,如何看那个网站是那个公司做的,商业网站在规划与设计时应着重考虑哪些因素如果你想在自己的代码仓库中嵌入其它仓库#xff0c;这称为引入子模块#xff08;Submodule#xff09;。使用右键菜单TortoiseGit - Submodules Add 选项#xff0c;弹出添加子模块对话框#xff0c;可以将一个外部仓库嵌入到源代码树的专用子目录中。 Repository#x…如果你想在自己的代码仓库中嵌入其它仓库这称为引入子模块Submodule。使用右键菜单TortoiseGit - Submodules Add 选项弹出添加子模块对话框可以将一个外部仓库嵌入到源代码树的专用子目录中。 Repository外部仓库的路径也可以为 URLPath保存外部仓库的路径建议使用相对路径相对仓库根目录比如使用路径 .\common 会在仓库根目录下创建 common 文件夹。Branch勾选后可以将外部仓储嵌入到指定分支否则默认嵌入到当前分支。
点击 OK 按钮TortoiseGit 会自动增加子模块并进行子模块克隆。 然后 common 文件夹内就包含有最新的文件了。
虽然 common 文件夹是工作目录中的一个子文件夹但是 Git 还是会将它视作一个子模块当你不在那个目录中时Git 并不会跟踪它的内容而是将它看作子模块仓库中的某个具体的提交。
如果一个仓库包含子模块右键菜单会多出两个菜单项 Submodule Update 和 Submodule Sync Submodule Update初始化子模块、更新已注册的子模块 Initialize submodules(--init)初始化子模块的本地配置文件。 Recursive当有嵌套的子模块时递归更新这些子模块。 Remote tracking branch从远端仓库更新子模块本地子模块更新到与远端仓库一致。 Submodule Sync当子模块的URL在上游改变时使用这个菜单更新本地存储库。
当子模块更改后在使用子模块的项目中在主目录、在非子模块文件夹右击鼠标pull 操作并不能将子模块修改的内容同步到项目中。在子模块文件夹右击鼠标pull 操作可以将子模块修改的内容同步到项目中。在父目录右击鼠标pull 操作并不能将子模块修改的内容同步到项目中。
使用 Git Submodule Update... 并且勾选 Initialize submodules(--init)、Recursive 和 Remote tracking branch 时可以将子模块修改的内容同步到项目。注意如果不勾选 Remote tracking branch 选项则不会与远端仓库同步这样本地的信息可能是落后的可能会把通过在子模块目录上右击鼠标pull 操作获取的更新恢复成原来的旧版本。
子模块的使用模型
只使用子模块并不时地获取更新而并不在你的检出中进行任何更改。此时只有更新子模块一种操作。
方法1右击子模块文件夹选择Git Pull...拉取最新的内容。然后提交一次将子模块锁定为最新版本并记录子模块更新。方法2右击任意文件夹选择Git Submodule Update...将拉取内容并锁定为最新版本然后提交一次记录子模块更新。
导出的工程里面有子模块
一个工程里面有子模块。
通过 右键菜单 - Export... 导出程序。
即使导出的程序里面有 .gitmodules 文件也不能通过 Git Submodule Update... 菜单更新子模块。
需要右键菜单 TortoiseGit - Submodules Add 选项来新增子模块。