git 回退分支并覆盖远程分支
首先我们需要拿到回退版本的版本号,通过vscode可视化查看或者git log
来查找。
如果vscode安装了Git History插件,其实是可以通过可视化方式本地回退到指定版本。
我们看到它是有两个回退的方式:soft
和hard
;
鼠标点击对应的按钮,就会弹出提示是否需要回退,点击ok回退。如果你想用指令,他们分别对应如下:
git reset --soft xxxxxxx版本
git reset --hard xxxxxxx版本
他们之间区别是:
--soft
:回退到指定版本,但是不改变工作区和暂存区的内容,这意味着回退后原来提交的修改还在暂存区,需要手动重新提交。可以使用以下命令回退到指定版本:--hard
:回退到指定版本,并且重置工作区和暂存区的内容,这意味着回退后原来提交的修改都会被删除。可以使用以下命令回退到指定版本:
无非就是暂存区是否还存在回退前的版本代码,为了方便,我们一般都是使用--hard
。
回退完毕后我们就需要覆盖远程分支了。
git push -f origin master
master是你在远程仓库的分支名,比如你需要覆盖远程仓库的dev分支,这里就写dev。
远程仓库覆盖完毕后,还需要通知其他人将本地的分支同步成和远程仓库一致,通过以下操作:
git fetch origin
git reset --hard origin/master
先fetch origin
拉取一下最新的远程仓库数据,拉完后通过reset --hard origin/master
表示我需要回退到远程这个分支版本。
master
是分支名,如果是dev就改成dev即可。
版权申明
本文系作者 @木灵鱼儿 原创发布在木灵鱼儿站点。未经许可,禁止转载。
暂无评论数据