Git的版本管理

Posted achievelv

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git的版本管理相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

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

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

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 reset --hard HEAD^  // 回退到上个版本

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

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

撤销修改

分三种情况:

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教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

以上是关于Git的版本管理的主要内容,如果未能解决你的问题,请参考以下文章

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段

使用 Git 来管理 Xcode 中的代码片段

码农的好助手:版本管理工具git的使用

源代码管理工具GitHub介绍

源代码管理工具GitHub介绍

Gitlab代码管理仓库安装部署