git命令使用详解(版本回退)

之前写了一篇git安装和创建本地仓库,添加、提交文件的文章。本文来讲讲git 的一些其他的命令 ,创建仓库这里我们就不讲了(如果不明白可以点击此处)
现在我们以gitProject 仓库为例子 一些git命令如下

1、git status

假如我们之前已经把gitProject提交了 可是我们想看目前的状态 就可以输入git status
在这里插入图片描述
因为之前已经提交没有改变任何东西
现在我们修改一个文件 输入git status
git命令使用详解(版本回退)_第1张图片
git status命令可以让我们时刻掌握仓库当前的状态,上面的命令输出告诉我们,ViewController.m文件被修改过了,但还没有准备提交的修改。
git status告诉我们,将要被提交的修改包括ViewController,可以放心地提交了:

2 git diff

现在我们想看看我们之前修改了什么地方 ,这个时候我们就用到了 git diff 命令
git命令使用详解(版本回退)_第2张图片

**3 git reset 和 git log **

往往我们开发一个项目的时候,有时候很多的需求同时开发,我们等到上线的那天,把要上线的分支代码都合并到主线,结果临时不上了。这个时候就会用到回退
首先将修改下项目然后提交
在这里插入图片描述

git log

然后 我们修改了很多,可以看看都提交了多少次 ,我们用git log命令查历史记录
git命令使用详解(版本回退)_第3张图片
如图提交了三次 图中commit 后面的一串是commit id
从图上看输出的信息太多了 ,我们能不能显示的少一点呢 答案是可以的
git log 后面加上 --pretty=oneline参数 如下图
在这里插入图片描述

git reset

HEAD指向的版本就是当前版本,git允许版本的历史回滚,使用命令 git reset --hard commit_id。
我们现在想回到第二次的提交
首先,git需要知道当前版本是哪个版本,HEAD表示当前版本,也就是最新的提交5cdbfd8b134d25258e41d4062022f3af9b118e36(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,
上上一个版本就是HEAD^^,
当然往上10个版本写10个^比较容易数不过来,所以写成HEAD~10。
然后我们输入 git reset --hard HEAD 如图回退到了 上一个版本了
在这里插入图片描述

查看下历史 git log
在这里插入图片描述
回退成功了
但是 当我们用$ git reset --hard HEAD^ 回退到上一个版本后,我们又想恢复回去了,就必须找到上一个版本的commit id。git提供了一个命令git reflog用来记录你的每一次命令:如图
在这里插入图片描述
然后 git reset --hard 5cdbfd8 如图回退成功
在这里插入图片描述
查看下历史 git log 在这里插入图片描述
用git log可以查看提交历史确定要回退到哪个版本。
要回到之前回滚的版本,用git reflog查看命令历史确定要返回的哪个版本。

你可能感兴趣的:(ios随笔)