zoukankan      html  css  js  c++  java
  • git代码回滚

    有时候我们用git提交代码后发生了错误,代码冲突了啊等等,我们需要将代码回到以前的某个版本

    git代码回退有两种办法

    一、git reset(推荐):

    它是将最新的commit删除,用以前的某个版本的代码替代最新的代码,这里我们测试下

     这里有很多的commit,我现在想将代码退回到第三个commit的时候,如果是用git命令,在项目的根目录就是有.git隐藏文件的目录,右击打开黑窗口

    git reset --hard d83053a1a3ad6e169300b70a1f38b8b3d13d8576(这里是commit的标识)

    执行完我们就回到了这个版本的代码,我们的本地代码,head什么的都改过来了,不过远程仓库的代码没有改过来,这个时候我们需要用

    git push -f origin dev        //强行推送我们的代码,用我们现在的代码完全覆盖远程仓库的代码,正常推送会有冲突,这里不会有什么冲突的

    如果我们用tortoise git(乌龟git)界面化git,我们右击项目点开show log

     找到我们的某次提交,右击选择reset dev to this...,选择hard

     确定后本地就已经改过来了,右击项目push代码,勾选unknown changes(就是强制推送代码的意思)

    远程仓库的也改过来了

    这里就会发现我们以前的commit不见了,我们想要恢复到的第三个commit上来了,成了最新的commit

    二、git revert

     这种方法是在已有代码的基础上面,再做一次commit,不过这个commit是对某次commit的反向操作,如果我们做错了某次提交,我们可以再做一次反向的提交,就可以回到上一个版本的代码了

    不过这个方式我不太喜欢,退回到上一个版本还好,如果想要退回到以前的某个版本很有可能就会冲突了,而且提交的时候也会比较麻烦,这里记录下:

    现在我要把git的代码回退,revert操作用tortoise git(乌龟git)好像不太好用,点击revert经常上面都没有,这里就记录下用git命令怎么做:

    在项目的根目录右击,打开黑窗口,输入:

    git revert d83053a1a3ad6e169300b70a1f38b8b3d13d8576(最新的commit标识)

    我们会发现来到了个黑窗口,我们需要在最下面输入提交的message,随便写些什么都可以

    写一些东西后,按ESC,然后同时按shift+;  ,输入wq,回车就可以了(这完全就是linux命令)

     这个时候我们本地的代码也已经改过来了,然后我们需要将代码提交到git远程仓库,我们先pull,再push(不用先commit了,这其实做的就是一次commit操作,不过做的是某个反向的commit功能),然后我们远程的代码也改过来了

    看下自己的代码吧,写完收工

  • 相关阅读:
    Gecko Bootloader的介绍(Silicon Labs)【一】
    使用模板新建ZigBee工程的方法
    代码控制ZigBee网络密钥的生成
    Ubuntu20编译最新版Android源码教程
    C和C++常用代码片段整理
    Java易错的知识点整理
    仿IntelliJ Darcula的Swing主题FlatLaf使用方法
    PuTTYTabManager汉化版
    WinSCP整合SecureCRT打开终端
    异想家博客图片批量压缩程序
  • 原文地址:https://www.cnblogs.com/waterlufei/p/6986446.html
Copyright © 2011-2022 走看看