Git的版本管理

经过上一节的Git入门,对于稍有基础的程序员来说,下面的概念和知识就会学的很快了,基本就是边学边用,用的多了也就熟练了,所谓万事开头难。

当对readme.txt文件进行更改后。可以使用git diff查看我们到底做了哪些更改。

Git的版本管理_第1张图片

 

我们使用git status命令可以查看当前工作区的三种情况的状态。

1、修改文件后,git add之前。这时提示文件被修改,但是还没有被缓存。

Git的版本管理_第2张图片

2、git add文件之后,git commit之前。这时提示修改准备提交,修改的文件有readme.txt。

Git的版本管理_第3张图片

3、git commit之后。这时提示工作目录是干净的,没有任何修改需要提交。

版本回退

我们对readme.txt在进行一个修改。改为

it is a distributed version control system.
Git is free software distributed under the GPL.

  如果经过多次修改,忘记到底修改了哪些内容,这时我们会使用git log来打印历史提交记录。其中commit后面跟着的数字为commit ID,这是通过SHA1算法生成的一串数字,能保证每个人的每次提交都不相同。

  在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本可以简写为HEAD~100

Git的版本管理_第4张图片

  回退命令

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

git reset --hard 75d7ff  (至少6位commit ID)回退到commit ID为75d7ff的版本。

git reflog    当想从旧版本切到新版本时,又不知道版本号时,可以是使用这个命令查看。

版本库、工作区和暂存区的概念

工作目录有一个隐藏文件夹.git,这就是版本库。

当我们对目录中的文件进行修改后,git add后的状态就是暂存区状态,git commit用来一次性把多次git add的操作进行提交。

撤销修改

分三种情况:

1、修改文件,未添加到暂存区。

git checkout -- file  命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令

  

**添加到暂存区,再进行的修改,执行这个命令,则回到添加之前的状态。

2、修改文件后,添加到暂存区。

git reset HEAD file  回退到添加暂存区前

3、修改并提交

git reset --hard  版本回退命令

删除文件

git rm,同git add效果对立,一个是添加后进入暂存区,一个是删除后进入暂存区。

命令总结

git diff    命令可以查看修改的内容。

git status  命令可以让我们时刻掌握仓库当前的状态。

git log     命令查看历史提交日志。

git reflog  命令查看所有记录,包括删除或者回退

git reset --hard 版本号  回退命令

git rm  命令删除文件。会在工作区删除文件。

Git的版本管理_第5张图片

 

文章参考廖雪峰Git教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

你可能感兴趣的:(Git的版本管理)