1

检查修改

了解了基本概念之后,我们来谈一谈犯错误之后如何撤销的问题。首先,我们要了解如何检查这 3个步骤当中每一个步骤修改了什么,然后才好判断有没有修改成功。检查修改的二级命令都相同,都是 diff,只是参数有所不同。

  • 已修改,未暂存(git diff)
  • 已暂存,未提交(git diff --cache)
  • 已提交,未推送(git diff master origin/master)

撤销修改

  • 已修改,未暂存(git diff)(git reset --hard)
  • 已暂存,未提交(git diff --cache)(git reset --hard)
  • 已提交,未推送(git diff master origin/master)(git reset --hard origin/master)
  • 已推送(git reset --hard HEAD^ / git push -f)

已修改,未暂存

# 如果我们只是在编辑器里修改了文件,还没有执行`git add`
git checkout .

# 或者

git reset --hard

已暂存,未提交

# 如果我们已近执行了`git add .`还没有执行`git commit`
git reset 
git checkout .

# 或者

git reset --hard

已提交,未推送

# 你的手太快,执行了`git add .`,又执行了`git commit`,这个时候你的代码进入了你的本地仓库,
git reset --hard origin/master

已推送

# 很不辛,你的手实在太快了。你既`git add`又`git commit`还`git push`,这个时候你的代码已近进入的远程仓库
# 不保留提交历史
git reset --hard HEAD^
git push -f

# 或者

# 保留提交历史
git revert < sha >

wums
9 声望0 粉丝

那日;丹桂梢头缀,黄花绽竹篱。抛情引墨顿成诗,情也依依,爱也依依。


« 上一篇
keepalived安装
下一篇 »
hadoop集群搭建