git撤销更改的门道

2024-04-23 16:52
文章标签 git 撤销 更改 门道

本文主要是介绍git撤销更改的门道,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.​git checkout -- 文件
撤销对工作区某文件的修改。
git checkout . 
撤销本地所有修改的、没有提交的文件的修改,都返回到原来的状态。


2.​git reset --hard [commit]   
将工作区和暂存区的内容强制修改为commit时本地代码库的状态。


3.git reset --mixed  [commit]
将暂存区的内容强制修改为commit时本地代码库的状态,工作区的内容不变。


4.​git reset --soft  [commit]    ​
将本地代码库的内容修改为commit时的状态,暂存区和工作区的内容不变。


5.git revert [commit]
1)当commit为常规commit,非merge commit时
将选择的某一次提交撤销,撤销后会生成一个新的commit,撤销掉的提交记录仍然存在。
2)当commit为merge commit时
merge commit代表有多个分支进行了合并,若直接使用 git revert <commit id>,git 也不知道到底要撤销哪一个分支上的内容。这时需要指定一个 parent number 标识出"主线",主线的内容将会保留,而另一条分支的内容将被 revert。
从 git show <commit id>命令的结果中可以看到,merge commit 的 parent 分别为 a111111 和 b222222,其中 a111111 代表 master 分支,b222222 代表 另一个 分支。需要添加 -m 选项以代表这次 revert 的是一个 merge commit。-m 选项接收的参数是一个数字,数字取值为 1 和 2,也就是 Merge 行里面列出来的第一个还是第二个,其含义用来保留哪个分支。

例如:
git revert -m 1 ab82453
 


微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

欢迎关注。助您在编程路上越走越好!

这篇关于git撤销更改的门道的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/929357

相关文章

Git的安装以及使用

一.简单介绍 1.1版本控制 版本控制是指对软件开发过程中各种程序代码,配置文件及说明文档等文件变更管理,是软件配置管理的核心思想之一。 版本控制最重要的内容是追踪文件的变更,它将什么时候,什么人更改了文件的什么内容等信息忠实的记录下来。除此之外,版本控制的另一重要的功能是并行开发。软件开发往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高开发效率。

Git代码管理的常用操作

在VS022中,Git的管理要先建立本地或远程仓库,然后commit到本地,最后push到远程代码库。 或者不建立本地的情况,直接拉取已有的远程代码。 Git是一个分布式版本控制系统,用于跟踪和管理文件的变化。它可以记录文件的修改历史,并且可以轻松地回滚到任何历史版本。 Git的基本概念包括: 仓库(Repository):Git使用仓库来存储文件的版本历史。一个仓库可以包含多个文件

通过sockst下载git

设置 Git 使用 SOCKS5 代理 git config --global http.proxy “socks5://localhost:1080” git config --global https.proxy “socks5://localhost:1080” 克隆仓库 git clone https://github.com/odoo/odoo.git 取消代理设置(可选) g

git clone [github]下载速度慢问题解决

将下面两个ip加入HOST 192.30.253.113 github.com 151.101.185.194 github.global.ssl.fastly.net 如果不起作用,登录 http://github.com.ipaddress.com/ (需要翻墙)输入 github.global.ssl.fastly.net 和 github.com查询对应的ip,修改host文件中的i

git fetch.git merge,git pull

git fetch origin branch1:branch2 首先执行上面的fetch操作 使用远程branch1分支在本地创建branch2(但不会切换到该分支),  如果本地不存在branch2分支, 则会自动创建一个新的branch2分支,  如果本地存在branch2分支, 并且是`fast forward', 则自动合并两个分支, 否则, 会阻止以上操作. Git pus

Eclipse使用git最基本流程

Eclipse使用git最基本流程,eclipsegit流程 git有诸多好处,网上都说的很清楚了,在这里我不再赘述。对于我来说,私下里想做一些项目,而又不能很好的保存自己的代码和进行版本控制,这时候,就用到了git。下面,就以我个人为例讲讲git从0开始如何安装使用。 Step1 准备工作 msysgit,下载地址为http://msysgit.github.io/

【已解决】在IDEA中使用Git拉取代码时提示:Can‘t update / master has no tracked branch

文章目录 问题描述原因分析解决方案 问题描述 在IDEA中使用Git拉取代码,尝试更新本地项目代码,提示 " Can't update / master has no tracked branch ",如下图所示: 原因分析 出现上述问题意味着本地名为master的分支(或者在很多新项目中为了更包容性已改为main作为默认分支名)并没有设置为跟踪任何远程分支。

Git 中 pull 操作和 rebase 操作的不同

由于在开发过程中,pull 操作和 rebase 操作都是用来合并分支的,所以我就常常分不清这两个操作具体有什么区别,所以才有了这篇博客来做个简单区分,具体细致差别还请移步到官方文档:Git - Reference (git-scm.com) 1)pull 操作明确来说,实际是分为了两步操作:fetch + merge fetch:进行 pull 操作的时候,git 首先会将远程仓库中的所有远

Viewpager+Fragment滑动更改ListView数据和设置title文字的变化

设置ListView的数据更改只有几行代码,不用说了; 设置title的文字的变化:给ViewPager设置监听器,Viewpager变化的时候,给文字添加渐变,滑动完成后设置文字最终的大小 主要代码如下: /** * ViewPager切换监听方法 */public ViewPager.OnPageChangeListener pageListener = new ViewP

开发人员必掌握的Git常用命令备忘录清单

基础操作 1、创建ssh key,邮箱可以随便输入,不会做校验 ssh-keygen -t rsa -C "你的邮箱地址" 2、配置Git账号信息,你所有的Git操作记录,都会显示为你设置的昵称。 # 不添加`--global`表示在当前目录下的Git仓库设置,添加表示全局设置。git config --global user.name "你的Git提交昵称"# 邮箱可以随便输入,不会