git还原提交内容
1. git revert 是什么?
还原至某个或某些commit-id之前更改
大意: 新建一个commit且将删除git revert [commit-id]中的’commit-id’中的内容(本质是反向git cherry-pick操作)
2. git revert 用法与实践
2.1 还原某个commit-id 内容
git revert HEAD~3
恢复 HEAD 中最后第四次提交指定的更改,并使用恢复的更改创建新提交。
案例:
2.1.1 git log查看commit-id
abc003 “新增B.txt”
abc002 “修改A.txt”
abc001 “新增A.txt”
2.1.2 git revert abc002
说明:执行完成后,将新增一个新的commit,并且A.txt file修改的东西将删除
2.1.3 git commit -m “”
“将commit-2的内容删除并提交”
2.1.4 git push
2.2 还原某些commit-start…commit-end 内容
git revert -n master~5..master~2
将提交完成的更改从 master 中的最后第五次提交(包含)恢复到 master 中的第三次最后提交(包含),但不要使用恢复的更改创建任何提交。还原仅修改工作树和索引。
案例还原多个commit
2.2.1 git log查看commit-id
abc003 “新增B.txt”
abc002 “修改A.txt”
abc001 “新增A.txt”
2.2.2 git revert abc002^..abc003
说明:执行完成后,将新增一个新的commit,并且A.txt file修改的东西和新增B.txt文件都将没有
2.2.3 git commit -m “”
“还原abc002和abc003分支”
2.1.4 git push
注意:revert多个commit时,注意commit-start^…commit-end的顺序