zoukankan      html  css  js  c++  java
  • git(git-flow)的高效管理使用

    一、svn与git的比较:

    • git是分布式的,你可以从任一节点pullpush代码
    • git不需要联网也可以commitcommit也可以合并
    • git分支之间很方便merge,也可以只pick某个commit
    • git很容易撤销修改和恢复版本
    • SVN使用简单,只需commitupdate
    • SVN权限管理可以限制到单个文件

    二、使用

    • git clone(ssh+http(s))
    • git add & commit, git pull & push
    • git status & log & blame
    • git checkout & git reset
    • git remote
    • git cherry-pick

    三、常用准则

    • 经常pull代码,与最新代码保持同步
    • 多点commit代码,如果没有做完可以不push,但是一天至少push一次。避免本地代码丢失
    • 独立功能尽量新开feature分支,开发完后再mergedevelop分支
    • merge代码要小心,最好使用IDE或者GUI工具来pull代码,merge代码冲突的话它有很好的提示和merge方法
    • 每次push代码前确保代码能编译通过
    • commit Message要能说明本次修改的目的。最好遵循一定的规范

    四、commit规范文案

    • add: 增加相应功能
    • change: 修改相册浏览界面
    • update: 更新分享到第三方的库
    • fix: #169 #124(没有bug编号的直接把问题描述写上)
    • 准则就是要方便追溯问题

    五、git-flow

    • 多个版本同时进行开发。1.0版本还在改bug阶段,1.1要进行开发
    • 多个团队同时进行开发。某个团队开发一个功能分支,另外一个团队需要另一个功能分支
    • 新版刚发不久,发现严重bug需立即修复
    • 是构建在Git之上的一个组织软件开发活动的模型,是在Git之上构建的一项软件开发最佳实践
    • 工作流定义了一个围绕项目发布的严格分支模型。虽然比功能分支工作流复杂几分,但提供了用于一个健壮的用于管理大型项目的框架

    六、git-flow分支

    • master:存放的应该是随时可供在生产环境中部署的代码(Production Ready state)。当开发活动告一段落,产生了一份新的可供部署的代码时,master分支上的代码会被更新。同时,每一次更新,最好添加对应的版本号标签
    • develop:保存当前最新开发成果的分支。通常这个分支上的代码也是可进行每日夜间发布的代码(Nightly build
    • release:当开发结束后用来提测的分支,所有测试阶段的bug全部在此分支修复,测试结束后合并到 master develop 分支中
    • feature: 这个分支主要是用来开发一个新的功能,一旦开发完成,我们合并回Develop分支
    • hotfix: 当我们在Production发现新的Bug时候,我们需要创建一个Hotfix, 完成Hotfix后,我们合并回MasterDevelop分支

    七、总结

    • 一切皆分支,本质是分支管理
    • 严格规定了哪些分支从哪里产生,最终合并到哪些分支上
    • 结合SourceTree第三方工具很方便使用
    • 多人和多团队协作很有用
  • 相关阅读:
    安装Python及pip
    关于软件测试培训
    终于也为自己开了技术博客
    全球地址联动js包2021最新
    约瑟夫斯问题
    添加二级域名
    mysql导出数据
    mysql导入数据
    shopify
    MySQL数据库简介及常用命令
  • 原文地址:https://www.cnblogs.com/destiLaugh/p/git.html
Copyright © 2011-2022 走看看