一、新建分支
每次开发新功能,都应该新建一个单独的分支(这方面可以参考点击打开链接)。
#获取主干最新代码
git checkout master
git pull
#新建一个开发分支
git checkout -b myfeature
二、提交分支commit
$ git add --all
$ git status
$ git commit --verbose
git add 命令的all参数,表示保存所有变化(包括新建、修改和删除)。从Git 2.0开始,all是 git add 的默认参数,所以也可以用 git add . 代替。
git status 命令,用来查看发生变动的文件。
git commit 命令的verbose参数,会列出 diff 的结果。
三、撰写提交信息
四、与主干同步
分支的开发过程中,要经常与主干保持同步。
$ git fetch origin
$ git rebase origin/master
五、合并commit
分支开发完成后,很可能有一堆commit,但是合并到主干的时候,往往希望只有一个(或最多两三个)commit,这样不仅清晰,也容易管理。
那么,怎样才能将多个commit合并呢?这就要用到 git rebase 命令。
$ git rebase -i origin/master
git rebase命令的i参数表示互动(interactive),这时git会打开一个互动界面,进行下一步操作。
六、推送到远程仓库
合并commit后,就可以推送当前分支到远程仓库了。
$ git push --force origin myfeature
git push命令要加上force参数,因为rebase以后,分支历史改变了,跟远程分支不一定兼容,有可能要强行推送
七、发出pull request
提交到远程仓库以后,就可以发出 Pull Request 到master分支,然后请求别人进行代码review,确认可以合并到master。