美文网首页
git各场景下的撤销

git各场景下的撤销

作者: Uzero | 来源:发表于2018-04-01 16:22 被阅读0次

1、撤销工作区的修改(未执行 git add .)

git checkout 文件或目录

2、撤销暂存区的修改(已执行git add . 未执行 git commit)

git  reset HEAD或某一版本号 【可选:文件名】(HEAD指向最近的一个版本,一个commit就是一个版本,版本号可以通过git log指令查询)

注意:git reset有三个参数,--soft、--mixed、--hard,如果不指定,会默认指行--mixed参数,它的意思是将指定版本之后的修改(在本场景中,就是最近一次提交后的修改),都撤回到工作区中,也就是未执行git add的状态。如果加上--hard参数,就会放弃指定版本之后的所有修改,会出现干净的工作区与暂存区(此参数会在下个场景展示实例)。如果加上--soft参数,则会把指定版本之后的修改撤回到暂存区,工作区内容不变。

3、撤销已经执行git commit的修改(真正意义上的版本回退)

git reset 或 git revert

区别:git reset 会修改 git log 的版本历史,如果你回退到了几个版本前,那git log时就会发现你丢失了被回退的版本。而git revert不会修改版本历史,你回退哪个版本,git revert就会新建一个提交,把你要回退版本的修改抵消掉(个人常用 git revert )。

假设已经commit了三次,三个commit号简写如下,需要回退到commit2

commit3、commit2、commit1

git reset的做法 :git reset --hard commit2 ; git log查看 commit2、commit1

git revert的做法:git revert commit3    ; git log查看 commit4、commit3、commit2、commit1

相关文章

  • git各场景下的撤销

    1、撤销工作区的修改(未执行 git add .) git checkout 文件或目录 2、撤销暂存区的修改(已...

  • git 常用操作回顾

    撤销add git reset HEAD 撤销commit git reset --soft HEAD^ 仅撤销c...

  • git 撤销 与 push 单个文件 与 push文件夹

    git 撤销 与 push 单个文件 撤销: git reset --soft HEAD^ 这样就成功的撤销了你的...

  • 1223

    git 撤销和删除 撤销工作区的修改:撤销某个文件的工作区修改:git checkout [--] filepat...

  • Git 常用命令

    撤销 查看log git log找到要撤销的commit id 撤销后并还原文件git reset --hard ...

  • Git撤销git commit

    场景1:本地代码强制回退到过去某个版本 git 撤销commit http://zhyq0826.iteye.co...

  • 手把手带你玩git之各种撤销

    git 各种撤销 因为git有三个区:工作区,索引区和版本区。所以git的撤销有很多种,比如: 撤销工作区: 刚写...

  • Git版本回退

    git 撤销commit 撤销修改http://www.trinea.cn/dev-tools/git-skill/

  • git 撤销git commit(内含车协git add)

    撤销git commit 只是撤销commit, git add里面的内容仍然存在,这种功能类似于用来更改git ...

  • git revert 和 git reset 区别

    这里讲一下git revert和git reset的区别: git revert 是撤销某次操作,此次操作之前的c...

网友评论

      本文标题:git各场景下的撤销

      本文链接:https://www.haomeiwen.com/subject/sdxacftx.html