Git reset到某一次commit

Posted 光焱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git reset到某一次commit相关的知识,希望对你有一定的参考价值。

下图场景:张三和李四并行开发,张三提交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

 

以上是关于Git reset到某一次commit的主要内容,如果未能解决你的问题,请参考以下文章

git基础教程回退还没push的commit--git reset

git revert与git reset

git 仓库 回退功能 git checkout

git reset 之后切换到原来的commit

git怎么查找一个文件两个commit id之间的log信息

如何修改gitreview.email