版本管理

Posted orzt

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了版本管理相关的知识,希望对你有一定的参考价值。

git-book: https://git-scm.com/book/zh/v2

项目分支流程管理规范: https://www.jianshu.com/p/217d2b3bc96d     <- I should click it!

 

我关注的点:

分支:一条时间线,一条执行线,每次修改都会在分支上留下一个“疙瘩”,就像毛线一样。

分支命名:主要是一个团队商量,大家达成约定,规范,方便理解其用途。
               比如feature-xxx, develop, release, master, fixbug-xxx
               团队在使用时,严格按照分支用途规范自己的行为,每个分支应该如何用,具有什么操作限制。

分支生命周期:分支分为本地分支与仓库分支,前者的生命周期视其创建目的决定,后者是与项目”同生共死“的。
               举个例子:
                    master: 生产环境的稳定版本分支,用于线上发布,仅能从release分支/fixbug-xxx分支合并,不允许在该分支提交修改。
                    release: 测试分支,测试过程中发现bug,可以直接在该分支上修改,
                                测试通过后,方可将其合并到master分支,同时需要合并到develop分支。
                   develop: 开发环境的稳定分支,是公共开发环境的rootNode。
                   feature-xxx: 功能分支,基于develop分支创建而来,开发人员自测功能完毕后,可将其合并回develop。
                   fixbug-xxx: 紧急修复分支,基于master分支创建而来,测试通过后方可合并回master,
                                   也需要将其合并到develop分支。

合并: 如何规范的合并分支?
      1.产生有效的合并结果;
      2.合并记录具备可读性;
      3.合并过程出现冲突,留下解决记录;

 

变基: https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%8F%98%E5%9F%BA

        描述: 变基是将from分支上的一系列操作“剪切”到to分支,就好像操作一开始就是基于to分支进行的。
        作用: 使得提交记录变得整洁,是一条直线,没有分叉

遴选: 将某个分支上的commit提交到另一个分支上。

回滚: 将HEAD头指针指向之前的某个commit,如果需要保存,还要再次提交(push)一次。

标签: 分为简单标签和详细标签,后者包含的信息会比前者更多,按需选择,我选择详细标签。
        作用: 给某个commit打上标记,方便日后追溯、查找————通常拿来作为版本标示。
        对标签常见的操作: 创建
                                  普通查看,统配模式查看
                                  删除
                                  推送至远程仓库
                                  检出某个标签,查看相关内容

紧急修复: 基于稳定版本分支新建一个分支,然后进行bug修复,待测试通过,便可以将其合并回稳定版本分支。
             属于临时举措,在其职责结束之后,其分支的生命周期也同时结束。

commit规范: 要求能清晰的描述本次commit的类型为何(比如提交功能/修复bugX),及其内容。

 

------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------

git常用命令速查表:

技术图片

 

 

 ------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------

git版本回退:

 

技术图片

 

------------------------------------------------------------------------------------------------

创建远程分支:

技术图片

 

 

------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------

git_reset_hard推送后找回文件方法

技术图片

 

 

------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------

git_cherry-pick

技术图片

 

以上是关于版本管理的主要内容,如果未能解决你的问题,请参考以下文章

版本管理介绍

CNC文件版本管理NC文件审核CNC程序文件比对NC程序文件版本管理CNC程序文件生命周期管理NC文件生命周期管理

node版本管理工具n和nvm

Delta Lake 版本管理(13)

版本管理

mac node版本管理