Git分支的使用

分支(Branch)是Git里的重要概念,大部分工作流程都离不开分支的支持,下面简单介绍一下Git分支的使用方法。

假设团队成员小A要修复一个bug,典型的工作步骤如下:

1、以本地仓库的master分支为基础,在本地仓库创建一个新分支(-b表示创建新分支):

> git checkout master
> git checkout -b issue28

2、小A在IDE里修改代码,进行必要的测试,过程略。

3、提交代码到本地仓库(在提交到远程仓库以前,可以多次提交):

> git add
> git commit -m "Fixed issue 28"

4、将本地代码push到远程仓库(origin)的同名分支(issue28,如果不同名push操作会失败),这样团队其他成员就可以看到了:

> git push origin issue28

这里可以加-u参数,表示让本地仓库的当前分支track远程的分支,下次直接git push即可。可以用git config -l命令查看已建立的track关系。

注:push之后可以发起一个Pull Request以便相关人员知道这个issue已经解决了。

5、团队负责人将远程仓库的issue28分支下载到本地,执行测试或检查代码:

> git pull
> git checkout issue28

注:这一步骤也可以使用git fetch命令,区别是pull = fetch + merge。

6、团队负责人认为代码没问题了,合并到master分支:

> git checkout master
> git pull
> git merge issue28 (也可以 git pull origin issue28)
> git push

若merge过程发生冲突,可以使用git mergetool启动外部工具解决(需预先配置,例如tortoisemerge、kdiff3、BeyondCompare等),也可以在命令行里直接编辑冲突文件内容解决。

参考链接:

Git工作流指南:功能分支工作流

Git Tutorials: Comparing Workflows