Git Flow 代码示例 接触git flow也有很长一段时间了,中途偶尔用了一下,由于自己的手上的项目也不是大型项目,基本都是两三个人在做,master主要还是我自己,用git flow反而比较麻烦...正好这段时间接手了一个项目,想试试git flow,然后就又了解了一下。git flow 的流程,可以用下面纯git命令来实现。 a....完成Feature git pull origin develop git checkout develop git merge --no-ff feature1 git push origin develop...完成Release git checkout master git merge --no-ff release-0.1.0 git push git checkout develop git merge...完成Hotfix git checkout master git merge --no-ff hotfix-0.1.1 git push git checkout develop git merge
VV采用标准的Git flow,下面将从工作流图与抽象模型两个方面,来描述与规范 Git flow。...2.2 命名规范: 标准Git flow 认为Feature分支可以是,除以master, develop, release-, 和 hotfix-_ 开头的任何串。...对于release发布后,或是其它特性引入的bug,我们引入以"bugfix-"为开头的新特性。 至此我们基本遵守了标准 Git Flow 开发模型。...develop分支 develop分支在git flow 中承担了最为复杂与重要的任务。 它是feat-分支、release-分支,和bugfix-分支的起点。...问题:你好,我最近在尝试使用 git-flow 有一个问题我一直没有找到答案,问题: 在开发分支中开发完的功能在当前发布版本是不需要发布出去,不知道你有没有合适的处理方案,谢谢 单独拉出来一个分支,把目前不需要的提交用
在日常迭代过程中,每个公司都有一套自己的分支管理规范,但万变不离其宗,都有Vincent Driessen提出的Git flow方法的影子。...Git flow关键分支 基于Git flow方法协作提交代码时,一般是基于一下分支: 分支名称 分支说明 分支时效 环境 master 与线上环境运行代码版本一致,需保证最高稳定性 主分支 线上生产环境...随时间线推进,到达迭代开发中的提测阶段,则需要将开发的新代码从develop分支推送到release分支,而后发布代码(CI/CD)到测试环境供测试验证。...如果你所在的公司使用Git flow的标准流程。develop分支承担了两个“角色”:“写Bug”和“改Bug”。...如何使用Git flow 命令行 编码工具自带Git客户端,如IDEA sourceTree … 最后 提高团队协作效率,人人有责。
索引 配置 配置文件 创建 本地修改 搜索 提交历史 移动/重命名 分支与标签 更新与发布 合并与重置 撤销 Git Flow 配置 列出当前配置: $ git config --list 列出 repository...'message here' 列出所有标签: $ git tag 列出所有标签及其附加信息(标签信息或提交信息): $ git tag -n ---- 更新与发布 列出当前配置的远程仓库: $ git...发布新特性分支到远程服务器,以便其它用户使用该分支。 git flow feature publish MYFEATURE 获取发布的新特性分支 获取由其它用户发布的新特性分支。...flow release finish RELEASE 不要忘记使用 git push --tags 将标签推送到远程。...开始 git flow 热修复 像其它 git flow 命令一样,热修复分支开始自: $ git flow hotfix start VERSION [BASENAME] VERSION 参数标记新的热修复发布名称
git-flow 定义了一个围绕项目发布的严格分支模型,用于管理多人协作的大型项目,实现高效的协作。(ps:文末有练习的链接) 分支的介绍: master 可发布的内容。...release 发布分支。某个版本需要发布时,从master上fork。 流程的示意图如下: ? 详细介绍见这里。 对于不是很复杂的项目,可以把省去 develop 分支。 想练习下,点这里。
因为是稳定的版本,所以每次版本发布都要在这个分支上添加标签(tag)。...二、 Git Flow 工具的使用 基本上各种git的客户端软件都会支持Git Flow 工作模型。sourcetree 上使用git flow 工作模型就很流畅,体验很好。...我们来学习下Git Flow 的命令行操作。 git flow 是一种git的使用规范,当然也有相应的工具集,命令行命令让我们使用。...图片 1、起步 安装git flow brew install git-flow-avh 初始化git flow 工具库 git flow init 之后都按照默认的去配置,直接按enter键继续。...branch * develop master roverliang$ 获取一个发布的新特性的分支 git flow feature track origin MYFEATURE 3、release
上一个Git flow的流程图 Git flow 初了解看这个流程图会有一些复杂, 我们直接通过Sourcetree帮助我们理解这个过程 开始使用(图是Sourcetree操作,命令是实际执行的) 新建项目...click log" 上面的操作, 都在各自的分支往click.log增加了内容, 我们进行完成功能操作 git flow feature finish click-log-1 git flow feature...Sourcetree 建立发布版本(git flow release start v1.0.0) 这时候是从develop上检出分支 Sourcetree Sourcetree..."release v1.0.0" > release.log git add release.log git commit -m "fix: release bug" 完成版本发布(git flow...其他协作者在本地完成feature开发,然后推送到develop分支,由项目管理员来负责发布release分支和发布新版本 参考 Gitflow 使用最强指北 git flow工作流及sourcetree
发布一个版本时,我们通常先在版本库中打一个标签,这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。...列出当前仓库的所有标签:git tag ? 2. 列出所有标签及说明:git tag -n ? 3. 搜索符合条件的标签:git tag -l "1.0.*" ? 4....查看标签信息:git show v1.0.1 ? 二、创建标签 1. 创建标签:git tag "指定标签名" 2....删除标签: git tag -d 标签名 git tag -d v1.0.1 2....删除远程标签(Git1.7版本以后): git push origin --delete tag 四、本地标签推送到远程 1.
打标签 git支持两种类型的标签:轻量标签与附注标签。 轻量标签是一个指向特定提交的引用,但是它不可被移动。...打一个轻量标签很容易,使用git tag 即可: $ git tag v0.0 git会给当前分支最近的提交对象打上v0.0标签。...查看标签 使用git tag即可查看标签: $ git tag v0.0v1.0 这表示我们目前有两个标签:v0.0和v1.0。...删除标签 本地删除标签很简单: git tag -d v0.0 这条命令会删除v0.0标签。...删除远程标签需要使用git push命令: $ git push origin :refs/tags/v0.0 这会删除远程的v0.0标签。
打标签 打标签用在版本记录上非常方便。他有下面几个命令。 git tag #打标签在当前版本。...也可以指定某个commit id git tag #查看所有标签 git tag -a -m "info" #打标签的同时加上说明信息 下图是打标签并查看。 ...给历史commit打标签 git tag v0.1 ec1ed55 查看标签信息 git show v0.1 删除标签 git tag -d v0.1 删除效果如下所示: 推送标签到远程 git...push origin v1.0 git push origin --tags #推送所有标签到远程 删除远程标签 git tag -d v0.5 #首先删除本地标签 git push...origin :refs/tags/v0.5 #删除远程标签
下面是Git Flow的流程图 ?...Git Flow常用的分支 Production 分支 也就是我们经常使用的Master分支,这个分支最近发布到生产环境的代码,最近发布的Release, 这个分支只能从其他分支合并,不能在这个分支直接修改...RELEASE 发布Release: git flow release finish RELEASE 别忘了git push –tags 开始一个Hotfix: git flow hotfix start...VERSION [BASENAME] 发布一个Hotfix: git flow hotfix finish VERSION ?...SourceTree 当你用Git-flow初始化后,基本上你只需要点击git flow菜单选择start feature, release或者hotfix, 做完后再次选择git flow菜单,点击Done
但是,值的高兴的是作为经典 Git Flow 模型的一个变体,增强的 Git Flow模型版本简化了 Git Flow 中更常见的操作,并保留了主要优点。...增强版 Git Flow 在产品的第一次公开发布之前,为了开发工作流的速度和简单性,直接将所有更改提交到 main 分支是绝对有意义的。因为还没有产品,所以团队不可能需要尽快修复产品 bug。...它具有足够的自动化测试,使我们有信心保持我们的主要分支处于准备发布的状态。 这似乎是经典 Git Flow 模型的一个有效案例。有了独立的 main 分支和 devlop 分支。...我采用了 ISO 8601 格式中基于当前日期的标签,前缀是“v”-例如: v2020-09-09。 如果一天中碰巧有多个版本(例如修补 issue),则格式可以根据需要附加一个连续的数字或字母。...请注意,标签通常并不对应于发布日期。它们仅仅是为了迫使 Git 保持对下一个发布过程开始时main分支的参考。
不论webstorm还是phpstorm,默认在mac下安装git-flow插件之后,IED识别不到git-flow,会提示git-flow未安装,此时需要建一个软链来解决。...通过which,找到git和git-flow的安装路径 $ which git /usr/bin/git $ which git-flow /usr/local/bin/git-flow 然后把git-flow...软链一份到git的目录就可以了 $ sudo ln -s /usr/local/bin/git-flow /usr/bin/git-flow 附:Mac通过brew安装git-flow 一句命令解决问题...brew install git-flow
两个环境都是采用k8s集群搭建而成 2.2 git分支 master:生产环境对应分支代码、分支会永久存在。 dev:开发环境对应分支代码、分支会永久存在。...三、Git flow工作流程 在开始解决上述问题之前,我们先来了解一下Git flow工作流程,如下图所示: 官方博客:https://nvie.com/posts/a-successful-git-branching-model...四、版本发布流程 正如齐白石老先生说的:“学我者生,像我者死”一样,Git flow分支模型确实非常优秀,可以解决很多问题,但是我们需要跟我们的实际项目进行适配。...所以我们需要对这个Git flow分支模型进行改造。...六、总结 上面讲述了如何利用Git flow适配我们自己项目发布流程。但是当前版本发布流程还是会存在某些特殊问题。
我们可以针对某一次的提交打上一个标签,有点类似于给某次提交取个别名,比如1.0版本发布时打个标签叫v1.0,2.0版本发布时打个标签叫v2.0,因为每次版本提交的结果都是一连串的哈希码,不容易记忆,打上...首先我们可以通过如下命令来查看当前仓库中的所有标签: $ git tag 打标签的方式很简单,直接通过git tag 来完成即可,如下命令: $ git tag v1 表示创建了一个名为...我们可以通过$ git tag -d 命令删除一个标签: $ git tag -d v1 如下图: ? 如果我想给历史上的某次commit打一个标签呢?...一个项目从开发到发布,再到后期的更新迭代,一定会存在若干的稳定版本与开发版本(存在不稳定因素)。作为项目发起者、持有者,有权定义他(们)所认可的稳定版本,这个稳定版本,将不允许其他开发者进行改动。...标签推送到远程仓库 git push命令并不会把tag提交到远程仓库中去,需要我们手动提交,如下: $ git push origin v0.0 表示将v0.0标签提交到远程仓库,也可以通过$ git
1.查询本地所有tag $ git tag v1.0 v2.0 $ git tag -l "v1.8.5*" # 匹配某标签时要带 -l v1.8.5 v1.8.5-rc0 v1.8.5-rc1 v1.8.5...-rc2 v1.8.5-rc3 v1.8.5.1 v1.8.5.2 v1.8.5.3 v1.8.5.4 v1.8.5.5 2.本地带注释的tag $ git tag -a v1.0 -m "打标签" 3...> Date: Mon Dec 20 11:10:30 2021 +0800 打标签 commit 7b7882534bcfe7a9b4ee1135014813e90e301d18 (HEAD...#查看所有版本id 7b7882534bcfe7a9b4ee1135014813e90e301d18 (HEAD -> master, origin/master, origin/HEAD) 测试打标签...-m "打标签" #带注释 6.tag推送到远程分支 $ git push origin v1.0 7.删除本地tag $ git tag -d v1.0 8.删除远程分支tag $ git push
在这章节中我们将一起学习一个当前非常流行的工作流程 git-flow。 什么是 git-flow? 一旦安装安装 git-flow,你将会拥有一些扩展命令。...在项目中设置 git-flow 当你想把你的项目 “切换” 到 git-flow 上后,Git 还是可以像往常一样工作的。...稍后和所有积攒在 “develop” 分支中的其它功能一起进行发布。 之后,git-flow 也会进行清理操作。它会删除这个当下已经完成的功能分支,并且换到 “develop” 分支。...让我们来看看如何利用 git-flow 创建和发布 release。...完成 Hotfixes 在把我们的修复提交到 hotfix 分支之后,就该去完成它了: $ git flow hotfix finish missing-link 这个过程非常类似于发布一个 release
1、列出现有的标签 git tag 2、对包含特定信息标签进行显示出来 # git tag -l 'v1.4.2....*' v1.4.2.1 v1.4.2.2 v1.4.2.3 v1.4.2.4 这里把包含v1.4.2的标签信息全打印出来 3、创建一个含附注的标签 git...tag -a v1.4 -m "this is a test" -m 指定对应的标签说明 4、创建轻量级标签 git tag v0.0.0 5、查看指定的标签信息...git show v0.0.0 6、后期加注标签 比说我们在前面提交时未创建标签,现在想回过头来加注标签,很方便,只不过需要在创建标签的时候,后面跟上提交对象的校验和 #查看校验和...tag -a v1.0.0.0 9127be 7、分享标签 我们通常执行git push 命令时,是不会将标签同步到远程仓库的,解决办法为: git push origin
我调研了 git flow / github flow / gitlab flow,每种工作流都有各种优势。...如果你使用默认的初始化参数,那么格式将是下面的样子: E:\Documents\Repositories\solutions\git-flow (master -> origin) $ git flow...但往往有些场景因为手动操作开启新的 hotfix 分支后很容易忘记将修改合并到发布分支和开发分支,版本发布比较多以后,会发现有一些 hotfix 分支在项目总仓库中,再加上命名的不规范,最终会不确定这些分支到底有没有合并到主干和开发分支...your feature" git flow feature finish // 开始和完成一个版本的发布 git flow release start "version of your release..." git flow release finish // 开始和完成一个 hotfix git flow hotfix start "version of your hotfix" git flow
三、查询标签 git tag 四、查询标签信息 git show v1.0 五、创建标签并指定说明文字 git tag -a v0.9 -m "text" faafce2 六、删除标签 git tag...二、为某个提交设置标签 git tag v1.0 2321849 ---- 执行 git tag v1.0 2321849 命令 , 为 哈希码为 2321849 的提交 , 设置标签 " v1.0..." , 其中 2321849 哈希码对应的提交为 : 2321849 (HEAD -> master) dev1 三、查询标签 git tag ---- 执行 git tag 命令 , 查询当前设置过的标签...tag 命令 , 查询当前设置过的标签 ; 六、删除标签 git tag -d v1.0 ---- 执行 git tag -d v1.0 命令 , 删除 v1.0 标签 ; 再次执行 git tag...查询当前标签 , 发现 v1.0 标签已经被删除 ; 执行过程 : D:\Git\git-learning-course>git tag -d v1.0 Deleted tag 'v1.0' (was
领取专属 10元无门槛券
手把手带您无忧上云