回退到指定版本,会删除本地缓存
1、获取某个历史版本的id(即commit id,每个版本唯一)
cd 到git项目目录下
Copy SHA 就是某个历史版本的id
方法1:使用git log命令查看所有的历史版本,
git log
输入q便可退出。
--->假设查到历史版本的id是 124bb0f757e661ef12cdbe99a805c156297d1f11
2、本地恢复到该节点状态 git reset --hard <commit id>
git reset --hard 124bb0f757e661ef12cdbe99a805c156297d1f11
3、将回退本班推送到远端。
git reset 完成后 git push 远端才会生效。
但是只执行git push会有问题,因为回退到指定的commit id之后的记录都会被删除存在冲突,需要使用git push -f 或者 git push --force
git push -f
或者
git push --force
这时候,远端就会生效,已经回退到了指定版本。
撤销某一次版本的修改,会删除本地缓存
1、拿到想要撤销的commit id
例如 提交了三次
commit id分别为:
1234561 添加文件1
1234562 添加文件2
1234563 添加文件3
只想撤回1234562的提交
git revert 1234562
本地只会删除掉文件2。
文件1,文件2的提交还在。
2、推送到远端才会生效git push
git push
用于取消指定版本之后的所有提交,本地缓存还在,可以再次执行提交操作
1、拿到指定版本的commit id
例如 提交了三次
commit id分别为:
1234561 添加文件1
1234562 添加文件2
1234563 添加文件3
如果文件2,文件3提交都有问题,可以把两次提交都撤回再重新提交
git reset --soft 1234561
这时候文件1的提交不会受影响。
文件2,文件3 会加入到Changes中可以修改可以再次重新提交到远端
2、推送到远端才会生效git push
git push
