---
# System prepended metadata

title: FocusNow Android git 规范

---

# FocusNow Android git 规范

## Branch分类

- master: 主分支，每次迭代完成后将develop分支合并进来
- develop: 开发主分支
- feature: 需求分支
- fix: Bug分支
- hotfix: 即将release时发现的紧急bug，需要即刻修复的

## Git规范

1. master和develop为主分支，长期存在，其他分支为临时分支，在完成需求后合并到主分支后删除
2. feature分支从develop分出，命名规则为`feature/FN-XXX_this_is_description`，其中`FN-XXX`表示teambition的任务id。fix分支同理。
3. 临时分支需要随时与上游分支(通常是develop分支)保持同步，同步命令如下：
    ```
    $ git fetch origin
    $ git rebase origin/develop
    ```
    关于rebase和merge可参考文章[git rebase 和 git merge 的区别](https://www.jianshu.com/p/f23f72251abc)
4. 临时分支开发完毕后，需要提交pull request请求合并到上游分支，当reviewers approve后，该分支将合并到上游分支并删除。
5. 对于需求较大的情况，可在开发初期或中期提交pull request，每次提交新的commit会自动更新pull request，方便reviewers早期审阅，提出建议，且容易理解代码。
6. 当一个迭代周期结束需要发布版本时，需要打tag，tag名为版本号,如`3.0.0`