git开发指南

2019-05-05  本文已影响0人  Biao_349d

git开发指南

分支目录

线上分支命名-意义

本地分支命名-意义

本地分支命名规范:(后面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连接。

上一篇下一篇

猜你喜欢

热点阅读