用于git项目管理,window/mac可用
1.克隆
注意:不可以克隆空白项目的,否则程序会自动中断
通常会提示这是一个git地址
如果箭头指向的仓库类型表明“这不是一个标准的Git仓库”,可能是有以下原因
-
项目地址获取错误
-
没有项目访问权限
然后点击克隆即可
2.项目流初始化
点击Git工作流 =>确定
开发任务都是在develop分支上完成的
分支类型:
(1)master,最终发布版本,整个项目中只有一个
(2)develop,项目的开发分支,原则上项目中有且只有一个
(3)feature,功能分支,用于开发一个新的功能
(4)release,预发布版本,介于develop和master之间的版本,主要用于测试
(5)hotfix,修复补丁,用于修复master上的bug,直接作用于master
3.新建功能分支
点击Git工作流
注意:当前分支指向develop
创建之后,待此功能开发完毕,即可提交到develop分支 在提交到develop分支之前,分支指向的是当前新建的功能分支
4.功能完成后将代码提交到develop
点击Git工作流 => 点击完成功能
点击确定,进行提交合并,合并成功后分支图上的功能分支会指向develop分支(蓝色)
点击确定后指向develop分支,点击推送即可将功能分支上的代码提交到远程仓库
仅用于笔记记录 本文来源
以下是git操作 Git Flow流程示例代码 1,创建develop分支
#从master拉出develop分支
#可选,获取最新版本。git pull origin master
git checkout -b develop master
#发布develop分支
git push -u origin develop
2,创建feature分支
#从develop拉出feature_v1.0功能分支
#可选,获取最新版本。git pull origin develop
git checkout -b feature_v1.0 develop
#发布feature_v1.0分支
git push -u origin feature_v1.0
#在feature_v1.0上开发一些功能
3,完成feature,合并到develop分支
#develop分支获取最新
git pull origin develop
#切换到develop分支
git checkout develop
#从feature分支合并到develop分支
git merge --no-ff feature_v1.0
#删除feature分支,也可以不删除
git branch -d feature_v1.0
4,开始release
#从develop拉出一个release分支
#可选,获取最新版本。git pull origin develop
git checkout -b release_v1.0 develop
#fix bugs
5,完成release,合并到master分支和develop分支,在master打上tag标记
#合并到master
git checkout master
git merge --no-ff release_v1.0
#在master打tag标记
git tag release1.0 master
git push --tags
#合并到develop
git checkout develop
git merge --no-ff release_v1.0
6,开始hotfix
#从主线master拉出一个hotfix分支
#可选,获取最新版本。git pull origin master
git checkout -b hotfix_v1.0.1 master
7,完成hotfix,合并到master和develop,并在master上打tag。
#合并hotfix_v1.0.1到master
git checkout master
git merge --no-ff hotfix_v1.0.1
#在master打上tag
git tag hotfix1.0.1 master
git push --tags
#合并hotfix_v1.0.1到develop
git checkout develop
git merge --no-ff hotfix_v1.0.1
Git Flow工具 1,SourceTree
2,GitFlow for Visual Studio
分支命名规范 feature分支:以"feature_"开头,如feature_v1.1
release分支:以"release_"开头,如release_v1.1
hotfix分支:以"hotfix_"开头,如hotfix_20160112
tag标记:如果是release分支合并,则以"release_"开头。如果是hotfix分支合并,则以"hotfix_"开头。
master分支每次提交都要打tag,release tag:如release_v1.1,hotfix tag:如hotfix_20160112
命名都统一采用小写。
总结 1,一定要按git flow的流程去管理分支,如feature分支开发完要合并到develop,如果要发布版本到test环境,则从develop拉出一个release分支,release完成后要合并回master和develop分支,修复生产环境问题需要从master拉出一个hotfix分支,hotfix完成后要合并回master和develop分支,并且在master打上tag。
2,一定要按分支命名规范来命名,便于管理和维护。
3,了解了git flow工作流程后,可以不使用git flow GUI工具,手动操作即可,可以是原生git命令+vs配合操作,比如给master打tag就要用git命令,这在vs里操作不了的,比如合并分支,虽然也可以使用git命令实现,但在vs里操作更方便直观。
4,一定要保持分支的纯净,不要随便污染分支。比如,develop分支只包含要发布到下一个release的代码,在没有拉出release分支前不要合并新的feature分支进来。release分支基于develop分支创建,拉出release分支后,我们可以在这个release分支上测试和修复bug,但是,一旦打了release分支后不要从develop分支合并新的改动过来。develop拉出release分支的同时,也意味着develop分支可以开始下一个release的准备工作了。