比较有意义的网站:
推荐的策略:总结采用的策略是第二个网站中的策略
1. 主分支:master
一个主分支,这个主分支只负责放打有 tag 标签的版本
2. 开发分支:develop
日常开发放在 develop 分支,这个分支可以用来生成代码的最新隔夜版本(nightly)。如果想正式对外发布,就在Master分支上,对Develop分支进行"合并"(merge)。
Git创建Develop分支的命令:
git checkout -b develop master
将Develop分支发布到Master分支的命令:
# 切换到Master分支
git checkout master
# 对Develop分支进行合并
git merge --no-ff develop
3. 临时分支:
- 功能(feature)分支
- 预发布(release)分支
- 修补bug(fixbug)分支
使用完以后,应该删除,使得代码库的常设分支始终只有Master和Develop。
4. 功能分支:
第一种是功能分支,它是为了开发某种特定功能,从Develop分支上面分出来的。开发完成后,要再并入Develop。功能分支的名字,采用feature-*的形式命名。
创建一个功能分支:
git checkout -b feature-x develop
开发完成后,将功能分支合并到develop分支:
git checkout develop
git merge --no-ff feature-x
删除feature分支:
git branch -d feature-x
5. 预发布分支:
预发布分支是从Develop分支上面分出来的,预发布结束以后,必须合并进Develop和Master分支。它的命名,采用release-*的形式。
创建一个预发布分支:
git checkout -b release-1.2 develop
确认没有问题后,合并到master分支:
git checkout master
git merge --no-ff release-1.2
# 对合并生成的新节点,做一个标签
git tag -a 1.2
再合并到develop分支:
git checkout develop
git merge --no-ff release-1.2
最后,删除预发布分支:
git branch -d release-1.2
6. 修补bug分支:
修补bug分支是从Master分支上面分出来的。修补结束以后,再合并进Master和Develop分支。它的命名,采用fixbug-*的形式。
创建一个修补bug分支:
git checkout -b fixbug-0.1 master
修补结束后,合并到master分支:
git checkout master
git merge --no-ff fixbug-0.1
git tag -a 0.1.1
再合并到develop分支:
git checkout develop
git merge --no-ff fixbug-0.1
最后,删除"修补bug分支":
git branch -d fixbug-0.1
7. 带远程仓库的情况:
如果代码是远程仓库的,想要将本地的分支更改push到远程仓库:
将分支合并到主分支的代码同步到远程仓库,需要在 git merge --no-ff xxbranch 后
git push -u origin master
将本地的xxbranch删除并推送到远端
git push origin --delete xxbranch
其中 : 我们认为是删除。