git revert和reset区别

简介: 1.在github上建立测试项目并克隆到本地 2.本地中新建两个文本文件   3.将a.txt commit并push到远程仓库  执行 git add a.txt, git commit -m "a.

1.在github上建立测试项目并克隆到本地

2.本地中新建两个文本文件

 

3.将a.txt commit并push到远程仓库

 执行 git add a.txt, git commit -m "a.txt", git push

 

 

4.将b.txt提交到本地仓库,不执行push

 通过gitk命令查看提交历史如下:

情景:b.txt本来不想提交上去,但是不小心提交上去了,怎么办?

   方法1:git reset head~1

     方法2:指定回退到具体的提交版本ID

  ->使用 git log查看提交历史,如下:

  ->git reset 81375c780e076ed87f1f1d96c88664126aec01cd

  最终结果如下:


 通过gitk查看提交历史

本地项目变化

  方法3:git revert head,用一个新提交来消除一个历史提交所做的任何修改。

  最终结果如下:

通过gitk查看提交历史

本地项目变化

  相信你通过gitk查看提交历史,就会发现revert和reset的不同了,reset是将head往后退而revert执行后head继续前行。

5.新建的a.txt和b.txt全都push到远程仓库中

   a.txt和b.txt分别提交并push上去,结果如下:

通过gitk查看提交历史

远程仓库

  (1).如果执行reset操作

    执行 git reset head~1,结果如下:

  

    然后执行 git pull,结果如下:

  (2).如果执行revert操作

    执行 git revert head, 结果如下:

    然后执行 git pull, 结果如下:

    但是远程仓库中还是有 b.txt这个文件的,通过git status查看结果如下:

    通过git push 将刚才revert回滚修改的提交 push到远程仓库。最后,保持本地和远程的一致。

6.参考资料

  git reset revert 回退回滚取消提交返回上一版本

  git 撤销commit

目录
相关文章
|
6月前
|
移动开发 小程序 Linux
【Linux】Linux和Window下\r与\n的区别、git命令行的使用
目录 1. 回车换行符在Window下和在Linux下的区别: 1.1回车换行符: 1. 2.行缓冲区打印: 1.3进度条小程序 :
101 0
|
4月前
|
存储 算法 开发工具
git是什么?git的五个命令,git和svn的区别
git是什么?git的五个命令,git和svn的区别
46 0
|
开发工具 git
git,github,gitlab,码云的区别
码云https://gitee.com/enterprises?from=tg-6-7是开源中国社区推出的基于git的代码托管服务平台,基于gitlab。目前招商银行,中国科学技术大学,CSDN等多家企业和机构都在使用码云平台
192 0
|
4月前
|
存储 前端开发 开发工具
git clone -mirror 和 git clone 的区别
git clone -mirror 和 git clone 的区别
|
3月前
|
SQL 开发工具 git
git 修改文件后revert
如果你想撤销对一个文件的修改,可以使用`git checkout`命令。 假设你想撤销名为`file.txt`的文件的修改,你可以执行以下命令: ``` git checkout -- file.txt ``` 这将把`file.txt`文件恢复到最后一次提交的状态。如果你想撤销所有修改,可以使用`git checkout -- .`命令。 如果你已经提交了修改,并且想要撤销提交,可以使用`git revert`命令。这将创建一个新的提交,撤销之前的提交。假设你想撤销最后一次提交,可以执行以下命令: ```sql git revert HEAD ``` 这将创建一个新的提交,撤销最
|
4月前
|
存储 开发工具 git
(详解踩坑)GIT版本回滚git stash、git reset、git reset --hard、git revert
(详解踩坑)GIT版本回滚git stash、git reset、git reset --hard、git revert
61 0
|
4月前
|
开发工具 git 开发者
百度搜索:蓝易云【Git:Rebase和Merge之间的区别】
综上所述,Rebase和Merge在代码合并方面具有不同的特点和用途。根据具体的情况和个人偏好,选择适合的合并方式能够更好地管理和组织代码。
40 0
|
4月前
|
前端开发 开发工具 git
git rebase 和 git merge的区别?以及你对它们的理解?
git rebase 和 git merge的区别?以及你对它们的理解?
67 1
|
4月前
|
存储 安全 开发工具
快速入门安装及使用&git与svn的区别&常用命令
快速入门安装及使用&git与svn的区别&常用命令
104 0
|
8月前
|
存储 安全 开发工具
版本管理工具git 与 svn 的区别具体有哪些?
版本管理工具git 与 svn 的区别具体有哪些?
75 0

相关实验场景

更多