`

Git 撤销修改

阅读更多

 

 

 

增补提交

  git commit –C HEAD –a --amend

 

  -C表示复用指定提交的提交留言,这个例子中是HEAD,实际上可以指定其他有效的提交名称。

 

  如果参数是小写的-c,就会打开预先设置好的编辑器,以便在已有的提交留言基础上编辑修改。

 

  增补提交只能针对最后一个提交,如果想更正好几个提交之前的某个错误,则须使用git revert这个命令。

 

 

 

反转提交

  反转已经提交的改动,使用git revert命令,此命令通过在版本库中创建一个“反向的”新提交来抵消原来提交的改动。

 

  通常Git会立即提交反转结果,但是也可以通过参数-n告诉Git先不要提交,这用于反转多个提交非常有用,运行多个git revert –n命令,Git会暂存所有的变更,然后做一次性提交。

 

  做反转操作的时候必须提供提交名称,反转总是按照从新到旧点的倒序来操作的,即最后的提交最先反转,这样可以避免一些不必要的冲突。

 

 

 

复位

  命令git reset可以在复位版本库后,暂存工作目录树中因复位产生的与版本库的差异,以便提交。

 

  这对于在之前的提交中发现错误并需要更改时非常有用。

 

  这是通过--soft选项实现的,它使得Git暂存所有的因复位带来的差异,但不提交它。之后,用户可以修改这些内容再提交,或者干脆扔掉这些内容。

 

  选项--hard要小心使用,该选项会从版本库和工作目录树中同时删除提交,--hard就好像版本库中的删除键,并且不可恢复。

 

  git reset是以提交名称作为参数的,默认值是HEAD,可以用^和~作为提交名称的修饰符来指定某个版本。

 

  HEAD^是指把版本库复位到当前HEAD之前的那个节点上,把HEAD这个版本的修改扔到工作目录树中,

 

  540ecb7~3是指要复位到540ecb7之前的三个节点上,即把该提交和之前的两个提交(共三个提交)扔到工作目录树中。

 

 

 

  git reset --hard HEAD^ 强制复位前一个提交。

 

  git reset HEAD可以用来清除已经add到缓存区但是不想进一步提交的内容。

 

  另一种方式是用git rm --cached,选项--cached表明是清除缓存区,然后不动工作目录树。

 

  注意git checkout filename将会删除该文件中所有没有暂存和提交的改动,这个操作是不可逆的。

分享到:
评论

相关推荐

    Git撤销使用方法,详细教学

    撤销是指恢复先前的状态或操作,以便回退或取消更改,Git提供了多种方式来进行撤销,撤销对文件的修改、撤销暂存的修改、撤销提交、撤销合并等; 详细教程 1、撤销对已经暂存区的文件的修改 这个命令会将指定文件从...

    git常用操作命令 pdf

     git checkout -- readme.txt 撤销修改:1. 文件在添加到缓存区前修改,则回退到原工作区状态;2. 文件在添加到缓存区后修改,则回退到原缓存区状态。也即是将readme.txt撤回到最近一次git add或git commit状态...

    Git Community Book(中文版)

    Git的撤消操作 - 重置, 签出 和 撤消 维护Git 建立一个公共仓库 建立一个私有仓库 5. 高级技能 创建新的空分支 修改你的历史 高级分支与合并 查找问题的利器 - Git Bisect 查找问题的利器 - Git Blame Git和Email ...

    git-uncommit:撤消 Git 提交

    git-uncommit :撤消对补丁文件的 git 提交,并重新应用它们。 git-uncommit正如它所说的那样:它取消提交最后一次 Git 提交,保存补丁。 git-recommit应用回最后一个未提交的补丁; 应用补丁后,补丁文件被删除。...

    gitjk:撤消您刚刚在git中所做的操作

    如果您只是运行了一个git命令,那么该程序将撤消它,告诉您如何撤消它,或者告诉您无法撤消。 基于一个笑话,我不久前发布了。 例子 要求撤消建议。 git init gitjk This created a .git folder in the current ...

    Git常用操作

    绝对是平常最常用的操作 ...4.3. 撤消已修改的文件 7 4.4. 撤消未跟踪文件 7 五、提交记录查询 7 六、分支管理 7 1. 克隆代码 7 2. 创建本地工作分支 7 3. 删除分支 8 4. 切换分支 8 5. 合并分支 8 七、应用标签 8

    Git基础用法

    5、 撤销修改及删除文件 9 6、 远程仓库 12 1. 创建git远程仓库(创建git远程服务器) 12 2. 添加远程库 14 3. 从远程库克隆 15 4、 直接关联远程库 16 7、 分支管理 17 1、 创建与合并分支 17 2、 解决冲突 21 3、 ...

    Git的merge和rebase你真的了解吗?

    撤销修改:Git可以帮助开发者撤销对文件的修改,包括撤销已经提交的修改和撤销未提交的修改。 版本标签:Git可以为每个版本打上标签,用于标记重要的版本或里程碑。 子模块管理:Git支持子模块管理,可以将一个项目...

    25个开发┃如何在Git里撤销(几乎)任何操作

    在本篇博文里,我会讲解某些你需要“撤销”已做出的修改的常见场景,以及利用Git进行这些操作的最佳方法。场景:你已经执行了gitpush,把你的修改发送到了GitHub,现在你意识到这些commit的其中一个是有问题的,你需要...

    git开发人员培训

    自己写的,适用于给开发人员做git培训。 内容如下: git架构 git安装 git配置 完成一次提交 合并 撤消修改

    GIT中文资源

    2.4 撤消操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.4.1 修改最后一次提交 . . . . . . . . . . . . . . . . . . . . . . 29 2.4.2 取消已经暂存的文件 . . . . . . . . . . . . . . ....

    git-secret:一个bash工具,用于将您的私有数据存储在git存储库中

    撤销某人的许可后,无需使用git-secret更改git-secret -只需使用git secret killperson their@email.com从钥匙串中删除其密钥,重新加密文件即可,它们将无法解密秘密了。 如果您认为用户在访问时可能已经复制了...

    GitDiffMargin:Git Diff Margin在Visual Studio页边距和滚动条上显示当前编辑文件的实时Git更改。 通过Visual Studio 2019支持Visual Studio 2012

    带有和不带有源概览蓝色矩形用于修改新行的绿色矩形红色三角形用于删除可通过Visual Studio的“字体和颜色”选项配置所有颜色撤消更改将旧代码复制到剪贴板通过在弹出窗口中选择复制旧代码的一部分在Visual Studio...

    GIT起步教程

    你可以比较文件的变化细节,查出最 后是谁修改了哪个地方,从而导致出现怪异问题,又是谁在何时报告了某个功能缺陷等等。使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改 的改删的删,你也照样...

    git-commands:every‍:laptop:每个开发人员都应该知道的主要git命令

    撤消更改 不受监视的文件 git checkout 删除尚未添加到舞台的新文件 git clean -df 从舞台上删除文件 git reset 撤消上一次提交 git revert HEAD 重命名提交 git commit —amend 分行 列出当地分行 git branch...

    git基本操作

    比较贴近应用的git操作介绍 git基础操作 ...四、代码撤消与回退 6 五、提交记录查询 7 六、分支管理 7 1. 克隆代码 7 2. 创建本地工作分支 7 3. 删除分支 7 4. 切换分支 7 5. 合并分支 8 七、应用标签 8

    Git命令工作中使用场景总结

    Git命令 -Git配置 -工作流程 -搭建 -文件操作 -忽略文件 -Git分支 -版本回退 -撤销修改 -删除文件 -合并解决冲突 -多人协作 -Rebase

    visualizing-git:可视化常见的Git操作如何影响提交图

    以下是一些您可以用它做的有趣事的示例:变基樱桃采摘推拉支持的运营在命令框中键入help以查看支持的操作的列表pres() =打开演示者模式undo =撤消最后一个git命令redo =重做最后一个撤消的git命令mode =更改模式( ...

    Git里多种撤销操作的最佳方法

    我们会给大家介绍关于Git里的多种撤销操作,我会讲解某些你需要“撤销”已做出的修改的常见场景,以及利用 Git 进行这些操作的最佳方法。下面来一起看看吧。

    Git常用命令及错误1

    Git常用命令--文件目录操作命令--git初始化操作--git 克隆分支--clone 远程分支--查看命令--版本回退--撤销修改--分支管理--tag相关

Global site tag (gtag.js) - Google Analytics