您的位置:首页 > 本地本地

git revert和git reset的区别

admin2024-06-02人已围观

一、git revert和git reset的区别

git revert 是撤销某次操作,此次操作之前的commit都会被保留

git reset 是撤销某次提交,但是此次之后的修改都会被退回到暂存区

具体一个例子,假设有三个commit, git st:

commit3: add test3.c

commit2: add test2.c

commit1: add test1.c

当执行git revert HEAD~1时, commit2被撤销了

git log可以看到:

commit1:add test1.c

commit3:add test3.c

git status 没有任何变化

如果换做执行git reset --soft(默认) HEAD~1后,运行git log

commit2: add test2.c

commit1: add test1.c

运行git status, 则test3.c处于暂存区,准备提交。

如果换做执行git reset --hard HEAD~1后,

显示:HEAD is now at commit2,运行git log

commit2: add test2.c

commit1: add test1.c

运行git st, 没有任何变化

另外:

git revert <commit log string>是撤消该commit,作为一个新的commit。

二、git如何撤销pull命令。

git撤销pull命令的方法和操作步骤如下:

1、首先,输入1,然后按Enter键进入项目的git存储库所在的文件夹,如下图所示。

2、其次,完成以上步骤后,单击以输入命令代码“ git reflog”,然后按Enter键以执行命令,如下图所示。

3、接着,完成以上步骤后,找到需要回滚的版本并执行以下命令:git reset --hard HEAD @ {n},按Enter键确认,如下图所示。

4、然后,完成以上步骤后,选择要返回的版本,输入命令,例如:git reset --hard 61a942c,按Enter键确认,如下图所示。

5、最后,完成以上步骤后,所有步骤就都完成了,问题解决,如下图所示。

三、如何在 Git 里撤销任何操作

git revert [commit] 可以撤销一个提交

git reset 可以撤销stage

git reset --soft [commit] 可以撤销[commit]之后的提交但并不同步修改本地代码

git reset --hard [commit] 可以撤销[commit]之后的提交并同步撤销所有本地代码修改

四、git仓库中怎样回退指定的提交

git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息

git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可

git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容

很赞哦! ()

上一篇:如何真实测试自己正在上网的电脑的网速是多大?'>谈谈自媒体、新媒体和融媒体

下一篇:返回列表'>返回列表

随机图文