TortoiseGit 入门指南17:使用子模块

这篇具有很好参考价值的文章主要介绍了TortoiseGit 入门指南17:使用子模块。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

子模块简介

子模块(submodule)是一种将一个 Git 仓库作为另一个 Git 仓库的子目录进行管理的方法。它允许你将一个 Git 仓库嵌套到另一个仓库中,并保持提交的独立。

这对于管理依赖关系和共享代码非常有用。比如我有一个模块库 common,里面有一些所有项目都可能会用到的模块,这些模块与硬件无关,但可能会修改和升级新功能。如果我在每个项目复制一份 common 文件,那么一段时间之后,各个项目的 common 文件夹内的文件会出现不一致。这个时候可以在项目中使用子模块。首先将 common 模块作为一个独立仓库,然后在实际项目仓库中引用 common 仓库。

子模块有以下几个用处:

  • 管理依赖关系:如果一个项目依赖于另一个项目的代码,可以将依赖的项目作为子模块引入到主项目中。这样,主项目可以轻松地跟踪依赖项目的更新,并确保使用的是正确版本的依赖代码。
  • 代码共享:子模块允许你将一个仓库的代码共享给多个项目。这对于复用代码和组件非常有用,可以避免重复的代码拷贝和维护工作。
  • 保持提交的独立:子模块保持了提交的独立性,即主项目和子模块的提交是分开进行的。这样可以确保子模块的开发和更新不会干扰到主项目的代码库。

使用 TortoiseGit 管理子模块

如果你想在自己的代码仓库中嵌入其它仓库,这称为引入子模块(Submodule)。使用右键菜单TortoiseGit - Submodules Add 选项,弹出添加子模块对话框,可以将一个外部仓库嵌入到源代码树的专用子目录中。

tortoisegit添加子模块,Git,TortoiseGit,git

  • Repository:外部仓库的路径,也可以为 URL
  • Path:保存外部仓库的路径,建议使用相对路径(相对仓库根目录,比如使用路径 .\common 会在仓库根目录下创建 common 文件夹)。
  • Branch:勾选后可以将外部仓储嵌入到指定分支,否则默认嵌入到当前分支。

点击 OK 按钮,TortoiseGit 会自动增加子模块并进行子模块克隆。

tortoisegit添加子模块,Git,TortoiseGit,git
然后 common 文件夹内就包含有最新的文件了。

虽然 common 文件夹是工作目录中的一个子文件夹,但是 Git 还是会将它视作一个子模块,当你不在那个目录中时,Git 并不会跟踪它的内容,而是将它看作子模块仓库中的某个具体的提交。

如果一个仓库包含子模块,右键菜单会多出两个菜单项 Submodule UpdateSubmodule Sync

tortoisegit添加子模块,Git,TortoiseGit,git

  • Submodule Update:初始化子模块、更新已注册的子模块,如下图所示:
    tortoisegit添加子模块,Git,TortoiseGit,git
    其中:

    1. Initialize submodules(--init):初始化子模块的本地配置文件。
    2. Recursive:当有嵌套的子模块时,递归更新这些子模块。
    3. Remote tracking branch:从远端仓库更新子模块,本地子模块更新到与远端仓库一致。
  • Submodule Sync:当子模块的URL在上游改变时,使用这个菜单更新本地存储库。

当子模块更改后,在使用子模块的项目中,在主目录、在非子模块文件夹右击鼠标,pull 操作并不能将子模块修改的内容同步到项目中。在子模块文件夹右击鼠标,pull 操作可以将子模块修改的内容同步到项目中。在父目录右击鼠标,pull 操作并不能将子模块修改的内容同步到项目中。

使用 Git Submodule Update... 并且勾选 Initialize submodules(--init)RecursiveRemote tracking branch 时,可以将子模块修改的内容同步到项目。注意,如果不勾选 Remote tracking branch 选项,则不会与远端仓库同步,这样本地的信息可能是落后的。

子模块的使用模型

只使用子模块并不时地获取更新,而并不在你的检出中进行任何更改。此时只有更新子模块一种操作。

  • 方法1:右击子模块文件夹,选择Git Pull...,拉取最新的内容。然后提交一次,将子模块锁定为最新版本,并记录子模块更新。
  • 方法2:右击任意文件夹,选择Git Submodule Update...,将拉取内容并锁定为最新版本,然后提交一次,记录子模块更新。

导出的工程里面有子模块

通过 右键菜单 - Export... 导出程序。即使导出的程序里面有 .gitmodules 文件,也不能通过 Git Submodule Update... 菜单更新子模块,需要右键菜单 TortoiseGit - Submodules Add 选项,来新增子模块。






读后有收获,资助博主养娃 - 千金难买知识,但可以买好多奶粉 (〃‘▽’〃)
tortoisegit添加子模块,Git,TortoiseGit,git文章来源地址https://www.toymoban.com/news/detail-775033.html

