版本控制神器之Git深入介绍

Git简介

Git(全局信息追踪器)。
Git是一个分布式版本控制工具,Git的使用中央仓库不是必须的,用户本地就是一个完整的版本仓库,代码的前进、回退、删除等等操作都可以直接在本地进行,不需要中央仓库。但是,在实际操作中,为了能够和其他同事快速沟通以及合并代码,一般还是会搭建一个中央仓库。Git对分支的管理非常友好,可以快速创建或者合并分支。
Svn集中式的版本控制工具,Svn中,必须要有中央仓库,所有的版本信息都保存在中央仓库中,代码的前进、回退、删除等等操作都需要在中央仓库中进行,用户本地保存的只是版本仓库的一个副本,Svn中的分支非常臃肿。
   

Git安装

https://gitforwindows.org/
  
链接:https://pan.baidu.com/s/1ZuQtqS_qW_YdrDkv1rvqQg
提取码:70uz 
  
配置个人信息
git config --global user.name 'bobo'
git config --global user.email '[email protected]'
  
在多个客户端的情况下用身份识别的

版本控制神器之Git深入介绍_第1张图片

  

基本操作

1.创建版本库
指定一个文件夹位置即可。
  
2.初始化操作
我们要想将某个文件夹作为我们的版本库还需要通过 git init 命令来初始化。

版本控制神器之Git深入介绍_第2张图片

  
3.添加文件到版本库中
想要把某个文件管理起来,首先创建一个文件。

版本控制神器之Git深入介绍_第3张图片

  
然后通过 git add 命令添加到版本库中。

  
再去执行 git commit -m '备注' 命令,来提交。

  
commit -m的-m后面跟的是本次操作的备注说明信息。最好是有意义的,也就是下次看到这个说明就清楚提交了什么内容。
为什么Git添加文件需要add,commit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件。

版本控制神器之Git深入介绍_第4张图片

  
4.status和diff命令

版本控制神器之Git深入介绍_第5张图片

  
5.版本回退
5.1 log命令
查看文件的历史版本。

版本控制神器之Git深入介绍_第6张图片

  
简化日志文件的显示方式 --pretty=oneline。

版本控制神器之Git深入介绍_第7张图片

  
5.2 版本回退
回退到上一个版本
git reset --hard HEAD^

版本控制神器之Git深入介绍_第8张图片

    
回退到指定的版本
git reset --hard 版本编号

版本控制神器之Git深入介绍_第9张图片

  
回退到最新版本
一种方式就是可以查看之前记录的最新版本的编号,但是log是看不到最新的日志记录的哦。

  

版本控制神器之Git深入介绍_第10张图片

  
我们还可以借助另一个命令 git reflog 

版本控制神器之Git深入介绍_第11张图片

  
在这个命令中会记录过往的所有的操作,包括版本的切换回退。
  

工作区和暂存区

git add xxx 该命令只能将文件从工作区提交到暂存区。
git commit .... 只能将文件从暂存区提交到版本库中。

版本控制神器之Git深入介绍_第12张图片

     

版本控制神器之Git深入介绍_第13张图片

      

版本控制神器之Git深入介绍_第14张图片

   

撤销管理

1.还未提交到暂存区
git checkout -- fileName

版本控制神器之Git深入介绍_第15张图片

   
2.提交到了暂存区
git reset HEAD file 移除暂存区回到工作区。
git checkout -- fileName 撤销操作。

  
3.已经提交到了版本库中
直接回退到上个版本即可。

版本控制神器之Git深入介绍_第16张图片

  
git reset --hard HEAD^
   

删除管理

操作和添加文件是差不多的,这么理解的话就很容易了~!
工作区:是我们直接编辑的地方,比如Eclipse打开的项目,记事本打开的文件,直接操作。
暂存区:数据暂时存放的区域,是工作区和版本库之间进行数据交流的纽带。
版本库:存放已经提交的数据,push的时候,就是将这个区域中的数据push到远程仓库的。
  

GitHub远程仓库

1.创建SSH Key
ssh-keygen -t ras -C "[email protected]"

版本控制神器之Git深入介绍_第17张图片

   

版本控制神器之Git深入介绍_第18张图片

   
2.登录GitHub
配置SSH

版本控制神器之Git深入介绍_第19张图片

     

版本控制神器之Git深入介绍_第20张图片

  

版本控制神器之Git深入介绍_第21张图片

    
3.创建远程仓库

版本控制神器之Git深入介绍_第22张图片

  
4.关联远程仓库

版本控制神器之Git深入介绍_第23张图片

   
git remote add origin [email protected]:q279583842q/gp-repository-01.git
  
5.推送文件到远程库中
我们只能将版本库中文件推送到远程库中,推送的命令是
git push -u origin master 第一次推送的时候要加上-u 后面就不用了。

版本控制神器之Git深入介绍_第24张图片

    
推送成功后,我们就可以在远程仓库中看到对应的文件。

版本控制神器之Git深入介绍_第25张图片

  
6.克隆远程仓库
git clone [email protected]:q279583842q/gp_repository_02.git

版本控制神器之Git深入介绍_第26张图片

  

版本控制神器之Git深入介绍_第27张图片

  

分支管理

版本控制神器之Git深入介绍_第28张图片
  
1.创建及合并分支
git branch 查看分支

  
git branch dev1 创建分支

版本控制神器之Git深入介绍_第29张图片

  
git checkout dev1 切换分支

版本控制神器之Git深入介绍_第30张图片

  
git checkout -b dev2 创建分支并且直接切换到分支中。
  
2.分支的操作

版本控制神器之Git深入介绍_第31张图片

  
我们在分支上的相关的操作其实的独立的,我们提交到分支对应的版本库中的情况下,其他分支中是查看不到了,包括主分支,如果我们想要在主分支中查看到对应的信息,我们就需要操作分支合并。
   
首先切换到master分支中然后执行 merge 命令即可。

版本控制神器之Git深入介绍_第32张图片

  
3.删除分支
git branch -d dev1

版本控制神器之Git深入介绍_第33张图片

  
4.解决冲突

版本控制神器之Git深入介绍_第34张图片

  
在合并文件的时候出现了冲突,这时候的解决方案非常简单,直接编辑冲突的文件即可,然后 add commit 操作即可。

版本控制神器之Git深入介绍_第35张图片

  

Bug分支

针对是突发的任务,我们保持当前分支的工作状态,而去处理临时任务,处理完成后又可以继续回落工作。
git stash 存储当前装
git stash list 查看存储的状态列表
git stash apply 恢复之前的状态
  

多人协作

从远处库中更新最新的文件。
git pull 更新同步远处库中的内容
git push origin master 推送文件到远程库中
git push origin dev1 推送到GitHub中的dev1分支中,如果不存在,就会创建dev1分支
git branch --set-upstream-to=origin/dev1 dev1 本地分支和远程库中的分支不一致的情况下可以设置对应关系
  
因此,多人协作的工作模式通常是这样:
1. 首先,可以试图用git push origin 推送自己的修改;
2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
3. 如果合并有冲突,则解决冲突,并在本地提交;
4. 没有冲突或者解决掉冲突后,再用git push origin 推送就能成功!
5. 如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to origin/。
  

标签管理

git里边默认的版本好不容易记。对于一些里程碑版本,需要记下来,此时可以使用标签,给项目的发布版本打标签,也是标签的一个重要功能之一。

版本控制神器之Git深入介绍_第36张图片

  

版本控制神器之Git深入介绍_第37张图片

你可能感兴趣的:(企业化工程技术,git)