【git:踩坑】请用git reset --soft HEAD^_是梦梦啊的博客-CSDN博客 https://blog.csdn.net/wuzhong8809/article/details/104779322?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-104779322-blog-128440831.pc_relevant_recovery_v2&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-104779322-blog-128440831.pc_relevant_recovery_v2&utm_relevant_index=1 git 合并两个提交 - git reset --soft HEAD^_Zonson9999的博客-CSDN博客 https://blog.csdn.net/wuzhong8809/article/details/104779322?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-104779322-blog-128440831.pc_relevant_recovery_v2&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-104779322-blog-128440831.pc_relevant_recovery_v2&utm_relevant_index=1
- 使用 git reflog 找到需要退回的版本ID
git reflog
或者 git log --oneline
2
- 使用 git reset --soft commitID 回退
# --soft 从版本库恢复文件到暂存区,不改动工作区的内容
# commitID
git reset --soft commitID
2
3
- 之后就是 add commit 两步走即可
示意例子 (要多回退一个版本)
使用 --soft 回退保留 暂存区和工作区的代码
# 我准备合并 01 和 02 俩次commit
PS C:\新建文件夹11\code\pro\GitWorkProcessTest> git log --oneline
9d0aac2 (HEAD -> master) 02
2b732ef 01
5207cd4 1w1212
cd41862 (origin/master, origin/HEAD) Initial commit
c719729 (origin/main, main) first
55d6ebb Initial commit
# 若回退到 01 所指的版本`2b732ef`,依旧不可以,所以要多回退一个版本到 01 的上一个版本 `5207cd4`
PS C:\新建文件夹11\code\pro\GitWorkProcessTest> git reset --soft 2b732ef
PS C:\新建文件夹11\code\pro\GitWorkProcessTest> git log --oneline
2b732ef (HEAD -> master) 01
5207cd4 1w1212
cd41862 (origin/master, origin/HEAD) Initial commit
c719729 (origin/main, main) first
55d6ebb Initial commit
# 多回退一个版本 到
PS C:\新建文件夹11\code\pro\GitWorkProcessTest> git reset --soft 5207cd4
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25