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模型版本简化了 Git Flow 中更常见的操作,并保留了主要优点。...增强版 Git Flow 在产品的第一次公开发布之前,为了开发工作流的速度和简单性,直接将所有更改提交到 main 分支是绝对有意义的。因为还没有产品,所以团队不可能需要尽快修复产品 bug。...它具有足够的自动化测试,使我们有信心保持我们的主要分支处于准备发布的状态。 这似乎是经典 Git Flow 模型的一个有效案例。有了独立的 main 分支和 devlop 分支。...我采用了 ISO 8601 格式中基于当前日期的标签,前缀是“v”-例如: v2020-09-09。 如果一天中碰巧有多个版本(例如修补 issue),则格式可以根据需要附加一个连续的数字或字母。...请注意,标签通常并不对应于发布日期。它们仅仅是为了迫使 Git 保持对下一个发布过程开始时main分支的参考。
下面是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
不论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元无门槛券
手把手带您无忧上云