Git:vs code上,从其他分支合并merge的代码,还没git push之前想撤销的解决方法
今天想把代码合并到master分支上提交,结果把代码从我本地的分支都merge到主分支上后发现,有其他同事在我的分支修改提交过,所以本次合并把同事提交的代码也都合并过来了,然而他的这部分代码又是不需要提交的,该怎么做?
其实很简单,我们的vs code就提供了方法进行撤销merge操作:
这样就撤销了刚刚的合并,我们的merge过来的代码会重新显示在源代码管理栏那里,我们从中选取我们真正想提交的代码,把其他的修改撤销掉就好了。而且vs code多选文件也可以使用“ctrl+左键”和“左键+shift”哦,这个小技巧希望可以帮到你!
如果是撤销某次已经提交过的代码:
1、git log #查看提交记录,找到出错的前一笔提交的commit_id
1、git reset --hard commit_id_before #回退到出错版本前一个commit
2、git cherry-pick commit_id_after #将某次commit的更改应用到当前版本(将出错 commit 之后别人提交的代码合并到当前正常代码分支上)
3、git push origin HEAD --force #强制提交
————————————+++++————————————+++++——————————+++++———
另外推荐一个保存修改记录的小插件,有的时候merge操作不当会导致代码丢失,可以下载一个local history,每次保存操作都会生成一个更新记录的副本,存在生成的.history文件夹中。提交的时候如果确认修改无误把生成的.history文件夹删除即可~