在Java程序开发中的定制开发规范,想要把项目正规高效的跑起来。引入 Git 版本控制,Git-Flow 便成为了首选。
今天动力节点Java学院来带你了解一下。
一、为什么使用 git-flow
当在团队开发中使用版本控制系统时,商定一个统一的工作流程是至关重要的。 Git 的确可以在各个方面做很多事情,然而,如果在你的团队中还没有能形成一个特定有效的工作流程,那么混乱就将是不可避免的。
基本套路:你可以定义一个完全适合你自己项目的工作流程,或者使用一个别人定义好的。
二、安装 git-flow
我们使用 Homebrew 来安装 git-flow:
1.brew install git-flow
之后,通过 git-flow 来初始化项目:
1.git flow init
这时候就会有一些配置的操作,先默认操作:
1.Initialized empty Git repository in /Users/jartto/Documents/git-flow-demo/.git/
2.No branches exist yet. Base branches must be created now.
3.Branch name for production releases: [master]
4.Branch name for "next release" development: [develop]
5.
6.*** Please tell me who you are.
7.
8.Run
9.
10. git config --global user.email "you@example.com"
11. git config --global user.name "Your Name"
12.
13.to set your account's default identity.
14.Omit --global to set the identity only in this repository.
15.
16.fatal: unable to auto-detect email address (got 'jartto@bogon.(none)')
17.fatal: Not a valid object name: 'master'.
18.error: pathspec 'develop' did not match any file(s) known to git.
19.
20.How to name your supporting branch prefixes?
21.Feature branches? [feature/]
22.Release branches? [release/]
23.Hotfix branches? [hotfix/]
24.Support branches? [support/]
25.Version tag prefix? []
需要强调一点:git-flow 只是封装了 git 的命令。
所以在我们初始化的时候,对仓库并没有其他改动,只是创建了几个分支。当然,如果你不想继续使用 git-flow ,那么只需要简单的停用 git-flow 的命令即可,不需要修改或者删除任何文件。
为了验证一下,我们看下目前的分支,执行:
1.git branch
输出:
master
1.* develop
2. master
很简单, develop 分支是我们日常开发的分支,会有很多改动。而 master 主要针对线上分支,下面会细说。
这里补充一点,我们可以通过 help 命令来查看用例。
1.git flow help
输出如下:
1.sage: git flow <subcommand>
2.
3.Available subcommands are:
4. init Initialize a new git repo with support for the branching model.
5. feature Manage your feature branches.
6. release Manage your release branches.
7. hotfix Manage your hotfix branches.
8. support Manage your support branches.
9. version Shows version information.
10.
11.Try 'git flow <subcommand> help' for details.
如果我要看 feature 相关命令呢?
1.git flow feature help