1.新建分支
# 获取主干最新代码 $ git checkout master $ git pull # 新建一个开发分支myfeature $ git checkout -b myfeature
- 首先,每次开发新功能,都应该新建一个单独的分支(这方面可以参考《Git分支管理策略》)
2.提交分支commit
分支修改后,提交 commit
1$ git add --all
2$ git status
3$ git commit --verbose
- git add 命令的all参数:表示保存所有变化(包括新建、修改和删除)
- git status 命令:用来查看发生变动的文件
- git commit 命令的verbose参数:会列出 diff 的结果
3.撰写提交信息
提交 commit 时,附上操作说明
Present-tense summary under 50 characters
* More information about commit (under 72 characters).
* More information about commit (under 72 characters).
http://project.management-system.com/ticket/123
- 首先:不超过50个字的提要
- 然后:空一行,罗列出改动原因、主要变动、以及需要注意的问题
- 最后:提供对应的网址(比如Bug ticket)
4.与主干同步
- 开发过程中的分支与主干保持同步
$ git fetch origin
$ git rebase origin/master
5.合并commit
- 分支开发完成后,可能有一堆commit,但是合并到主干的时候,往往希望只有一个(或最多两三个)commit,这样不仅清晰,也容易管理
$ git rebase -i origin/master
6.推送远程仓库
- 合并commit后,推送当前分支到远程仓库
$ git push --force origin myfeature
- git push命令要加上force参数,因为rebase以后,分支历史改变了,跟远程分支不一定兼容,有可能要强行推送(参见这里)
7.发出pull Request
- 提交后,发出 Pull Request 到 master 分支,然后请求别人进行代码 review,确认合并到 master