美文网首页
git撤销commit 并保存之前的修改

git撤销commit 并保存之前的修改

作者: PENG先森_晓宇 | 来源:发表于2019-07-15 11:57 被阅读0次

撤销并保留修改

参数 –soft

# 先进行commit ,之后后悔啦
$ git commit -m "对首篇报告研究员字段改为author_name"

执行git log

$ git log
 
commit 3d6788f577faba5e1d408e372031c81beee79749
Author: yous <yous.com>
Date:   Thu Dec 14 10:08:36 2017 +0800
 
    添加
 
commit 5029f0cc08cffb77f7358de7d5534e8f8eacb82e
Author: yous <yous.com>
Date:   Thu Dec 14 09:52:39 2017 +0800
 
    Revert "Revert "修改过程""
 
    This reverts commit c81f785a06804f5f40b41dedd038efbe6d83f8a8.
 
commit c81f785a06804f5f40b41dedd038efbe6d83f8a8
Author: yous <yous.com>
Date:   Thu Dec 14 09:52:22 2017 +0800
 
    Revert "修改"
 
    This reverts commit 5a1d18a032d8c9269613ff14593847f82043e627.
 
commit 5a1d18a032d8c9269613ff14593847f82043e627

可以看出,第一个是我刚刚commit的,我要撤销,当然是选择第二个;

执行命令git reset --soft <commit>

$ git reset --soft 5029f0cc08cf

之后我们查看下,状态:

$ git status
On branch yutao
Your branch is up-to-date with 'origin/yutao'.
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)
 
        modified:   dataservice/app/ggservice/v1/event/service/InfoEventService.java

可以看出已经回撤啦,并且保留了修改。

参数 –mixed


$ git reset --mixed 5029f0cc08cff
Unstaged changes after reset:
M       dataservice/app/ggservice/v1/event/service/InfoEventService.java
 
yutao@yutao MINGW64 /d/sts/workspace/ggservice (yutao)
$ git status
On branch yutao
Your branch is up-to-date with 'origin/yutao'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
 
        modified:   dataservice/app/ggservice/v1/event/service/InfoEventService.java
 
no changes added to commit (use "git add" and/or "git commit -a")

这种方式也是可以的。
参数--soft--mixed区别:

参数 区别
--soft 会将改动放在缓存区
--mixed 不把改动放在缓存区

git reset –hard <commit_id>

这种方式,我个人是不推荐,它也是撤销,但是不会保留修改。
除非你确实是不想要刚刚commit的内容,否则,这个操作会让你之前干的活,白干。
所以非常不推荐这个方式。

相关文章

  • git撤销commit 并保存之前的修改

    撤销并保留修改 参数 –soft 执行git log 可以看出,第一个是我刚刚commit的,我要撤销,当然是选择...

  • git 修改冲突

    :wq//保存并退出修改完后git add .git commit ""

  • Git版本回退

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

  • git reset撤销(回滚)git commit

    1.撤销commit,并且保存提交过的内容到暂存区 git reset --soft HEAD^撤销commit,...

  • Git操作速查

    舍弃本地修改 git 撤销,放弃本地修改 未add时git checkout . add后,commit前git ...

  • git 相关

    目录 git SSH配置 git 分支名修改 git 放弃本地修改 强制拉取更新 git 撤销commit git...

  • Git 常用命令

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

  • git常用命令

    1.撤销本地修改 修改了本地某个或某些文件,没有git add 也没有git commit,可以用这个命令撤销,尤...

  • git恢复文件

    恢复已修改未add的文件git checkout 恢复(撤销)已经提交(commit并push)到远端仓库的com...

  • git 命令

    删除分支命令git分支教程git-flow说明 Git撤销git commit 但是未git push的修改 找到...

网友评论

      本文标题:git撤销commit 并保存之前的修改

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