zoukankan      html  css  js  c++  java
  • git 撤销&回滚命令

    工作区:指自己写代码的工作目录,未进行 git add 操作之前。

    暂存区:执行过 git add 操作之后,但是为执行 git commit 操作。

    本地分支:执行过 git commit 操作,但是未执行 git push 操作。

    远程分支:执行过 git push 操作。

    三种场景介绍:

    1.git add . 但是未进行 commit 操作。     暂存区

    2.git commit 但是未进行 git push 操作。 本地分支

    3.git push 操作了。                                  远程分支

    第一种场景

    执行了 git add 操作 未执行 git commit 操作

    git reset HEAD .                 撤回所有 add 的文件

    git reset HEAD  文件名      撤回指定的文件

    这个命令只改变暂存区代码,并不影响其他区域代码。

    第二种场景

    执行了 git commit 操作 未执行 git push 操作

    git log 查询提交日志 找到自己需要回滚的 版本号(commit_id)

    git reset --hard commit_id  撤销commit提交以及代码的修改

    或者

    git reset --hard HEAD^     回退到最近一次的提交

    或者

    git reset commit_id       仅仅撤销本地仓库的commit提交,代码不变

    git reset 的几种模式
    git reset主要有–soft –mixed –hard 三种方式 

    HEAD^的意思是上一个版本,也可以写成HEAD~1

    如果你进行了2次commit,想都撤回,可以使用HEAD~2

    --mixed 
    不删除工作空间改动代码,撤销commit,并且撤销(git add .) 操作
    这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
    --soft  
    不删除工作空间改动代码,撤销commit,不撤销git add . 

    --hard
    删除工作空间改动代码,撤销commit,撤销git add . 

    注意完成这个操作后,就恢复到了上一次的commit状态。

    如果不指定reset的模式,默认使用–mixed模式。

    如果 commit 注释写错了,我们可以使用 git commit --amend -m "备注" 既可以覆盖上一次的备注信息。

    第三种场景

    第三种场景进行撤回的命令和第二个场景撤回命令一样。但是撤销之后 需要 进行 git push -f origin branchName 操作。这样远程仓库对应分支代码就会回滚掉。

    注意:一定要注意回滚指定版本号,不应该是最新提交的版本号,而应该是最新一次commit之前的版本号,否则无法进行回滚的。

    慎用 git reset --hard commit_id(版本号) 因为它会把自己工作区的修改内容也给删除掉!!!

     
  • 相关阅读:
    Ext.widgetsform(上)BasicForm/Field/Checkbox/Radio/HtmlEditor/TextField
    EXT核心API详解(二)Array/Date/Function/Number/String
    Think of Ext2.0
    EXT核心API详解(七)Ext.KeyNav/KeyMap/JSON/Format/DelayedTask/TaskRunner/TextMetrics/XTemplate
    Ext架构分析(2)理解Ext.util.Observable
    Ext.dataStore
    Ext架构分析(1)理解Ext.util.Event
    Spket Eclipse插件使用教程
    Ext.widgetsform(下)ComboBox,TimeField,DateField,TriggerField,TextArea,NumberField
    Ext.menu.Menu
  • 原文地址:https://www.cnblogs.com/ming-blogs/p/13218420.html
Copyright © 2011-2022 走看看