git版本控制-git的基本使用

                                            学习需要记录,更需要温习!


    以下内容更像是一份使用手册,让初学者快速入门,如何使用git,当你会使用git后,再去细谈git内部的秘密,这样就不会影响初学者的学习兴趣。ok,let's go!


一、Git简介

    Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

二、安装与配置

    2.1、Windows下的安装:

        Windows下安装有多中方式,这里建议使用gitbash,使用gitbash就可以使用Linux下的命令行,可以方便的使用,当然习惯使用鼠标的童鞋,自行百度其他安装方式。

    2.1.1、下载地址:gitbash

    2.1.2、安装

        安装起来一路next就可以。

    2.1.3、基本使用

安装完成后,提供了三种访问方式如图,关于这三种使用方式,自行百度探索,但笔者还是要说一句,习惯Linux开发的,打开Git Bash直接上手和Linux使用几乎没有区别。

Windows安装完成后图

    2.2、Linux下的安装:

        这里使用是CentOS系统,使用如下命令就可以方便的安装:

            yum install -y git

        这里也给出Ubuntu的安装方式:

            sudo apt-get install -y git

        输入如下命令检查是否安装成功,出现如下内容,则说明安装成功(说明:每个人的版本号可能不同)。

            git --version

Linux检查是否安装成功

三、创建版本库

        这里不提供桌面操作方式,只提供命令行的操作方式,在Linux下和Windows git-bash使用方式一样。

先建立一个目录(Windows下为文件夹)作为工作目录,进入该工作目录下,使用git init 初始化一个新的版本库。

初始化版本库

四、版本创建与回退

4.1、版本创建

    我们在已经初始化的版本库路径下,创建一个新的测试文件

        a、[xiaok@Aliyun git]$ touch code.txt

        b、使用如下命令创建一个版本:

            [xiaok@Aliyun git]$ git add code.txt

            [xiaok@Aliyun git]$ git commit -m "版本1"

提交版本说明

4.2、查看提交历史

    当我们需要查看提交的历史,版本库都有哪些版本时可以使用如下命令:

            git log

    需要注意,此条命令只会查看当前版本以前都有哪些版本,什么意思,当你回退版本后,回退版本以前的版本信息,就找不到了,就需要如下命令查看:

          git reflog

4.3、版本回退

    假设这个时候,你想回退版本到版本一,该怎么做呢?可以使用它如下命令:

    4.3.1、git reset --hard HEAD^

其中HEAD表示当前最新版本,HEAD^表示当前版本的前一个版本,HEAD^^表示当前版本的前前个版本,也可以使用HEAD~1表示当前版本的前一个版本,HEAD~100表示当前版本的前100版本。

现在若觉得想回到上一个版本,可以使用如下命令:

版本回退

当只是回退到上一个版本这种操作需求还是比较方便的,而当版本比较多的时候,使用比较麻烦,就需要使用如下命令

    4.3.1、git reset --hard 版本号

版本回退

五、工作区、版本库暂存区

    这几个概念在git中是很重要的。

    工作区:就是我们创建并使用git init初始化过的那个目录;

    版本库:当我们初始化一个库后,会创建一个隐藏的目录.git该目录就是git版本库,该路径下存放了很多东西,如图:

git版本库内容

    暂存区:版本库最重要的就是称为stage(或者叫index)的暂存区,还有git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。因为我们创建git版本库时,git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。

你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。

    下图是工作区、版本库、暂存区之间与命令之间的关系。

工作区、版本库、暂存区之间与命令之间的关系

六、管理修改

    git在版本控制过程中只管理提交暂存区的修改,什么意思?也就是说,当我们修改了暂存区的内容,并使用git add命令将修改文件添加到暂存区,这个时候我们又在对文件进行了修改,但是没有将修改文件提交到暂存区,这个时候我们使用git commit -m "管理修改" 命令提交修改,此时git只会帮我们提交第一次修改的内容,也就是提交到暂存区的内容。

七、撤销修改

    三种情况:

    1、在工作区修改了内容还未提交到暂存区,也就是为使用git add filename添加文件到暂存区,则可以使用如下命令撤销修改,git还是比较智能的,这个时候我们使用git status,会提示我们命令。如下图

修改文件后,git给出的提示

      使用该命令撤销修改:git checkout -- filename

    2、文件已经添加到暂存区,但是还未创建版本使用  git reset HEAD filename将文件撤销到工作区,再使用上调命令撤销修改。

        git reset HEAD filename

撤销暂存区的修改

    3、已经创建了版本

        就只能版本回退咯。

八、文件比较

    两种情况

    1、工作区中的某个文件和版本库中某个文件的不同

工作区中的某个文件和版本库中某个文件 比较

2、对比版本库中两个文件

文件比较命令:git diff 版本1版本号 版本2版本号 -- filename

对比版本库中两个文件

说明:当然也可以使用HEAD^去推算版本比较,但是这样比较麻烦

九、删除文件

    与修改一样,三种情况

    1、工作区删除文件

        rm 删除文件后,使用git rm删除版本库中文件

    2、已经添加到暂存区中的文件,但是未提交建立版本库

        git checkout --file

    3、已经提交到版本库,进行版本回退


    到这里git的基本使用就算总结完成了,关于git的更多用法,会继续总结,该总结不是git的原理总结,只是让初学者快速入门,关于git的更多秘密我们后续继续探秘。

你可能感兴趣的:(git版本控制-git的基本使用)