git回退到指定版本

回退到指定版本,会删除本地缓存

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容