利用Git+Github进行团队协作开发
- Github上新键项目,开发demo,在master分支上打tag,提交到远端
- 从新键develop分支,在develop分支进行开发,并提交到远端
git branch develop master # 从master分支上新建develop分支
git checkout develop # 检出develop分支
# 此处可进行功能开发,并add和commit到develop分支
git push origin develop # 推送develop分支到远端的origin/develop
- 若master分支出现了紧急bug,就需要用到hotfix分支
git checkout master # 切换回master分支
git checkout -b hotfix master # 新建hotfix分支,并切换到该分支
...... # 做一些bug修复工作
git checkout master # 切换回master分支
git merge --no-ff hotfix # 合并hotfix分支,此时bug已被修复(无冲突)
git tag v0.2 # 新建tag v0.2
git push origin master # 推送master分支代码到远端
git push origin --tags # 推送tag到远端
- develop分支开发完成,需要进行测试和提交,用到release分支
git checkout develop # 切换回develop分支
git checkout -b release01 develop # 新建release分支,并切换到该分支
....... # 做一些测试、bug修复等工作
git checkout develop # 切换回develop分支
git merge --no-ff release01 # 合并release01分支到develop分支(无冲突)
git push origin develop # 推送develop分支到远端
git checkout master # 切换回master分支
git merge --no-ff release01 # 合并release01分支到master分支(无冲突)
git tag v0.3 # 新建tag v0.3
git push origin master # 推送master分支代码到远端
git push origin --tags # 推送tag到远端
- 继续develop分支,并push到远端。如果团队成员增加,每个人都从Github克隆一个项目,新键feature分支
git clone xxxx.git
git checkout develop
git checkout -b feature-xx develop # 从develop分支新建并检出feature分支
git checkout -b feature-A develop # 从develop分支新建并检出feature分支
# 这里可以进行一些功能开发,并不断的add和commit
git checkout develop # 切换回develop分支
git pull origin develop # 更新远端代码,看develop分支是否有更新(无更新)
git checkout feature-A # 切换回feature分支
git rebase develop # 合并develop分支到feature分支,并解决冲突(无冲突)
git checkout develop # 切换回develop分支
git merge --no-ff feature-A # 合并feature分支到develop分支
git push origin develop # 推送develop分支到远端
git checkout -b feature-B develop # 从develop分支新建并检出feature分支
# 这里可以进行一些功能开发,并不断的add和commit
git checkout develop # 切换回develop分支
git pull origin develop # 更新远端代码,看develop分支是否有更新(有更新)
git checkout feature-B # 切换回feature分支
git rebase develop # 合并develop分支到feature分支,并解决冲突(有冲突)
# 这里需要进行冲突解决
git add . # 解决完冲突之后执行add操作
git rebase --continue # 继续刚才的rebase操作
git checkout develop # 切换回develop分支
git merge --no-ff feature-B # 合并feature分支到develop分支(无冲突)
git push origin develop # 推送develop分支到远端
- 如果此时需要进行测试、发版操作,需要再次新键并检出release分支,重复第2步