美文网首页
git revert和 git reset

git revert和 git reset

作者: 戴西西的染坊 | 来源:发表于2017-12-28 17:02 被阅读0次
    • 当你提交多次后忘了每次提交的内容后你就希望可以查看一下这就会用到git loggit show这两个命令. 如图可以通过diff 看出改变了什么
      test_1.PNG

    当提交数很大时可以添加参数来使用简略查看提交的id.

    git log --pretty=oneline
    
    添加参数
    • 使用下面的命令会打开如图vim界面. 进行修改保存即可覆盖之前的提交信息
    git commit --amend
    
    修改提交信息 撤回上一步

    硬回退 git reset --hard [commit]

    重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致

    添加 -hard参数并且选取提交版本使head指向指定的提交,即形成了版本后退前进.

    --hard参数
    由图中可以看出使用 git reset --hard HEAD^git reset --hard [commit id] 效果是一样的,HEAD^可以写成HEAD~1,回退几个版本就写几. 可以想到 git reset --hard [commit id]也可以实现版本回退,跳转.原理就是讲head指向所指定的commit.

    软回退git reset --soft [commit]

    工作区和暂存区的的内容不变,只将head指向指定的commit版本

    soft使用
    这里的git reflog查看命令历史 git log是查看提交历史的.

    git revert

    撤销一个提交的同时会创建一个新的提交。这是一个安全的方法,因为它不会重写提交历史。比如,下面的命令会找出倒数第二个提交,然后创建一个新的提交来撤销这些更改,然后把这个提交加入项目中。
    $ git revert [commit]


    test_8.PNG

    从这里看出revert并不覆盖提交历史,但是reset会覆盖提交历史.

    相关文章

      网友评论

          本文标题:git revert和 git reset

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