允许一个git仓库,作为另一个git仓库的子目录,并且保持父仓库和子仓库相互独立。...--recursive 添加子仓库 git submodule add 其中,仓库地址是指子模块仓库地址,路径指将子模块放置在当前工程下的路径。...cat .git/config 检出(checkout) 克隆一个包含子仓库的仓库目录,并不会clone下子仓库的文件,只是会克隆下.gitmodule描述文件,需要进一步克隆子仓库文件。...删除子模块 1.使用vim编辑.gitmodules(vim .gitmodule), 删除对应要删除的submodule的行. 2.使用vim编辑.git/config,删除有对应要删除的submodule...有了此项后 update 才有效 本文作者: yiyun 本文链接: https://moeci.com/posts/分类-github/git-notebook/ 版权声明: 本博客所有文章除特别声明外
子模块允许你将一个 Git 仓库作为另一个 Git 仓库的子目录。 它能让你将另一个仓库克隆到自己的项目中,同时还保持提交的独立。...Git两种子仓库使用方案 git submodule git subtree git submodule(子模块) Git子模块允许我们将一个或者多个Git仓库作为另一个Git仓库的子目录,它能让你将另一个仓库克隆到自己的项目中...在Git 中你可以用子模块submodule来管理这些项目,submodule允许你将一个Git 仓库当作另外一个Git 仓库的子目录。这允许你克隆另外一个仓库到你的项目中并且保持你的提交相对独立。...--recursive表示递归地克隆git_parent依赖的所有子版本库。...在暂存区所以我们才发现了new commits这种提示语,Git并不关心子模块的文件如何变化,我只需要在当前提交中记录子模块的commit的hash值即可,之后我们从父级仓库拉取子仓库的时候,Git拉取了本次提交记录中的子模块的
当我们要把另一个仓库的代码作为子目录放到当前仓库时,为了防止代码冗余,我们应该使用 git 的子模块 submodule 功能。...提交 对主仓库、子仓库都更新代码后,我们提交时,需要依次对两个仓库的 repo 进行提交。...拉取 加上--recurse-submodules 参数可以在克隆时初始化并更新子模块。...一些文章提到的 --recursive 参数也是一样的作用。 初始化和更新 如果项目拉取时没有加上上面参数,那么需要手动初始化和更新。...初始化并递归更新所有子模块: git submodule update --init --recursive 也可以分开操作,初始化只需要执行一次: git submodule init 每次需要更新子仓库时
# --recursive 用于递归克隆,否则子模块目录是空的 git clone --recursive https://github.com/xjh22222228/git-manual.git...# 如果已经克隆了一个包含子模块的项目,但忘记了 --recursive, 可以使用此命令 初始化、抓取并检出任何嵌套的子模块 git submodule update --init --recursive...修复子模块分支 当把一个包含子模块的仓库克隆下来后会发现子模块分支不对,可以使用下面命令纠正: git submodule foreach -q --recursive 'git checkout $...git submodule update --remote # --recursive 会递归所有子模块, 包括子模块里的子模块 git submodule update --init --recursive...,可以配置 git pull 的默认行为, 如何配置请参考 配置 具体使用还可以看这里 git submodule子模块使用教程 子树 如果你知道 git submodule 那就大概知道 git subtree
// 初始化子模块 git submodule update // 更新子模块与主仓库中的子模块代码同步 // or git submodule update --init // or 嵌套的(子仓库中包含子仓库...:有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目。...开始使用子模块 我们首先将一个已存在的 Git 仓库添加为正在工作的仓库的子模块。你可以通过在 git submodule add 命令后面加上想要跟踪的项目的相对或绝对 URL 来添加新的子模块。...克隆含有子模块的项目 接下来我们将会克隆一个含有子模块的项目。...如果还要初始化、抓取并检出任何嵌套的子模块, 请使用简明的 git submodule update --init --recursive。
MITMf 为中间人攻击和网络攻击提供一站式服务,在本文中,我们将逐步学习如何在 Kali Linux 2022 中安装 MITMf 框架。...mkvirtualenv MITMf -p /usr/bin/python2.7 从 GitHub 克隆 MITMf 存储库 git clone https://github.com/byt3bl33d3r.../MITMf 安装 MITMf 子模块 现在您必须转到克隆目录并使用此命令克隆 repos 子模块。...cd MITMf && git submodule init && git submodule update --recursive 安装依赖项 pip install -r requirements.txt...现在,MITMf 安装在您的 Kali Linux 2022 版权属于:逍遥子大表哥 本文链接:https://blog.bbskali.cn/3068.html 按照知识共享署名-非商业性使用
git clone --recursive 用于循环克隆git子项目 项目里包含的一些库或者一些模块是存在了别的仓库,可以用递归来克隆回来。...一次性就能解决所有的依赖模块,这里就选择这个命令参数来clone https://www.cnblogs.com/love-zf/p/13192734.html git clone --recursive...我线clone一下,因为子库比较大,所以有点费时间 ? code在提示这个,可不是嘛,三分钟前都在提交代码 ? 稍等片刻,colne完成 ?...一个多g cd crazyflie-firmware git submodule init git submodule update 如果一些库没有递归克隆的标志,那就自己手动安排一下 make PLATFORM...flash:使用OpenOCD的Flash .elf 暂停:使用OpenOCD暂停目标 reset:使用OpenOCD重置目标 openocd:启动OpenOCD ?
使用场景 拆分项目,当项目越来越大之后,我们希望 子模块 可以单独管理,并由 专门 的人去维护,这个时候只可以使用 git submodule 去完成。...常用命令 git clone --recursive # 递归方式克隆整个项目 git submodule add path # 添加子模块 git...submodule init # 初始化子模块 git submodule update # 更新子模块 git submodule foreach git pull # 拉取所有子模块 使用方式 添加子模块...git submodule add path 即可添加 克隆子模块 git clone --recursive 直接递归克隆,如果是克隆父项目,可以在克隆完成之后...更新子模块 如果子模块和新的修改,但是父项目没有更新到最新,则可以使用 git submodule foreach git pull 将所有的子项目中更新,如果子项目比 .gitmodules 新,则需要更新一下
, 这个时候就不方便了) 引出Git Submodule 为了增加公共类库与主项目的独立性, Git 给大家提供了子模块功能 允许你将一个 Git 仓库作为另一个 Git 仓库的子目录 , 它能让你将另一个仓库克隆到自己的项目中...,同时还保持提交的独立 开始使用 1.添加子模块 git submodule add //如果不指定本地路径 默认放在当前目录下 2.如果子模块代码有修改需要同步至远程仓库 进入到子模块目录下...update --remote 或者 直接进入到子模块目录下: git pull 两者效果都是一样的 注意:如果你的子模块内部也包含了一个子模块, 你可以使用: git submodule foreach...# 从该项目中抓取所有数据并检出父项目中列出的合适的提交(指定的提交)。...--recursive,会自动初始化并更新仓库中的每一个子模块 git clone --recursive https://gitee.com/xiaomumaozi/SubModule_Test.git
, google, so, yandex, bing, exalead, google_api, sogou, zoomeye_api),在搜索模块中除特殊搜索引擎,通用的搜索引擎都支持自动排除搜索,全量搜索...速度极速,收集模块使用多线程调用,爆破模块使用异步多进程多协程,DNS解析和HTTP请求使用异步多协程。 ?上手指南 由于该项目处于开发中,会不断进行更新迭代,下载使用最好克隆最新项目。 ?...安装要求 Python 3.6-3.7 ✔安装步骤 下载更新 git clone https://github.com/shmilylty/OneForAll.git ❗如果你之前已经克隆了项目运行之前请备份自己修改过的文件到项目外的地方...导出格式(默认xlsx) --output=OUTPUT 是否将导出数据输出到终端(默认False) aiobrute.py使用帮助 关于泛解析问题处理程序首先会访问一个随机的子域判断是否泛解析...指定爆破所使用的字典路径(默认使用config.py配置) --segment=SEGMENT 爆破任务分割(默认500) --recursive=RECURSIVE
常用命令 git submodule 涉及的常用功能有: git clone –recursive :递归的方式克隆整个项目 git submodule add <repository...: 拉取所有子模块 git submodule foreach git checkout -- .: 所有子模块进行 checkout -- ....指定submodule 的主要信息,包括子模块的路径和地址信息,moduleA 指定了子模块的commit id,使用 git diff 可以看到这两项的内容。...git clone project.git project3 –recursive 子模块的更新 子模块的维护者提交了更新后,使用子模块的项目必须手动更新才能包含最新的提交。...git submodule update --init --recursive --remote 一个示例 git clone git@gitee.com:mabuo/html.git # 添加子模块,
通过阅读本文,您将了解如何检测对Python应用程序中现有文件所做的更改。我们将使用一个维护良好的模块,叫做看门狗(watchdog)。...从代码库安装 此外,您可以在本地文件夹中克隆存储库并正常安装它。首先,让我们使用以下命令克隆它。...git clone --recursive git://github.com/gorakhargosh/watchdog.git 使用以下命令更改工作目录。...直接从存储库克隆它的一个主要优点是,您可以获得带有附加特性的最新版本。 您可以在终端中运行以下命令来验证安装是否成功。...您也可以设置recursive递归参数,但强烈建议预先定义层次结构并将其设置为false,以防止权限不足或无法访问子文件夹的问题。
Git 子模块是 Git 仓库中的另一个 Git 仓库。它允许将一个 Git 仓库作为另一个 Git 仓库的子目录。...这对于在多个项目之间共享代码或者将一个大型项目拆分成更小的、可独立管理的部分非常有用。以下是使用 Git 子模块的一般步骤:1....初始化和更新子模块刚添加子模块后,需要运行以下命令初始化和更新子模块:git submodule update --init --recursive这将克隆子模块并检出它的正确版本。3....克隆带有子模块的项目如果你克隆了一个包含子模块的项目,可以使用以下命令来初始化和更新子模块:git clone --recursive 如果你已经克隆了项目但没有使用 -...>rm -rf 以上就是使用 Git 子模块的基本步骤。
常用命令 git submodule涉及的常用功能有: git clone –recursive :递归的方式克隆整个项目 git submodule add <repository...: 拉取所有子模块 使用 创建带子模块的项目 例如,现在我们要创建一个如下结构的项目。...使用命令git status可以看到多了两个需要提交的文件,其中.gitmodules指定submodule的主要信息,包括子模块的路径和地址信息,moduleA指定了子模块的commit id,使用git...例如: git clone project.git project3 --recursive 修改子模块 修改子模块之后只对子模块的版本库产生影响,对父项目的版本库不会产生任何影响,如果父项目需要用到最新的子模块代码...删除子模块 删除子模块会涉及到以下几个步骤: 删除.gitsubmodule里相关部分; 删除.git/config 文件里相关字段; 删除子仓库目录。
另外推荐3个工具专门处理git冲突: meld kdiff3 在冲突时执行 git mergetool 命令会启动一个默认GUI 这篇文章专门介绍这2个工具如何使用 暂存 # 暂存所有 git add...submodule add -b develop https://github.com/xjh22222228/git-manual.git # 克隆一个包含子模块的项目 --recursive 用于递归克隆...,否则子模块目录是空的 git clone --recursive https://github.com/xjh22222228/git-manual.git # 如果已经克隆了一个包含子模块的项目,...但忘记了 --recursive, 可以使用此命令 初始化、抓取并检出任何嵌套的子模块 git submodule update --init --recursive # 修复子模块分支指向 detached...submodule update --remote # --recursive 会递归所有子模块, 包括子模块里的子模块 git submodule update --init --recursive
Git Submodules 是 Git 的一个功能,它允许你将一个 Git 仓库作为另一个 Git 仓库的子目录。...Git Submodules 的缺点 复杂性:对于不熟悉 Git 的开发者来说,子模块可能会增加复杂性。 初始化时间:克隆包含子模块的仓库时,需要额外的时间来初始化和更新子模块。...如何使用 Git Submodules 添加子模块:在你的主项目中,使用 git submodule add 命令添加子模块。...克隆含有子模块的仓库:当你克隆一个含有子模块的仓库时,需要使用 --recurse-submodules 选项。...git submodule sync --recursive 最佳实践 文档化:在项目的 README 或其他文档中说明子模块的使用方法和更新流程。
上面的所有的命令基本都基于此处两个文件的配置来生效的。...2.解析git命令 常用命令如下 git clone --recursive //递归的方式克隆整个项目 git submodule add <path...拉取所有子模块 2.1创建带子模块的版本库 例如我们要创建如下结构的项目 project |--moduleA |--readme.txt 创建project版本库,并提交readme.txt文件...使用git status可以看到多了两个需要提交的文件,其中.gitmodules指定submodule的主要信息,包括子模块的路径和地址信息,moduleA指定了子模块的commit id,使用git...git clone project.git project3 --recursive 2.3修改子模块 修改子模块之后只对子模块的版本库产生影响,对父项目的版本库不会产生任何影响,如果父项目需要用到最新的子模块代码
variables: GIT_STRATEGY: fetch none也是重新使用项目工作区,但是它会跳过所有的Git操作(包括GitLab Runner前的克隆脚本,如果存在的话)。...GIT_SUBMODULE_STRATEGY变量用于在构建之前拉取代码时,Git子模块是否或者如何被引入。...它相当于: git submodule sync git submodule update --init recursive意味着所有的子模块(包括子模块的子模块)都会被引入,他相当于: git submodule...sync --recursive git submodule update --init --recursive 注意:如果想要此功能正常工作,子模块必须配置(在.gitmodules)下面中任意一个...由于Git抓取和克隆是基于一个REF,例如分支的名称,所以Runner不能指定克隆一个commit SHA。
仓库作为另一个 Git 仓库的子目录; 它能让你将另一个仓库克隆到自己的项目中,同时还保持提交的独立 简单的说,子模块的解决方案更像是上面两种的融合,类似于一种特区模式:代码既存在于主项目的子文件夹中...比如一个通用组件作为子模块分别被公司中不同项目引用,则各个项目组做出的改进,最后都可以汇总到主组件库中,为大家所共享。 II. 如何用起子模块?...2.2 - 克隆含有子模块的项目 克隆含有子模块的项目时,对应的子目录其实默认是空的,需要额外的步骤。...默认做法是: # 克隆主项目 git clone MAIN_PROJECT_GIT # 初始化本地配置文件 git submodule init # 抓取所有数据并检出父项目中列出的合适的提交 git...submodule update 更简单一些的做法是在 clone 时加上参数: git clone --recursive MAIN_PROJECT_GIT 2.3 - 拉取上游变更 在项目中使用子模块的最简单模式
子模块允许你将一个 Git 仓库当作另外一个Git仓库的子目录。这允许你克隆另外一个仓库到你的项目中并且保持你的提交相对独立。 添加子模块: 1....克隆一个包含子模块的项目: #直接clone一个包含有submodule的项目 #递归的方式克隆整个项目 git clone --recursive 当clone项目时有子模块存在时...submodule update 这个时候的子模块文件都已经被checkout出来,你可以当成本地文件一样使用了。...不过还有更简单一点的方式, 如果给 git clone 命令传递 --recursive 选项,它就会自动初始化并更新仓库中的每一个子模块 git clone --recurse-submodules... 更新子模块 假如子模块更新了,我们如何拿到子模块的最新代码?
领取专属 10元无门槛券
手把手带您无忧上云