git和码云的使用以及搭建git服务器

 git简介:git


Git是目前世界上最早进的分布式版本控制系统(VCS-Vetsion Control System)。能够将同一个文件在不一样时间的修改结果保存到git仓库中,随时能够恢复到某个须要的版本进行查看。 具体功能有:centos

  1. 纪录文件的全部历史变化缓存

  2. 随时可恢复到任何一个历史状态安全

  3. 多人协做开发或修改服务器

  4. 恢复错误网络

  5. 多功能并行开发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的配置文件

  1. git  init                                                                 #初始化git , 建立git仓库

  2. git  config  --global  user.name  '用户名'          #设置git用户信息

  3. git  config  --global  user.mail   "用户邮箱"      #设置git用户邮箱

  4. git  status                                                            #查看git状态

  5. git  add  文件                                                       #将文件添加到缓存区中 , 对文件进行跟踪

  6. git  commit  -m   '提交版本备注信息'                 #提交当前版本 并  备注当前版本信息

  7. git  log                                                                 #查看git日志

  8. 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则初始化成功

image.png


进行一些基本信息设置(该步骤在建立好的目录中设置全局)

git  config  --global  user.name  "user"                     #设置git的全局用户

git  config  --global  user.mail   "user@qq.com"      #设置git用户的邮箱

git  config  --list                                                          #查看设置

例如:设置了一个gg用户 , 邮箱为gg@qq.com

image.png


在/gg目录中建立一些文件 , 例如建立a1.txt , a2.txt , a3.txt这些文件

image.png


用git将文件添加到git缓存区中 , 并查看状态和git日志

image.png


提交当前版本内容 , 备注为"file_v1"

image.png


再在建立一个a4.txt , 将a4.txt添加到git缓存区中 , 再提交该版本备注为"file_v2"

image.png


此时删除文件a1.txt和a2.txt文件 , 并执行以前的操做

image.png

image.png


查看三次版本的日志文件 , 并切换到第一次的版本中

image.png


查看版本1的内容 , 看看是否切换成功

image.png


由上图能够看出切换成功 , 再次切换到版本3 , 看看目录的中存在哪些文件

image.png


到此实验结束 , git的使用也到此为止 !!




 码云的简单使用


码云是国内的GitHub平台 , 也是经常使用的git远程仓库 , 远程仓库要不使用现有的git网络仓库服务(GitHub , 码云等平台) , 要不就搭建本身的git仓库 , 在这里主要讲码云的使用 , 以及搭建本身的git仓库


码云的官方网址 :https://gitee.com/ 

首先咱们应该在码云官网注册一个帐号 , 这里不作解释 ; 注册好帐号后登陆码云平台

第一步 : 在码云平台上建立一个网络仓库(项目)

在左上角处能够看到以下图所示:

image.png

image.png

点击建立 , 进入如下页面 ,复制仓库网址

image.png

上面复制的图片为https的那个网址 , 复制好以后 , 在Linux系统中建立一个文件(/20190318) , 命令以下;

image.png

进入到此目录 , ls查看一下当前文件

image.png

对当前目录进行点操做 , 好比添加几个文件 , 将/etc/hosts*复制到当前目录中 , 如图:

image.png

此时查看一下git的状态 , 并添加须要追踪的文件 

image.png

将当前文件版本提交至码云 (git push)

image.png

此时当前版本已经同步到了码云上面 , 咱们能够在码云上面看看文件是否同步

image.png

同理再做作一次修改 , 再次把版本提交到码云上面去

image.png

删除文件后将版本二提交至码云

image.png

此时 , 再次查看码云上的文件 , 发现码云和Linux系统中的文件同样 , 被删除的两个文件都不见了


image.png


因为每次提交都须要输入用户名和密码 , 这样不只不方便 , 相对来讲也不是安全 , 因此在码云上能够上传公钥 , 实现免密码提交同步

只需在本地建立密钥 , 把公钥上传至码云便可实现 , 首先生成密钥

image.png

上传公钥至码云上面:

右上角点击图标 , 再点击设置:

image.png

进入以后 , 左边会有一个安全设置 , 点击ssh公钥

image.png

上传公钥(生成的公钥在/root/.ssh/di_rsa.pub文件中 , 把里面的文件复制便可) 如图: 

image.png

点击肯定 , 提示你输入密码(码云用户密码) ,输入密码后,出现如下界面,会产生指纹,如图:

image.png

成功上传密钥后 , 再次建立一个文件 , 用git  clone 将仓库中的文件下载过来

image.png

提交修改后的当前版本至码云上面 , 成功提交(免密提交)

image.png

再次在码云上验证文件是否同步

image.png

此时仓库中多了a1~a5这5个txt文件 , 同步成功 !!!




 git分支管理


在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支(即master)。HEAD严格来讲不是指向提交,而是指向master,master才是指向提交的,因此,HEAD指向的就是当前分支。


查看分支:git  branch •说明:默认主分支为master 

建立分支:git  branch   分支名 

取出分支版本:git   chkeckout  -b  分支名   

说明:git  checkout  -b表示建立并切换到分支


实例:

接着上面码云的实验建立分支

image.png

上传以后 , 在码云上验证

image.png

image.png

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(服务器)操做过程:

  1. 安装:yun  install  -y  git

  2. 建立文件:mkdir  -pv  /srv  

  3. 进入/srv目录:cd  /srv

  4. 建立git裸库git  init  --bare  sample.git

  5. 建立git用户 , 密码设置为git : useradd  git  passwd  git

  6. 修改/srv目录的属主属组:chown  -Rv  git:git  /srv

服务配置完毕


在192.168.11.12(客户机)配置以下;

  1. 安装:yum  install  -y  git

  2. 建立目录: mkdir  -pv  /test

  3. 生成公钥:ssh-keygen

  4. 上传密钥:ssh-copy-id  git@192.168.11.11

  5. git  clone  git@192.168.11.11:/srv/sample.git

若是克隆成功 , 则说明git客户端配置成功


以上实例自行去实验 .







         





相关文章
相关标签/搜索