git中如何撤销部分修改?

时间:2023-02-21 08:24:10

以提问中修改了两个文件a、b为例,假设需要撤销文件a的修改,则修改后的两个文件:

1、如果没有被git add到索引区

git checkout a 便可撤销对文件a的修改

2、如果被git add到索引区,但没有做git commit提交

1)使用git reset将a从索引区移除(但会保留在工作区)

git reset HEAD a

2)撤销工作区中文件a的修改

git checkout a

3、如果已被提交,则需要先回退当前提交到工作区,然后撤销文件a的修改

1)回退当前提交到工作区

git reset HEAD^

2)撤销工作区中文件a的修改

git checkout a

补充:

撤销修改

  • 已修改,未暂存:git checkout . (git checkout <file>)
  • 已暂存,未提交: git reset (git reset --hard 会覆盖)
  • 已提交,未推送: git reset --hard origin/master (远程仓库覆盖本地仓库)
  • 已推送: git reset --hard <commitID> (如果要覆盖远程必须强制推 git push -f)

git中如何撤销部分修改?的更多相关文章

  1. 在Git中如何撤销上一次的commit

    有的时候我们一不小心就git commit -m ‘commit message info’解决办法,很简单,只需执行git reset HEAD~这条命令即可,即能保证你原本的修改还在,也能撤销本次 ...

  2. 大话git中的撤销操作

    下面以现实场景作为情境. 基础知识,理解git中的几个区域 本地代码已经add,未commit 修改本地工作目录中的readme.md,添加文字"第一次修改" 然后查看下状态 ➜ ...

  3. Git版本控制:Git查阅、撤销文件修改和撤销文件追踪

    http://blog.csdn.net/pipisorry/article/details/47867097 查看文件的修改历史 git log --pretty=oneline 文件名 # 显示修 ...

  4. 如何在Git中撤销一切 &vert; 干货

    翻译:李伟 审校:张帆 译自:Github JF杰微刊:如何在Git中撤销一切 任何一个版本控制系统中,最有用的特性之一莫过于 "撤销(undo)"操作.在Git中,"撤 ...

  5. 【转】如何在Git中撤销一切

    翻译:李伟 审校:张帆译自:Github 任何一个版本控制系统中,最有用的特性之一莫过于 “撤销(undo)”操作.在Git中,“撤销”有很多种含义. 当你完成了一次新的提交(commit),Git会 ...

  6. &lbrack;译&rsqb;如何撤销git仓库里的所有修改?

    原文来源:https://*.com/questions/29007821/git-checkout-all-the-files 问: 如何撤销我在我git仓库所做的所有修改? ...

  7. Git 中文件的状态和流转区

    Git的文件主要处于三种状态,分别是 staged, modified, committed. Git文件流转有三个区域,分别是 工作区域. 索引区域. 本地数据区域. 要修改对一个文件进行操作,首先 ...

  8. Git教程之撤销修改&lpar;7&rpar;

    自然,你是不会犯错的.不过现在是凌晨两点,你正在赶一份工作报告,你在readme.txt中添加了一行:

  9. git教程:撤销修改

    转载:撤销修改 自然,你是不会犯错的.不过现在是凌晨两点,你正在赶一份工作报告,你在readme.txt中添加了一行: $ cat readme.txt Git is a distributed ve ...

随机推荐

  1. js match&lpar;&rpar; 方法

    方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配.

  2. Redis安装与日常使用

    下载与安装 $ wget http://download.redis.io/releases/redis-3.0.3.tar.gz $ tar xzf redis-3.0.3.tar.gz $ cd ...

  3. Spring-2-H Array Diversity(SPOJ AMR11H)解题报告及测试数据

    Array Diversity Time Limit:404MS     Memory Limit:0KB     64bit IO Format:%lld & %llu   Descript ...

  4. sql模糊查询

    SQL 模糊查询 在进行数据库查询时,有完整查询和模糊查询之分. 一般模糊查询语句如下: SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四种匹配模式: ...

  5. OpenWRT 路由配置技巧

    随着最近 Google 在国内已经完全无法访问,使得通过 VPN 访问网络的需求更加强烈,本文介绍的方法可以使一个普通的路由具备稳定连接 VPN 的能力,并能够根据目标访问网站选择国内外线路,从而得到 ...

  6. Axis2&lpar;7&rpar;:将Spring的装配JavaBean发布成WebService

    在现今的Web应用中经常使用Spring框架来装载JavaBean.如果要想将某些在Spring中装配的JavaBean发布成WebService,使用Axis2的Spring感知功能是非常容易做到的 ...

  7. FZU 2170 花生的序列(动态规划)

    动态规划,转移方程为 dp[i][j] = (dp[i-1][j]+dp[i][j-1])%MOD,定义还是比较裸的,讨论一下就可以了 #include <iostream> #inclu ...

  8. dll和lib&lpar;包括静态链接库和与dll同时生成的lib&rpar;

    转:http://blog.csdn.net/galaxy_li/article/details/7411956 1:神马是Dll和Lib,神马是静态链接和动态链接 大家都懂的,DLL就是动态链接库, ...

  9. Linux下开源邮件系统Postfix&plus;Extmail&plus;Extman环境部署记录

    一.基础知识梳理MUA (Mail User Agent) MUA 既是"邮件使用者代理人",因为除非你可以直接利用类似 telnet 之类的软件登入邮件主机来主动发出信件,否则您 ...

  10. DevExpress ASP&period;NET v18&period;2新功能详解(三)

    行业领先的.NET界面控件2018年第二次重大更新——DevExpress v18.2日前正式发布,本站将以连载的形式为大家介绍新版本新功能.本文将介绍了DevExpress ASP.NET Cont ...