腾讯云技术分享专栏 5 分钟入门 git 模式开发
本文由云 + 社区发表
作者:唐维黎
导语
基于 gui 工具 TortoiseGit 让你快速进入 git 开发模式。
目前项目已逐步从 svn 移步到 git 开发模式,其中也针对 git 统一协议了适合 git 的开发规范, 最重要一点就是分支模型的,为了规范开发,不直接在主干上修改代码,一切代码都提交至分支 dev,然后再由分支合并到主干 master。 首先保证每个仓库下有以下两个常驻分支(永远不删除的分支): master:主干分支,始终保持跟外网服务器一致,只用于外网发布,这样就可以保证文件不会带出去的风险; dev:基于 master 创建,用于开发新功能和新需求的分支。
开发流程如下:
\1. 基于 dev 分支创建 dev-xxx 分支,开始进行普通的常规需求开发,开发完成后,Commit 提交代码到本地仓库,如果这个新项目或者功能比较大有多人协同开发,怕会相互影响对方的代码,现从 dev-xxx 分支创建新分支 dev-xxx-user 进行开发,前提是 dev-xxx 分支需要 push 到线上;
\2. 开发完成后将 dev-xxx 分支合并到 dev 分支,然后部署 dev 到测试环境进行测试,测试过程中有 bug 的话修复完后同样合并到 dev 分支。如果是在多人协同开发的情况下先将 dev-xxx-user 分支合并到 dev-xxx,再将 dev-xxx 合并到 dev 分支;
\3. 测试完成后,将 dev 分支合并到 master 分支,然后进行正式发布。发布完成后删除 dev-xxx 和 dev-xxx-user 分支; 如果担心在最后一步合并代码到 master 时有问题,也可以在测试的时候随时更新到本地 master(先 checkout master 分支到本地),但不要 push 到线上,本地 master 如果一定 push 到线上的话,这就要保证你的需求未测试发布前,别人不会发 master 与你相关的文件~
另外,如果是外网 BUG 或者日常,就可以在 master 上直接创建分支,修复完成后发布,定时同步 dev 分支,这样可以提高效率 ~ 下面以一个简单的需求来实际操作下,看看 TortoiseGit 的使用方法:(前提本地是有安装 git 和 TortoiseGit)
1. 克隆代码仓库到本地
在指定文件夹下,右键 -> Git Clone..
点确定后会提示你输入用户名和密码,这个跟 svn 类似 然后等待一会代码就成功克隆到本地了,速度比 svn 要快很多,另外也可以直接用命令行的方式
git clone XXXXX.git
代码克隆后,后续分支都是在本地的同一份代码上进行分支创建,而无需再次克隆~
2. 创建本地分支
创建分支前请实时 git pull 线上仓库到本地,保证本地 dev 是最新 进入刚克隆下来的目录,右键 -> TortoiseGit -> Create Branch..
3. 查看及切换当前分支
右键 -> TortoiseGit -> Switch/Checkout...
切换成功后,可通过 Git bash 查看是否真的切换过来
也可以在命令行直接 git branch 查看,高亮的为当前分支 重要:注意在开发的时候请保证当前自己所修改的代码是当前需求的分支
4. 开发完成后 Commit
右键 Git Commit -> 'dev-xxx' 提交记录一定要填 ,其它信息可选
Commit 到本地仓库,Commit 这里也可以直接一次性 push 到线上仓库,但一般情况下不会这么干, 在多人协作的时候,其他人要合并代码到 dev-xxx 分支时可以直接一键 commit+push
5. 合并分支
首先切换到要合并的目标分支(切换分支见上述 3),本次要将 dev-xxx 合并到 dev 分支,我们切换到 dev 分支, 右键 -> TortoiseGit -> Merge...
6. 提交到线上仓库
右键 -> TortoiseGit -> Push...
会要求你输入用户名和密码 提交成功后,提单部署测试环境
7. 合并到 master 主干分支
测试通过并完成后,将 dev 分支合并到 master 并 push 到线上仓库,提单发布外网, 合并到 master 的时候,可以将线上的 master 分支 checkout 到本地,然后进行本地的 dev 和 master 合并,再 push 到线上, 也可以直接将本地 dev 直接合并到线上 master(remotes/origin/master)分支,本地合并冲突比较好解决,也不会影响线上。
到此本次需求完成
此文已由腾讯云 + 社区在各渠道发布
获取更多新鲜技术干货,可以关注我们腾讯云技术社区 - 云加社区官方号及知乎机构号