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
Git clone 常见用法的更多相关文章
- GIT 的常见用法
git init 新建代码库 git clone新建项目 git branch 查看分支 git config 显示配置 git config -e 显示配置文件 git config user.na ...
- Git push 常见用法
Git push 在使用git commit命令将修改从暂存区提交到本地版本库后,只剩下最后一步将本地版本库的分支推送到远程服务器上对应的分支了,如果不清楚版本库的构成,可以查看我的另一篇,g ...
- Git commit 常见用法
Git commit git commit 主要是将用户通过git add命令添加到暂存区里的改动给提交到本地的版本库,关于版本库的构成可以查看我先前的笔记. 每次提交我们都会在本地版本库生成 ...
- Git stash 常见用法
Git stash git stash这个命令可以将当前的工作状态保存到git栈,在需要的时候再恢复 1.1 git stash 保存当前的工作区与暂存区的状态,把当前的工作隐藏起来,等以后需要的时 ...
- Git branch 和 Git checkout常见用法
git branch 和 git checkout经常在一起使用,所以在此将它们合在一起 1.Git branch 一般用于分支的操作,比如创建分支,查看分支等等, 1.1 git branch 不带 ...
- Git diff 常见用法
Git diff 用于比较两次修改的差异 1.1 比较工作区与暂存区 git diff 比较的是单个仓库的工作区与暂存区的差别,repo diff是对git diff的封装,用来分别显示各个项目 ...
- Git reset 常见用法
Git reset 1. 文件从暂存区回退到工作区 2. 版本回退 1.1 git reset HEAD filename :回退文件,将文件从暂存区回退到工作区 //也可以使用 git reset ...
- Git add 常见用法
Git add git add [参数] [--] <路径> //作用就是将我们需要提交的代码从工作区添加到暂存区,就是告诉git系统,我们要提交哪些文件,之后就可以使用gi ...
- Git branch && Git checkout常见用法
https://www.cnblogs.com/qianqiannian/p/6011404.html git branch 和 git checkout经常在一起使用,所以在此将它们合在一起 1.G ...
随机推荐
- EM算法——Expectation-Maximization
最大似然估计 一个栗子:假如去赌场,但是不知道能不能赚钱,你就在门口堵着出来一个人就问一个赚了还是赔了,如果问了5个人都说赚了,那么你就会认为,赚钱的概率肯定是非常大的. 已知:(1)样本服从分部的模 ...
- ImgNoGoodWindow
using System;using System.Collections.Generic;using System.Linq;using System.Text;using UnityEditor; ...
- [转]QT中QString与string的转化,解决中文乱码问题
QString str2qstr(const string str) { return QString::fromLocal8Bit(str.data()); } string qstr2str(co ...
- EndNote基础教程
endnote的使用方法 http://www.360doc.com/content/17/1211/08/31841004_711998509.shtml 导入文献 File-Import-Flod ...
- ABP配置模块扩展
1.定义一个接口 里面是配置的属性等 public interface IMyConfiguration { int Id { get; set; } string Name { get; set; ...
- Android application backup
警告 AndroidMenifest中application标签下android:allowBackup="true"时,会警告: Warning:On SDK version 2 ...
- Android Studio NDK开发-JNI调用Java方法
相对于NDK来说SDK里面有更多API可以调用,有时候我们在做NDK开发的时候,需要在JNI直接Java中的方法和变量,比如callback,系统信息等.... 如何在JNI中调用Java方法呢?就需 ...
- 用友u8采购发票如何取消审核
流程是应付系统---应付单据审核---过滤---选择日期+已审---选择相应发票---弃审
- 定时任务redis锁+自定义lambda优化提取冗余代码
功能介绍: 我系统中需要跑三个定时任务,由于是多节点部署,为了防止多个节点的定时任务重复执行.所以在定时任务执行时加个锁,抢到锁的节点才能执行定时任务,没有抢到锁的节点就不执行.从而避免了定时任务重复 ...
- MYSQL去除"/r/n"
#去除回车符号/r/n UPDATE t_week_power_line_loss SET `line_loss_rate` = REPLACE( REPLACE( `line_loss_rate` ...