本文主要简述前端开发中,使用Github作为代码管理仓时,对代码的管理、团队合作时代码的分支管理,以及版本发布管理的一些模式和实践,同样也适用于git相关的代码管理仓库。
项目创建以及分支的创建
项目创建时,通常只会有一个主分支(master),在 Github 里,根据你创建时的选项,可能还会伴随一个 .gitignor 以及 README.md 文件
,之后可能你就开始大展拳脚,往里面添加各种前端开发包以及相关配置文件,如 vue、react、webpack、gulp 等等。但是我想说的是,请先停下手下的工作。
我们先把项目的分支规划一下,并且创建它们,即使你是一个人开发。对与分支的创建我们一般会至少一个分支,那就是 dev
分支用于日常代码的提交、修改、回滚等操作。
如果是团队合作,还有其他的开发人员,则需要在dev下创建子分支,分配给其他开发人员,用于开发。并且每天抽出一定的时间将检验通过的代码进行合并,最终你的项目分支可能会会如下图所示。
每当我们的产品的一个发布版本开发结束后,我们才将 dev 分支合并到主分支。
可能会用到的 git 命令,你也可以使用 git 图形化工具进行操作
//项目创建
git init
//创建 dev 分支
git branch dev
// 切换到 dev 分支
git checkout dev
// 推送 dev 分支的commit到远程仓库
git push origin dev
// 合并分支, 假设 Bob 分支 已经存在, 我们将Bob 分支合并到 dev 分支
// 切换到 dev分支
git checkout dev
// 合并Bob 分支到 dev
git merge --no-ff -m 'merge Bob to dev' Bob
//推送到远程仓库
git push orign dev
代码版本的发布(tag 和 release)
每当一个版本发布后,我们可以为当前的 commit 打上 tag ,这里的 tag 是类似于书签的功能,常用于代码发布时打上代码版本号,方便以后的查询。
可能会用得到 git 命令
// 切换到需要打 tag 的分支
git checkout dev
// 给最新的 commit 打上 tag
git tag v1.0.0
//查看所有的 tag
git tag
// 查看指定 tag v1.0.0
git show v1.0.0
// 推送 tag 到远程仓库
git push origin [tagname]
// 推送所有 tag 到远程仓库
git push origin --tags
// 删除远程分支
git push origin -d branch_name
如果你是使用的 Github 作为代码管理仓库,在 tag 创建后还可以创建一个 release, release 里可以记录一些版本的详细信息,并且会生成一个展示的列表页,用于浏览。对于移动 App、桌面软件的项目,可以打包一个发行版 apk,或者 exe 文件上传,便于安装包的版本管理。