下图场景:张三和李四并行开发,张三提交commit1(bc2dd00),李四提交commit2(7f019d2),张三再提交commit3(44d4fc5),如果此时李四revert commit2,会将张三的commit3冲掉。
如果张三在commit3中提交的文件较多,那就有必要还原回来。
我们可以选择reset到commit3,但是这样做会把commit3之后的所有更新都冲掉,所以我们在操作之前有必要备份一下当前状态下的代码。
操作流程是:
1. 先返回commit3
git reset commit3
2. 新建分支
git branch -b temp
3. 在git页面上将默认分支设置为temp
4. 删除出问题的分支,以master分支为例
git brach -d master
5. 将temp分支改名为master分支
git branch -m temp master
6. 将commit3之后的改动手动更新到项目中,然后
git push -f origin master