Toggle navigation
首页
技术
骑行
羽毛球
资讯
联络我
登录
Git Workflow
2018-03-01
Git
# 常用 git workflow 根据使用场景,常用的 git workflow 分为如下3种: 1. 仅有一个 master 分支 2. 有 master 和 develop 分支 3. 有 master、pre-production、production 分支 | | master | develop + master | master + pre-production + production | | -------- | ---------------------------- | --------------------------------------- | ------------------------------------------------------------ | | 复杂度 | 简单 | 中等 | 复杂 | | 特点 | master的代码就是线上环境代码 | 线上环境代码从development分支代码中获取 | 增加 pre-production 以确保即将上到 production 的代码没有问题 | | 应用场景 | 小型Web等需要迅速修改部署 | 代码不立即上线的场景 | 大型的对于健壮性要求较高的场景 | # 代码 merge 方式 无论采取何种 git workflow ,对于代码的merge,建议都遵循如下方式: 1. 开新branch(feature或bugfix) 2. 发 pull request 3. code review 4. merge code # merge or rebase merge 操作不影响分支的 commit 历史, rebase 操作会改变分支的 commit 历史,表示重新以别的分支建立基准,会把别的分支的commit塞到本分支commit前面 拿只有一个 master 分支的场景来说明这两个命令。 假设: * master 分支的 commits 为 ABE * feature-1 分支的 commits 为 ABCD 在 feature-1 分支上执行的结果如下: * git merge master:ABCDF * git rebase master:ABECD git merge 默认是 --ff 的方式,如果没有冲突,则自动合并代码,并在分支上建立一个新的 commit(F),包含E的更改内容 git rebase 重新以 master 为基准,master 比 feature-1 多了一个 commit:E,所以操作会把 E 塞到 本分支前面,变成ABECD。 ## 推荐操作 对于 master 主分支,仅仅进行 merge 操作,避免 rebase 造成历史 commits 变化,进而影响到更多的人向 master 分支 merge 代码出错 对于 feature 分支,在 merge 到 master 分支之前,先进行 rebase master 的操作,让 commits 重新以 master 分支为准,方便代码 merge 到 master 分支
×
本文为博主原创,如需转载,请注明出处:
http://www.supperxin.com
返回博客列表