关键词搜索

源码搜索 ×
×

Git使用实战:多人协同开发,紧急修复线上bug的Git操作指南。

发布2021-10-22浏览2155次

详情内容

在这里插入图片描述

使用场景

  1. 团队协同开发时,生产环境出现bug,需要紧急修复。
  2. 每位同学在本地开发,对应本地的dev分支,本地测试通过后提交到测试环境的dev分支。
  3. 测试环境有其他同学提交的代码,正在测试中,无法提交到生产环境的master分支。
  4. 以上情况导致我们不能在本地基于dev分支修复bug,因为会和其他同学提交的测试中的代码“撞车”,导致无法及时提及到生产环境。
  5. 这个时候如何正确使用Git管理代码呢?

解决思路

  1. 首先我们从master拉取最新代码到本次创建临时分支
  2. 在本地紧急修复代码,进行测试,测试无误后merge热修复代码到dev分支
  3. 本地merge测试分支和本地热修复分支的代码,有冲突解决冲突,提交代码(保证紧急更新的代码能及时被其他同学拉取到)
  4. 测试环境进行测试
  5. 测试无误后切换到master分支,merge紧急修复分支代码!(注意:是紧急修复分支的代码,不是测试dev分支代码,因为我们无法保证dev分支有无其他同学提交的未测试通过的代码!!!)
  6. 推送master分支merge热修复的代码到远程仓库,发布项目
  7. 如果需要的话添加tag标签,标记一下操作。
  8. 删除热修复分支,切换到dev分支,继续自己的本地开发。

操作流程

  1. 切换到master分支,拉取最新代码
git checkout master

git pull
    1. 基于master分支创建热修复分支
    git branch master_hotfix
    
    • 1
    1. 切换到热修复分支
    git checkout master_hotfix
    
    • 1
    1. 本地开发,修复bug,测试
    coding
    
    • 1
    1. 本地测试通过后,merge热修复代码到dev分支
    git checkout dev
    
    git merge master_hotfix
    
      1. 解决冲突,提交代码,测试环境进行测试
      git push origin dev
      
      • 1
      1. 测试通过后,merge热修复代码到master分支
      git checkout master
      
      git merge master_hotfix
      
        1. 推送master代码到远程仓库
        git push origin master
        
        • 1
        1. 添加tag标记:git tag -a 版本号 -m “注释”
        git tag -a 1.1.0 -m "紧急修复xxbug"
        
        • 1
        1. 推送tag
        git push --tag
        
        • 1
        1. 删除热修复分支
        git branch -d master_hotfix
        
        • 1
        1. 切换到开发分支,进行本地开发
        git checkout dev
        
        • 1

        附录:Git使用的小技巧

        Git命令别名

        1. 首先找到Git的配置文件,比如Mac系统下
        vim ~/.gitconfig
        
        • 1
        1. 在配置文件中根据自己的使用习惯添加[alias],比如:
        [alias]
        
        br = branch
        
        ci = commit
        
        cl = clone
        
        co = checkout
        
        cp = cherry-pick
        
        cfg = clone
        
        df = diff
        
        fh = fetch
        
        lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"
        
        mg = merge
        
        pl = pull
        
        plr = pull --rebase
        
        rb = rebase
        
        ph = push
        
        rmt = remote
        
        rst = reset
        
        sh = stash
        
        st = status
        
        sts = status -s
        
        sbm = submodule
        
        sw = show
        
        swf = "show --name-status"
        
        delb = "push origin --delete"
        
        delt = "push origin :"
        
        mb = merge-base
        
          4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
        • 17
        • 18
        • 19
        • 20
        • 21
        • 22
        • 23
        • 24
        • 25
        • 26
        • 27
        • 28
        • 29
        • 30
        • 31
        • 32
        • 33
        • 34
        • 35
        • 36
        • 37
        • 38
        • 39
        • 40
        • 41
        • 42
        • 43
        • 44
        • 45
        • 46
        • 47
        • 48
        • 49
        • 50
        • 51
        1. 这样我们就能使用简化后的命令操作git了,进一步提高了效率。
          比如:
        git commit -m'注释'
        
        • 1

        可以简化为:

        git ci -m'注释'
        
        • 1

        总结

        团队协作是职业生涯中必须面对的问题,Git为我们代码的协作管理提供了强大的工具。

        熟悉Git操作,拥抱团队协作。

        本文抛砖引玉,大家还有哪些Git使用技巧,欢迎在评论区赐教。

        相关技术文章

        点击QQ咨询
        开通会员
        返回顶部
        ×
        微信扫码支付
        微信扫码支付
        确定支付下载
        请使用微信描二维码支付
        ×

        提示信息

        ×

        选择支付方式

        • 微信支付
        • 支付宝付款
        确定支付下载