git开发指南

git开发指南

分支目录

线上分支命名-意义

  • master 正式环境
  • dev 开发环境
  • beta测试环境
  • release已发布分支

本地分支命名-意义

  • feature 新功能开发
  • bugfix 修复测试环境中,测试同学提出的bug
  • hotfix 紧急修复正式环境

本地分支命名规范:(后面xxx推荐使用带功能描述的英文组合)例如模块名称,功能名称

bugfix:bugfix/xxx
hotfix:hotfix/xxx
feature:feature/xxx

分支定义

matser(正式版本)

只负责线上部署,只接受hotfixrelease的分支合并请求,不允许把developfeature分支直接合并

feature(功能开发)

每次开发新功能前,通过checkout dev后,本地生成一个新的feature本地分支进行开发,完成后推送到线上,等待发起合并请求。

dev(开发)

开发的主分支,每个开发人员应该在其分支下checkout一个新的本地feature分支进行开发,完成后推送本次的功能分支到线上,向dev分支提交合并请求,合并成功后删除线上的功能分支(线上功能)

beta(测试)

测试主分支,由测试同学负责管理,开发同学不做任何合并请求操作

bugfix(测试缺陷修复)

功能提测后,测试同学提了某个、某些缺陷,由开发同学从beta分支checkout一个新的本地bugfix分支进行bug修复,完成后,推送本次缺陷修复分支到线上,向devbeta分支提交合并请求,合并成功后删除线上的功能分支(线上功能)

release(大版本发布稳定分支)

该次迭代的beta环节全通过后,提交合并请求到release分支,等待线上部署。

hotfix(热修复)

只负责线上环境的bug修复,只与master分支有关联,不允许其它分支直接合并,请使用合并请求与master合并

commit 前缀

每次提交建议添加关键词前缀,用于指示本次改动的主题。建议采用的提交规范:

-feat: 新功能(feature)
-fix: 修补bug
-docs: 文档(documentation)
-style: 格式(不影响代码运行的变动)
-refactor: 重构(即不是新增功能,也不是修改bug的代码变动)
-test: 增加测试
-chore: 构建过程或辅助工具的变动

例如:
git commit -m 'feat: 登录模块'

案例参考

开发功能

git checkout dev
git pull origin dev
git checkout -b feature/login
# 开发完指定功能...
git add *
git commit -m 'feat: 新增登录功能'
git push -u origin feature/login
git checkout dev // 确认提交成功后, 切换到dev分支。
git merge feature/login// 合并feature/login 到dev
git branch -d feature/login // 确认合并成功并且无冲突后,删除本地分支
# 管理员合并代码。
# 开发下一个功能。roll。。。

修复beta过程中的代码

git checkout beta
git pull origin beta
git checkout -b bugfix/new-bug
git add *
git commit -m 'fix: 登录提示'
git push -u origin bugfix/sm-new-bug

发布新版本

# 合并到预发布分支
git pull
git checkout -b release/v3.1 develop
git push -u origin release/v3.1

紧急修复线上bug

git checkout release
git pull origin release
git checkout -b hotfix/hot-bug release
# ...这里省略正常的add、commit流程
git push -u origin hotfix/hot-bug

一些可能会用到的指令

更新线上分支列表

git remote update origin --prune

git branch -m feature/login  feature/changename  // 更换分支名称;

子模块

Git-工具-子模块
git子模块的使用简介

离线模式多用户开发

问题: 在项目禁止被放到线上的时候, 如何实现多人开发?

  1. 建立多用户分支
    例如:
    dev
    feature-a
    feature-b

  2. 在用户单独分支进行开发,开发完毕后,把代码合并到dev内。然后进行以下命令。
    git bundle create repo.bundle HEAD dev
    这里会创建一个repo.bundle文件。
    这时候另一个用户拿到这个文件。
    把它放到项目根目录下上一级文件内。
    git pull ../repo.bundle 拉取更新代码。
    当没有冲突后,把dev合并到自己当前分支内。
    这样就完成了离线多用户开发了。

更换git远程地址

git remote rm origin 删除远程地址
git remote add origin [git地址] 添加远程地址
git remote -v 查看远程地址

修改内容

回退版本

git reset --hard commit_id

给git仓库添加多个url地址

有时候,我们的远程仓库不止一个,我们先下的一份代码,不止需要提交到一个仓库,这时候我们可以使用git的添加多个远程地址的方式,一次Push就可以提交到多个地方。

首先,先增加第一个地址 git remote add origin <url1>
然后增加第二个地址 git remote set-url --add origin <url2>
增加第三个地址 git remote set-url --add origin <url3>
....依次类推

这样就完成了添加多个地址到origin库中了, 以后只要使用git push origin master 就可以一次性push到3各库里面了(使用git push也可)

git remote -v: 查看远程地址

注意
使用git push origin master时,你可以push到origin的多个url地址,
但是使用 git pull时,只能拉取origin里的一个url地址(即fetch-url),这个fetch-url默认为 你添加的到origin的第一个地址,
如果你想更改,只需要更改config文件里,那三个url的顺序即可,fetch-url会直接对应排行第一的那个utl连接。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,254评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,875评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,682评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,896评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,015评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,152评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,208评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,962评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,388评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,700评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,867评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,551评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,186评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,901评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,142评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,689评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,757评论 2 351

推荐阅读更多精彩内容