• git使用cherry-pick和revert抢救错误代码提交


    大多数的新手在新接触git时都会出现这样的问题。代码写完了,提交到dev分支进行测试。一高兴忘记切回来,继续在dev分支开发,写完之后提交时猛的发现,我靠,我怎么在dev上面写代码,此时内心必然是一阵骚乱。不要方!

    • 来,复现车祸现场
      • git checkout feature_1
        touch a.txt
        git add a.txt
        git commit -am "create a.txt"
        git checkout dev
        git merge feature_1
        git push origin dev 
          
        touch b.txt
        git add b.txt
        git commit -am "create b.txt"
        -- git checkout 好像不对

     理论上我们创建第二个文件应该是在feature_1分支,结果不小心把代码写在了dev分支提交了。此时我们要把这一次的提交撤回,但是代码又要保存下来并且移植到feature_1分支  

    • 来,上代码
      • git log  ## 此时在dev分支
      • git checkout feature_1  ##复制 commit 内容 切换分支到feature_1分支

      • git cherry-pick 35af160a63bff3654b9e1d434b17e77f3ecea0ef
      • cherry-pick可以将其他分支的提交合并到当前分支
    • 代码已经移植过来了。剩下的就是撤销dev代码的提交了
      • git checkout dev 
      • git revert 35af160a63bff3654b9e1d434b17e77f3ecea0ef

    至此问题都解决了      

  • 相关阅读:
    第十章学习笔记
    MyOD(选作,计入平时成绩)
    学习笔记第九章
    第一、二章学习笔记
    团队作业(一):团队展示
    C语言实现Linux下od -tx -tc XXX的功能
    第七、八章学习笔记
    Sort 在 Linux
    Linux C语言编程基础
    MyOD
  • 原文地址:https://www.cnblogs.com/nightOfStreet/p/11222550.html
Copyright © 2020-2023  润新知