代码管理-git

目录

提交者信息

为了规范提交者信息,必须设置正确的用户与email,执行一下命令:

  • git config –global user.name ‘真实姓名’
  • git config –global user.email ‘公司分配给员工的企业邮箱’

commit规范

  • 在push之前,为了保护代码,本地可以进行多次的commit
  • push时,尽量把多个commit合并为一个
  • push前尽量进行rebase操作,以便提交历史看起来更加线性

分支管理

  • 概览

  • 参考 git flow
  • 说明
    • 远程仓库的分支只能有有限负责人进行管理,普通开发无权进行分支管理
    • master、develop:master用于发布,develop作为代码主分支,master用于归档发布的代码,develop用于汇集开发的代码,都不会直接在这两个分支上开发
    • 开发一个特性时,基于develop分支切出一个新的feature分支
    • 发布时,基于develop分支切出一个release分支,发布分支只能进行bug修改
    • 维护分支,基于master切出一个hotfix分支,用于修改线上bug,bug修改完之后,要并回master分支与并入develop分支
    • 每发布一个版本,都要打一个tag

工作实践

以下说明是基于命令行的,大家实际工作用的是图形界面,都能找到对应的操作(图形界面的一个操作可能会对应多个命令)。

创建[特性分支]

  • 到gitlab创建特性分支

基于develop分支创建[特性分支]并推送到远程库步骤

  1. git checkout develop (先切到develop分支)
  2. git pull –rebase (拉取最新的develop代码)
  3. git checkout feature/xxx (本地库创建并自动切换到新开的特性分支)
  4. git push (将新开的特性分支推到远程库)

拉取【特性分支】代码步骤

  • git pull –rebase (假定当前已经在特性分支中)

推送[特性分支]代码步骤

  1. git pull –rebase
  2. git push

合并[特性分支]到develop分支步骤

  1. git checkout develop (先切到develop分支)
  2. git pull –rebase (拉取最新的develop代码)
  3. git checkout feature/xxx (切换回特性分支)
  4. git rebase develop (根据develop分支rebase特性分支,此时如果代码冲突,要进行处理解决)
  5. git checkout develop
  6. git merge feature/xxx (把特性分支合并到develop)
  7. git push
张贴在未分类