Tricks

经历了一次错误的commit,想要撤回

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
git log # 查看上次commit的完整hash字串
git reset <arg1> <hash字串> # 撤回commit,<arg1>有参数--soft、--hard、--mixed可选,区别为
# --soft 文件还保存在git里,可以再reset回来
# 修改前 --> 修改后
# (F) (F)
# A-B-C A-B-C
# ↑ ↑
# master master
#
# --hard 文件直接被删去,慎用!!!
# 修改前 --> 修改后
# (F) (F)
# A-B-C A-B
# ↑ ↑
# master master
#
# --mixed 文件未被删去,就在本地workspace里,处于未被add的状态(推荐)
# 修改前 --> 修改后
# (F) (F)
# A-B-C A-B-C
# ↑ ↑
# master master
#
# 注:(F)指的是磁盘里此时实际的文件处于哪个版本