ps:
文章前一部分为git flow配置错误解决,首次使用拉到文章下面见**更好的方案**
前言
git flow在多人合作开发项目时常被用到,即使没有用,很多也都是按照git flow的标准来管理代码仓库的。
那为什么说git flow init -f 是个坑呢,废话不多说,说说我今天遇到的问题
问题
最近项目分支管理改用git flow,我兴冲冲下了一个sourcetree管理代码,好景不长,现在有一个需求是修改develop分支上的bug,可是sourcetree并未提供这个功能(或者是我不知道怎么配置,知道的大佬留言,先行谢过)
于是我只能在黑屏下(git bash)操作命令行了
git flow bugfix start new_develop_fix
结果提示路径不对、尼玛!!!
然后就想到了重置一下git flow看能不能ok
git flow init -f
结果出现了下面这一坨,我果断的直接enter跳过
很明显,还是没好
接下来就是无比抓狂的十几分钟
其间的酸爽这里就不多说了,直接上解决办法
解决
git flow init -f
按照下面一路配置即可
No branches exist yet. Base branches must be created now.
Branch name for production releases: [master]
Branch name for “next release” development: [develop]
How to name your supporting branch prefixes?
Feature branches? [feature/]
Release branches? [release/]
Hotfix branches? [hotfix/]
Support branches? [support/]
Version tag prefix? []
注意!
注意!
注意!
如果之前git flow init -f过,在输入的时候一直按删除键,删除之前的输入记录,因为git flow init -f不会完全重置,它会保留 之前的输入记录,所以你的路径一直是累加的,错误的
更好的方案
1. 下载三个文件,放入git根目录(默认安装c:/program files/git)下的bin文件夹下
https://pan.baidu.com/s/1O8r8-u8bdoPjuHFWzrXgyA
提取码:p5iu
2. 管理员身份打开cmd(右键win,带管理员的power shell)
进入到git根目录,依次执行下面命令
- git clone --recursive git://github.com/nvie/gitflow.git
- cd .\gitflow\contrib\
- .\msysgit-install.cmd “C:\Program Files\Git”
3. 初始化git flow
如果你有项目,进入到你的项目代码目录中
(1)输入:git flow init,完成初始化
(2)测试:git flow bugfix start xxxxx,看能否顺利创建完成
(3)可能的错误:
Branches 'develop' and 'origin/develop' have diverged.
该错误是因为本地develop和远程origin develop没同步造成的,git pull origin develop即可