git 命令

1、git status 

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

2、git diff

如果你记不清上次怎么修改的readme.txt,所以,需要用 git diff 这个命令看看:

3、 git log

命令显示从最近到最远的提交日志

 如果嫌输出信息太多,看得眼花缭乱的,可以试试加上 --pretty=oneline 参数:

需要友情提示的是,你看到的一大串类似 3628164...882e1e0 的是 commit id (版本号) ,和SVN不一样,Git的 commit id 不是1,2,3……递增的数字,而是一个SHA1计算出来的一个非常大的数字,用十六进制表示,而且你看到的 commit id 和我的肯定不一样,以你自己的为准。为什么 commit id 需要用这么一大串数字表示呢?因为Git是分布式的版本控制系统,后面我们还要研究多人在同一个版本库里工作,如果大家都用1,2,3……作为版本号,那肯定就冲突了。

那么到底版本回退该怎么做呢?首先,Git必须知道当前版本是哪个版本,在Git中,用 HEAD 表示当前版本,也就是最新的提交 3628164...882e1e0 (注意我的提交ID和你的肯定不一样),上一个版本就是 HEAD^ ,上上一个版本就是 HEAD^^ ,当然往上100个版本写100个 ^ 比较容易数不过来,所以写成 HEAD~100 。

4、版本回退git reset

法一:直接会退到指定版本

法二:我们也可以利用 HEAD~x(上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。)

--hard 参数的意义就是可以让你看到当前的版本回退的位置

还有一个问题就是如果你已经实现了版本的回退,然而我发现并不是我代码的问题,我回退错了,我不想回退了,或者是我Git已经关闭了,找不到新版本的 commit id 怎么办?

Git提供了一个命令 git reflog 用来记录你的每一次命令:

这样我们就可以找到commit id,进行反回退。

  • HEAD 指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令 git reset --hard commit_id 。

  • 穿梭前,用 git log 可以查看提交历史,以便确定要回退到哪个版本。

  • 要重返未来,用 git reflog 查看命令历史,以便确定要回到未来的哪个版本。

原文地址:https://www.cnblogs.com/x123811/p/6046957.html