zoukankan      html  css  js  c++  java
  • Git clone 常见用法

     二 克隆Git仓库

        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://github.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

    学习无他法,唯有持之以恒
  • 相关阅读:
    Apache 虚拟主机 VirtualHost 配置
    EAX、ECX、EDX、EBX寄存器的作用
    Python中文文档 目录(转载)
    八度
    POJ 3268 Silver Cow Party (最短路)
    POJ 2253 Frogger (求每条路径中最大值的最小值,Dijkstra变形)
    2013金山西山居创意游戏程序挑战赛——复赛(1) HDU 4557 非诚勿扰 HDU 4558 剑侠情缘 HDU 4559 涂色游戏 HDU 4560 我是歌手
    HDU 4549 M斐波那契数列(矩阵快速幂+欧拉定理)
    UVA 11624 Fire! (简单图论基础)
    HDU 3534 Tree (树形DP)
  • 原文地址:https://www.cnblogs.com/qianqiannian/p/5994535.html
Copyright © 2011-2022 走看看