zoukankan      html  css  js  c++  java
  • git版本回退

    场景1:

      当你改乱了工作区某个文件的内容,修改后未执行git add和git commit,想直接丢弃工作区的修改时,用命令git checkout -- file

    场景2:

      当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,修改后执行了git add,未执行git commit,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。

    场景3:

      已经提交了不合适的修改到版本库时,执行了git commit,未执行git push,想要撤销本次提交,如下:

      1、查看历史提交记录

        git log 或者格式化输出结果 git log --pretty=oneline

        会显示commit id

      2、回退指定版本

        先找到要回退的版本的commit id

        git reset --hard <commit id或者前几位>

      3、git relog可以看做了哪些操作

    场景4:

      已经执行了git push,想要撤销本次提交,如下:
      假设你有3个commit如下:

      commit 3
      commit 2
      commit 1

      其中最后一次提交commit 3是错误的,那么可以执行:
      git reset --hard HEAD~1
      你会发现,HEAD is now at commit 2。
      然后再使用git push --force将本次变更强行推送至服务器。这样在服务器上的最后一次错误提交也彻底消失了。
      值得注意的是,这类操作比较比较危险,例如:在你的commit 3之后别人又提交了新的commit 4,那在你强制推送之后,那位仁兄的commit 4也跟着一起消失了。

  • 相关阅读:
    关于WP7的Loaded事件[转]
    皮皮书屋的变态验证码
    近期学习内容for mobile
    一个js问题引发的同时吐槽
    powerdesigner 概念模型转物理模型时的丢表问题
    偶的处女文近期学习计划
    web布局实现圆角,兼容所有的浏览器
    最近面试asp.net碰到的一些题
    网站推广心得
    兼容ie6的png格式图片的背景透明问题
  • 原文地址:https://www.cnblogs.com/leanfish/p/10149018.html
Copyright © 2011-2022 走看看