文章目录

  • 1.建立一个reset的测试文件,并连续提交。
  • 2.进行回滚测试。
  • 2.1测试,回滚到第二次提交
  • 2.1.1首先使用git log命令查看commit记录
  • 2.1.2查看结果.
  • 2.1.3回滚结果提交到远程
  • 2.2.你发现自己回滚的多了
  • 3.1撤销测试
  • 3.1建立文件,多次填写内容上传到git
  • 3.2撤销操作
  • 3.3查看结果,查看提交记录


1.建立一个reset的测试文件,并连续提交。

Android Dialog不回滚 回滚安卓_github


连续提交四次,注意每次commit都要加备注

Android Dialog不回滚 回滚安卓_Android Dialog不回滚_02

2.进行回滚测试。

2.1测试,回滚到第二次提交

2.1.1首先使用git log命令查看commit记录
git log

Android Dialog不回滚 回滚安卓_回滚_03


使用git reset --hard commitID

git reset --hard 4ba182e

这里commitID可以只写一部分

Android Dialog不回滚 回滚安卓_Android Dialog不回滚_04

2.1.2查看结果.

可以发现已经回滚到第二版。

Android Dialog不回滚 回滚安卓_远程仓库_05

2.1.3回滚结果提交到远程

以上操作只是在自己的本地仓库,可以发现远程仓库尚未回滚,还要修改远程仓库。

Android Dialog不回滚 回滚安卓_Android Dialog不回滚_06


因为本地回滚了,所以和远程会差几个版本。所以这时候只有强制推送,覆盖远程才可以。

git push -f

Android Dialog不回滚 回滚安卓_远程仓库_07

2.2.你发现自己回滚的多了

现在你后悔了,不应该到第二版的,应该去第三版的。也还有后悔药可以挽救。
只需要git reset --hard 第三版的commitID

git reset --hard 168d33ed

测试

Android Dialog不回滚 回滚安卓_git_08


查看结果,已回到第三版。

Android Dialog不回滚 回滚安卓_git_09


查看更多提交记录。

还可以通过git reflog查看更多的提交记录。

git reflog

3.1撤销测试

3.1建立文件,多次填写内容上传到git

Android Dialog不回滚 回滚安卓_github_10


git的三次提交记录

Android Dialog不回滚 回滚安卓_Android Dialog不回滚_11

3.2撤销操作

测试撤销第二版本
首先查看commit id

git log

然后撤销操作

git revert commitID

3.3查看结果,查看提交记录

查看结果,本地已经无了,远程仍然存在

Android Dialog不回滚 回滚安卓_回滚_12


Android Dialog不回滚 回滚安卓_回滚_13

接下来将撤销操作同步到远程。
git revert 命令会产生一次新的提交,虽然代码表现是回退了,实质上版本是向前的,因此我们只需要向远程推送就行了。

git add revert-test.txt
git commit -m "撤销测试,撤销第二版本"
git push

查看远程文件和提交记录

Android Dialog不回滚 回滚安卓_Android Dialog不回滚_14


可以看出revert实际上是提交了一个新纪录。

Android Dialog不回滚 回滚安卓_Android Dialog不回滚_15