Git branch的运用 & 通常来说,仓库的branch结构

先贴原文:https://nvie.com/posts/a-successful-git-branching-model/

总结如下:正常一个 repository 是有main分支(永远保持着production-ready state), develop分支(研发的分支,reflects a state with the latest delivered development changes for the next release), features分支(每当想继续开发一个新的功能), release分支(minor bug fixes and preparing meta-data for a release), hotfix分支(prepare for a new production release, 当出现production 版本出现 bug时,会用到)

main和develop 的分支是 无线长的,而其它几个是有线长的, 比如 一个feature 开发完成 又 merge之后,就会删掉这个分支了

想开发一个新功能A, 就新建一个 feature_A分支:

$ git checkout -b feature_A develop

(这一步可以分成两步: 新建一个分支: git branch feature_A

      切换到这个分支: git checkout feature_A)

可以发现,每当我们切换到新的分支时,本地仓库(即 origin) 就会变成新的branch 的仓库 (如果切换前后的两个分支 差别很大,就很容易发现),可以通过 git branch 查看所有分支 和 当前所在分支

注意:这里如果使用git checkout到从feature_A分支到develop分支,一定要git add . 然后git commit –m, 否则会把未做完的工作带到develop分支,见 git之 分支切换时相互影响的问题_Song_93的博客-CSDN博客

$ git push origin [branch name]   把新分支push到github上

——————————————

假设我现在开发完成 A 功能之后,我就可以merge到 develop分支了:

$ git checkout develop                                                            先切换到develop 分支


$ git merge --no-ff feature_collision_avoidance              把新的feature merge到当前的develop分支, --no-ff 保存feature分支的commit信息

$ git branch -d feature_collision_avoidance                    删除本地这个feature分支

(git push origin :[branch name]) 删除远程这个feature分支

$ git push origin develop

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值