zoukankan      html  css  js  c++  java
  • Git clone --recursive

    前言

    看一个学习视频的时候,
    提到了一个Git命令↓

    git clone --recursive https://github.com/dotnet/extensions.git
    

    对于使用小乌龟{TortoiseGit}选手来说,
    这个命令还是值得学习下的.
    学习视频中提到一嘴这个命令的作用

    把它依赖的一些项目同时下载下来.

    但是只是这么听说一下,
    更加激起了想要了解这个{--recursive}这个是干嘛用的.
    并且也想知道如果用{TortiseGit}执行命令{--recursive}应该勾选哪个选项呢.?

    直接去搜索这个命令{--recursive}的作用

    搜索出来的大多只有一句话解释,
    解释是很简单,但是不够明了...
    因为解释语句中引用的一些对象{子项目}我都不知道是啥...

    git clone --recursive https://github.com/onnx/onnx-tensorrt.git
    

    git clone --recursive 用于循环克隆git子项目

    其实从这个命令{--recursive}的解释中也可以看的出来,
    是为了解决如果Git仓库中含有子项目,
    将子项目一起克隆下来的.
    看完上面我的那句解释,
    大家可能会觉得,这不是一句废话嘛,表达的意思是一样的嘛...
    但是虽然是同一个意思,但是用自己话在概述一遍,
    自己理解的就会稍微深一点.

    下面就要大家去学习下{子项目/子模块/submoudle}相关知识了.
    我瞅了一眼,相关知识,将一些关键词列一下吧.

    某个工作中的项目需要包含并使用另一个项目(也许是第三方库,或者你独立开发的,用于多个父项目的库)。
    现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个。

    Git 通过子模块来解决这个问题。
    子模块允许你将一个 Git 仓库作为另一个 Git 仓库的子目录。
    它能让你将另一个仓库克隆到自己的项目中,同时还保持提交的独立。

    通过在 git submodule add 命令后面加上想要跟踪的项目的
    相对或绝对 URL 来添加新的子模块。

    默认情况下,子模块会将子项目放到一个与仓库同名的目录中.
    如果你想要放到其他地方,那么可以在命令结尾添加一个不同的路径。

    ....

    杂谈

    学习知识有时候就像在读代码一样,
    你看到一个类.A,但是这个类中又有引用了类.B,
    这个时候你如果对B一无所知.
    坑定不利于你更好的理解这个类A.

    学习知识A的时候,很多时候可以扩展一下知识B的宽度和深度...

    扩展知识

    摘抄文档

  • 相关阅读:
    移动端上拉下拉刷新组件
    linux ftp搭建
    asp.net core 在Ubuntu 运行
    go can't find import: "github.com/** 错误
    WPF
    总结
    ASP.net
    计算器简单封装和ASP.net
    用户故事
    四则运算.结对编程
  • 原文地址:https://www.cnblogs.com/love-zf/p/13192734.html
Copyright © 2011-2022 走看看