git简介:git
Git是目前世界上最早进的分布式版本控制系统(VCS-Vetsion Control System)。能够将同一个文件在不一样时间的修改结果保存到git仓库中,随时能够恢复到某个须要的版本进行查看。 具体功能有:centos
纪录文件的全部历史变化缓存
随时可恢复到任何一个历史状态安全
多人协做开发或修改服务器
恢复错误网络
多功能并行开发ssh
git术语:分布式
工做区(Working Directory):就是你在电脑里能看到的目录,好比个人/pro文件夹就是一个工做区。ide
版本库(Repository):工做区有一个隐藏目录.git,这个不算工做区,而是Git的版本库。Git的版本库里存了不少东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为咱们自动建立的第一个分支master .centos7
咱们把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的全部内容提交到当前分支。
由于咱们建立Git版本库时,Git自动为咱们建立了惟一一个master分支,因此,如今,git commit就是往master分支上提交更改。
你能够简单理解为,须要提交的文件修改统统放到暂存区,而后,一次性提交暂存区的全部修改。
git基本命令的使用:
安装git , 在Linux系统中是自带git软件的
rpm -q git #查看git是否安装
yum install -y git #安装git软件
rpm -qc git #查看git的配置文件
git init #初始化git , 建立git仓库
git config --global user.name '用户名' #设置git用户信息
git config --global user.mail "用户邮箱" #设置git用户邮箱
git status #查看git状态
git add 文件 #将文件添加到缓存区中 , 对文件进行跟踪
git commit -m '提交版本备注信息' #提交当前版本 并 备注当前版本信息
git log #查看git日志
git checkout 版本hash值 #切换版本
git --help #查看帮助
git help config #查看特色的帮助
实例:
#目标:
一、建立一个项目目录/gg
二、设置git的全局参数
三、用git对目录中的文件版本进行管理:初始化git数据
四、管理工做以下:(生成文件、提交版本、恢复)
a、建立新文件
b、用git将文件添加到git的缓存区
c、用git提交当前版本,并查看git状态和日志
d、再次在/gg目录中建立一个文件,参考b、c步骤的步骤处理新添加的文件
e、再次执行d的操做。
f、删除其中一个文件,将删除操做提交保存到版本信息中,查看git状态和日志。
g、用git恢复到第一次保存的版本,用ls查看目录中有哪些文件。
k、查看git日志文件,恢复到my.txt第3次保存的版本,查看my.txt文件内容。
实验操做步骤:
先安装git , 安装好后初始化一个新git仓库
建立一个文件夹(或使用已有文件夹)
mkdir /gg #建立一个/gg目录
cd /gg #进入到/gg目录中
git init #初始化git , 建立git仓库
ls -a #查看/gg隐藏文件 , 发现有.git则初始化成功
进行一些基本信息设置(该步骤在建立好的目录中设置全局)
git config --global user.name "user" #设置git的全局用户
git config --global user.mail "user@qq.com" #设置git用户的邮箱
git config --list #查看设置
例如:设置了一个gg用户 , 邮箱为gg@qq.com
在/gg目录中建立一些文件 , 例如建立a1.txt , a2.txt , a3.txt这些文件
用git将文件添加到git缓存区中 , 并查看状态和git日志
提交当前版本内容 , 备注为"file_v1"
再在建立一个a4.txt , 将a4.txt添加到git缓存区中 , 再提交该版本备注为"file_v2"
此时删除文件a1.txt和a2.txt文件 , 并执行以前的操做
查看三次版本的日志文件 , 并切换到第一次的版本中
查看版本1的内容 , 看看是否切换成功
由上图能够看出切换成功 , 再次切换到版本3 , 看看目录的中存在哪些文件
到此实验结束 , git的使用也到此为止 !!
码云的简单使用
码云是国内的GitHub平台 , 也是经常使用的git远程仓库 , 远程仓库要不使用现有的git网络仓库服务(GitHub , 码云等平台) , 要不就搭建本身的git仓库 , 在这里主要讲码云的使用 , 以及搭建本身的git仓库
码云的官方网址 :https://gitee.com/
首先咱们应该在码云官网注册一个帐号 , 这里不作解释 ; 注册好帐号后登陆码云平台
第一步 : 在码云平台上建立一个网络仓库(项目)
在左上角处能够看到以下图所示:
点击建立 , 进入如下页面 ,复制仓库网址
上面复制的图片为https的那个网址 , 复制好以后 , 在Linux系统中建立一个文件(/20190318) , 命令以下;
进入到此目录 , ls查看一下当前文件
对当前目录进行点操做 , 好比添加几个文件 , 将/etc/hosts*复制到当前目录中 , 如图:
此时查看一下git的状态 , 并添加须要追踪的文件
将当前文件版本提交至码云 (git push)
此时当前版本已经同步到了码云上面 , 咱们能够在码云上面看看文件是否同步
同理再做作一次修改 , 再次把版本提交到码云上面去
删除文件后将版本二提交至码云
此时 , 再次查看码云上的文件 , 发现码云和Linux系统中的文件同样 , 被删除的两个文件都不见了
因为每次提交都须要输入用户名和密码 , 这样不只不方便 , 相对来讲也不是安全 , 因此在码云上能够上传公钥 , 实现免密码提交同步
只需在本地建立密钥 , 把公钥上传至码云便可实现 , 首先生成密钥
上传公钥至码云上面:
右上角点击图标 , 再点击设置:
进入以后 , 左边会有一个安全设置 , 点击ssh公钥
上传公钥(生成的公钥在/root/.ssh/di_rsa.pub文件中 , 把里面的文件复制便可) 如图:
点击肯定 , 提示你输入密码(码云用户密码) ,输入密码后,出现如下界面,会产生指纹,如图:
成功上传密钥后 , 再次建立一个文件 , 用git clone 将仓库中的文件下载过来
提交修改后的当前版本至码云上面 , 成功提交(免密提交)
再次在码云上验证文件是否同步
此时仓库中多了a1~a5这5个txt文件 , 同步成功 !!!
git分支管理
在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支(即master)。HEAD严格来讲不是指向提交,而是指向master,master才是指向提交的,因此,HEAD指向的就是当前分支。
查看分支:git branch •说明:默认主分支为master
建立分支:git branch 分支名
取出分支版本:git chkeckout -b 分支名
说明:git checkout -b表示建立并切换到分支
实例:
接着上面码云的实验建立分支
上传以后 , 在码云上验证
git merge dev 合并dev分支到master主分支中
git push origin master •git push origin :dev 删除远程的dev分支
搭建本地git hub服务器
拓扑图:
系统centos7:192.168.11.11(GitHub服务器) , 192.168.11.12(客户端)
在192.168.11.11(服务器)操做过程:
安装:yun install -y git
建立文件:mkdir -pv /srv
进入/srv目录:cd /srv
建立git裸库git init --bare sample.git
建立git用户 , 密码设置为git : useradd git passwd git
修改/srv目录的属主属组:chown -Rv git:git /srv
服务配置完毕
在192.168.11.12(客户机)配置以下;
安装:yum install -y git
建立目录: mkdir -pv /test
生成公钥:ssh-keygen
上传密钥:ssh-copy-id git@192.168.11.11
git clone git@192.168.11.11:/srv/sample.git
若是克隆成功 , 则说明git客户端配置成功
以上实例自行去实验 .