美文网首页
git团队开发

git团队开发

作者: 小张同学_loveZY | 来源:发表于2018-08-17 10:41 被阅读0次

分支管理

git仓库维护着团队多人开发的多条分支,不团的公司有不同的分支管理方式,这里以一种较为广泛的应用方式进行分析。

分支分为:

  • online 分支:在线分支,线上最稳定可运行的版本
  • dev 分支:开发分支,所有的人的分支merge到dev分支,测试可用后merge到online
  • bug 分支:bug分支,如果dev上有bug时切成bug分支开发修复
  • f_name_subProject 分支: 最好有特殊的命名方式。每个人开发新特性分支
  • b_name_subProject 分支:每个人修复bug的分支

每个人在自己的分支上进行开发,dev,online代码由专人管理。

提交管理

提交步骤:
  • git add chgfile
  • git diff HEAD^ </br> 查看本地与远程代码的差异
  • git commit -m "comment"
  • git push origin xxx分支名
commit 的格式:有兴趣可查看 angular 规范

type: subject [空格] [body]

type

  • feat: 新功能
  • upd: 更新某功能(不是 feat, 不是 fix)
  • fix: bug 修复
  • doc: 文档改动
  • style: 代码格式更改(不影响代码运行的变动)
  • chore: 构建工具或辅助工具改动
  • refactor: 重构(不是 feat, 不是 fix, 不是 upd)

例子:(注意分号)

  • git commit -m 'feat: 增加 xxx 功能'
  • git commit -m 'bug: 修复 xxx 功能 </br> bug的详细描述,或者解决方法'
冲突处理:
  1. 本地拉取最新的分支
  2. 本地处理冲突
  3. 提交冲突到新的分支,取特殊命名:c_name_subProject
  4. 提交合并请求
代码回滚:
  1. git log/reflog 查看历史提交
  2. git reset option(一般为--hard) commitID 回滚

merge管理

所谓的merge就是将不同分支的代码进行合并,merge一般有权限要求,需要向管理员发起申请。merge冲突问题,在上面的提交中已经谈到。
merge还有一步是可以自查的步骤,这时候一定要认真看看自己的代码是不是和预期的一样,避免不必要的低级错误给团队开发带来麻烦。

codereview

说白了,就是看别人的代码。看看哪里有错哪里有值得借鉴的地方。可以在git线上发起分支间的review,发现差异,定位修改,快速学习。

gitlab ci && gitlab runner

GitLab Continuous Integration: gitlab持续集成

官网释义:GitLab has integrated CI/CD pipelines to build, test, deploy, and monitor your code

gitlab runner 是在本地搭建一个运行主机,运行Gitlab CI 指定的功能。

使用方法:

  • 1.本地安装 gitlab runner

  • 2.远程注册 gitlab CI

  • 3.编写.gitlab-ci.yml,并且提交到远程online分支(保证后面大家都有)

    示例

      # 执行前后的提示信息
      before_script:
        - echo 'runner begin'
      
      after_script:
        - echo 'runner end'
      
      #增加任务
      php-PSR2-check:
        tags:  # 指定使用标签的runner运行该任务
          - vipx-runner
        script:
          - sh xx/xx/xx/runner   # 运行本地runner 脚本
        only:  # 提交代码的时候检测
          - pushes
    
  • 编写本地runer script

    示例-一个php语法检测的脚本.需提前安装PHP_CodeSniffer工具

      #!bin/sh
      PHPCS=/xxx/xxx/xxx/gitlab-runner/PHP_CodeSniffer/bin/phpcs
      #FILES=/home/apple/vipx/gitlab-runner/*
      #FILES=$(git dii HEAD online --stat)
      FILES=$(git diff origin/online --stat)
      EXIT_CODE=0
      if [ "$FILES" == "" ]
      then
          exit $EXIT_CODE
      fi
      
      for FILE in $FILES
      do
          echo "$FILE" | grep -q "\.php"
          REV=$?
          if [ "$REV" -eq "0" ]
          then
              $PHPCS --standard=PSR2 -v -n $FILE
              if [ $? -ne 0 ]; then
                  EXIT_CODE=1
              fi
          fi
      done
      exit $EXIT_CODE
    

相关文章

  • iOS团队开发 git使用管理

    Git iOS 多人开发 git - xcode 团队开发 iOS开发中的Git流程(动态演示)

  • ios git的使用

    git本地操作 git团队开发操作 git分支管理 gitHub使用

  • git团队开发

    分支管理 git仓库维护着团队多人开发的多条分支,不团的公司有不同的分支管理方式,这里以一种较为广泛的应用方式进行...

  • git 团队开发

    git clone git@git.blog8090.com:Diuge/blog.gitgit push -u ...

  • Git 团队开发

    建立代码仓库(专门用于团队开发的代码仓库)====================================...

  • 团队项目的Git分支管理规范

    团队项目的Git分支管理规范 许多公司的开发团队都采用Git来做代码版本控制。如何有效地协同开发人员之间,以及开发...

  • Git使用总结

    该系列包括Git在个人开发的使用以及Git团队开发的使用 分布式版本控制工具 -> Git 首先,git是一款开源...

  • Git学习资料

    研发团队 GIT 开发流程新人学习指南 Git Flow, Why & How Gitflow 工作流 GIT版本...

  • git分支基本介绍

    相关:git branch -d 和 git branch -D 的区别 前言 git是开发的必备工具,在团队协作...

  • 源代码管理-Git

    PPT Xmind 笔记 上课笔记 01-GIT本地操作 02-GIT团队开发操作 03-GIT分支管理(了解) ...

网友评论

      本文标题:git团队开发

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