当前位置 博文首页 > 文章内容

    Git clone 常见用法命令

    作者:dlxiaoyu01 栏目:前端代码 时间:2021-01-15 17:17:36

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



        1.1 从远程仓库中克隆整个代码仓库
        mkdir Demo  //在当前路径下新建一个文件夹,用来存放将要拉取的整个代码库
        cd Demo           //进入这个文件夹
        repo init -u ssh://igerrit.storm:29418/Demo/manifest -b master
        //-u :指定一个URL,其连接到一个manifest仓库
        //-m:在manifest仓库中选择一个xml文件
        //manifest:manifest是远程仓库里的一份清单,init的时候就是按照这份清单从服务器进行同步的
        //ssh://igerrit.storm:29418/Demo/ :是一个远程服务器的地址,地址可以是私人的也可以是共有的,共有的表示代码是公开的
        //-b:表示后接分支名,可以是master,也可以是其他分支
        repo sync //这是一个封装的命令,用来同步代码。 上一步应该用时比较少,这一步用时较长
        repo start master  --all  //这也是一个封装的命令,用来切分支的。这一步不可缺少 ,意为将拉下来的版本库都切换到master分支,如果不做这一步,克隆下来的所有仓库默认是no branch状态,容易导致后面工作时添加的代码丢失
        1.2 克隆单个仓库
        git clone https://xxx.com/×××  从远程库中克隆,克隆一个版本库到新的目录,可以在当前目录新建一个文件夹,也可以git clone [地址] [本地目录]
        git clone ssh://igerrit.storm:29418/tools/repo.git // 同上,
        之后 git pull origin master //origin是远程主机,master是默认分支
        要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。
        Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快
        单一仓库的更新可以使用git pull命令。
        repo init完成的操作如下:
        (1):完成repo 工具的完整下载,执行的repo脚本只是引导程序
        (2):克隆清单库manifest.git(地址来自于-u参数)
        (3):克隆的清单库位于manifest.git中,克隆到本地.repo/manifests.清单,.repo/manifest.xml只是符号链接,它指向.repo/manifests/default.xml文件,
        repo sync:用于参照清单文件.repo/manifest.xml克隆并同步版本库。如果某个版本库尚不存在,则执行repo sync命令相当于执行git clone。如果项目版本库已经存在,则相当于执行下面的两条指令:
        (1):git remote update //相当于对每一个remote源执行了fetch操作
        (2):git rebase origin/branch //针对当前分支的跟踪分支执行rebase操作
        repo start:创建并切换分支,是对git checkout -b命令的封装 //如果存在分支则切换分支,若不存在则创建并切换
        区别是repo start 是在清单文件设定分支的基础上创建特性分支,git checkout是在当前所在分支的基础上创建特性分支,如果是针对于整个版本库,那么相当于 repo forall -c git checkout -b
        题外:在使用这些命令克隆仓库之前,我们是需要配置一些环境,如ssh的key,用户名,邮箱名等等
        如果公司使用的是私有github,在初始化仓库之前需要若是初始化仓库的时候出现提示仓库已经初始化,那么可以尝试删除本地的.repo
        学习无他法,唯有持之以恒