到了这里,关于TortoiseGit 入门指南17:使用子模块的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • TortoiseGit 入门指南11:还原与重置

    Git 就像个时光机器,能让我们还原到任何提交。 假如我们在查看一个干净的代码仓库,干净意味着工作区中的文件保持着最后一次提交的状态,没有修改。在查看的过程中,我们有意或无意的修改了工作区中的文件,之后我们想把这些文件恢复成查看前的样子。像这样 要还

    2024年02月16日
    浏览(49)
  • TortoiseGit 入门指南02:创建和克隆仓库

    本节讲解如何使用 TortoiseGit 创建和克隆仓库。但在此之前,我们先来看下 TortoiseGit 软件的一个特色:图标。 TortoiseGit 会给 工作区 中的文件和文件夹叠加图标( Icon Overlays ),图标反应的是这些文件和文件夹的当前状态。目前,共 9 种图标。 按照图中数字标出的顺序,其含

    2024年02月13日
    浏览(46)
  • TortoiseGit 入门指南03:将修改提交到版本库

    你现在应该已经有了一个仓库,在工作过程中会对项目做一些修改,比如添加代码、修复错误等等,你将不定时的将这些更改 提交 (commit)到代码仓库。 术语 提交 是将 暂存区 内容放入 版本库 。这个过程涉及到 Git 的一些基本概念,需要在这里说明。我在《TortoiseGit 入门

    2024年02月13日
    浏览(44)
  • 基于Git与Tortoisegit的Gitee(码云)手把手入门教学

    📢个人主页:未来秃头仔 📢欢迎点赞👍收藏⭐留言📝如有错误敬请指正! 前言          最近刚好学习完“鹏哥C语言”的gitee的安装,为了更方便快捷的学习使用,自己总结了一下。         此教程手把手教学,能实现Git和Tortoisegit的安装和简单的使用。除此之外,还

    2024年02月04日
    浏览(72)
  • TortoiseGit使用操作流程

    TortoiseGit是一个开放的GIT版本控制系统的源客户端。TortoiseGit 简称 tgit, 中文名海龟Git. 海龟Git只支持神器 Windows 系统, 有一个前辈海龟SVN, TortoiseSVN和TortoiseGit都是非常优秀的开源的版本库客户端 使用TortoiseGit的前提条件: 下载git 下载TortoiseGit 下载TortoiseGit语言包(非必需条件

    2023年04月08日
    浏览(34)
  • TortoiseGit的使用

    目录 1. Concept 2. 用Git Submodule方式将SDK链接到FW_TLC仓库中 2.1. 日常开发使用说明 2.2. 将SDK提升为项目(RD无需关注) 3. gitlab远程子仓库配置为SSH 3.1. Flow 3.2. QA 4. Revert 4.1. Gitlab Revert 4.2. TortoiseGit Revert 5. Reset 5.1. Revert VS Reset 6. rebase 7. merge 7.1. Flow 7.2. Edit conflict 8. Abort Merge 9. Stash

    2024年02月09日
    浏览(32)
  • TortoiseGit使用和LanguagePacks包安装

    1 、TortoiseGit官网下载链接: https://tortoisegit.org/download/ 注意在使用前记得安装git 2 、在空白处点击鼠标右键,选择 -- TortoiseGit -- Settings,然后就可以看到配置界面: 3 、选中General,在右边的 Language中选择简体中文(当然,你也可以继续使用英文)。取消勾选升级检查的复选框,可

    2024年02月08日
    浏览(28)
  • 使用tortoiseGit合并代码(合并分支,解决冲突)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 使用tortoiseGit + Beyond Compare 合并分支,并解决冲突 1.选择 “Settings” - “Merge Tool”-\\\"External \\\" 2.填入Beyond Compare路径和参数 X:Program FilesBeyond Compare 4BComp.exe %mine% %theirs %base %merged /title1=%yname /title2=%tname /ti

    2024年02月15日
    浏览(47)
  • Git 如何使用TortoiseGit 操作本地仓库

    方法一:  新建一个文件夹,进入文件夹内部操作 1、右键-- 在这里创建Git 版本库  注意: 不要直接在桌面上操作,否则桌面就是一个仓库 方法二: 1、右键--Git GUI here 方法三: 命令行模式 1、 git init  创建完毕仓库,我们发现,此时我们创建的文件夹下有一个.git 文件已经生成了 并且

    2024年02月12日
    浏览(40)
  • Git 小乌龟(TortoiseGit)的详细使用

    首先去TorToiseGit官网下载安装。 安装完成后,不喜欢英语版本的小伙伴也可以自行下载一个汉化插件。 右击选择 Git clone / 更换 URL 与 目标目录 / 点击 Ok 在项目文件上右键点击 / 点击小乌龟 / Switch/Checkout 这里Branch 可以切换分支 拉取代码前,先把本地修改的代码暂存起来,拉

    2024年02月13日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包