jjzjj

云效Codeup怎么创建分支并进行分支管理

云效DevOps 2023-03-28 原文
云效Codeup怎么创建分支并进行分支管理,分支是为了将修改记录分叉备份保存,不受其他分支的影响,所以在同一个代码库里可以同时进行多个修改。创建仓库时,会自动创建 Master 分支作为默认分支,后续研发同学可以创建新的分支,开发完成后将其合并至默认分支。
 

分支

Codeup将分支划分为三种:我的、活跃、非活跃
 
”我的“:我创建的 + 我push的,便于用户进行分支管理。
 
活跃:近三个月有push的分支,便于用户进行分支的查看及开发。
 
非活跃:近三个月内无push的分支,便于用户进行分支及时清理。
 
新建分支
 
新建分支支持两种方式:Web 端创建及本地创建。
 
1.Web 端创建
 
在分支列表中点击右上角的新建分支按钮,展现分支创建弹窗。
 
 
填写分支信息并确认后即可完成分支创建。
 
2.本地端创建
 
在 master 或其他分支下(本地分支),输入命令git checkout -b slave新建一个分支。输入命令git push origin slave把分支推送到远程仓库。
 
删除分支
 
普通分支
 
开发人员可在分支后点击更多展现删除入口,可点击删除分支。
 
 
保护分支
 
不支持删除,需要取消保护后才可删除。
 
默认分支
 
不支持删除,需取消默认后才可删除。
 
分支对比
 
点击更多操作展现比较入口,展现比较弹层,可进行分支间的对比。
 
 
 

分支设置

 
 
1.默认分支
 
默认分支作为 Clone、创建分支、合并请求、代码浏览的基础分支存在,同时可防护分支被误删除。作为代码库管理员可以按团队开发习惯修改默认分支,下拉选择需要修改的分支,参见①。
 
2.保护分支
 
保护分支定义:限制删除分支,限制 Force Push。
 
代码库管理员设置合适规则的分支进行保护,被设置成保护分支即不允许任何人删除分支和强制 Push,前者主要是对重要分支保护防止误删除,后者是避免强制 Push 的操作会使 Commit 无法追溯,参见②。
 
新建保护分支规则
 
 
分支选择:支持两种形态
  • 具体分支,注意默认分支需携带标签
  • 分支通配符规则(目前只支持 ? 和 *),当匹配多个分支时展示所有匹配的分支,参见上图①。
  • 如果一个保护分支存在多个规则,以哪个为主?逻辑:如果代码库的某个分支可匹配多个保护分支规则,则包含特定分支名称的规则具有最高优先级;如果某个分支存在多个通配符规则匹配,则首先创建的分支规则将具有更高的优先级。
  • 如:代码库中有分支master、master-1、master-prod-1,有规则顺序如下:master-*、master-1、master-prod-*,匹配规则如下:

 

 
推送规则:展示可以直接 Push 到该保护分支的人员,参见上图②。
 
  • 默认允许管理者和开发者。一旦勾选取消某种角色,意味着该角色不允许进行直接推送。
  • 无:不允许任何人支持进行推送。
 
合并规则:即合并请求中的合并(merge,accept之后有 merge 流程的合并请求即可合并),展示对应支持此操作的人员,参见上图③。
  • 默认允许管理者和开发者。一旦勾选取消某种角色,意味着该角色不允许进行合并操作。

 

代码评审规则设置
 
 
采用普通模式的:
 
最少评审通过人数:1
 
允许通过合并请求:管理员 + 开发者
 
默认评审者:如果没填人,该项不展示,限制最多20
 
允许创建者通过:是 / 否
 
采用 CodeOwner 模式 / CodeOwner 专注模式的:
 
评审模式:CodeOwner 模式 / CodeOwner 专注模式
 
允许创建者通过:是 / 否
 
CodeOwner 介绍详见文档CodeOwner 机制
 
自动化执行检查
 
代码扫描
 
 
如果未在库中开启任何扫描,则合并请求无法进行扫描卡点,参见①。
 
测试任务配置详见集成与服务部分,参见②。
 
当开启某种扫描服务后,可针对服务进行评审卡点。CodeUp 支持敏感信息扫描及Java规约扫描,参见③。
 
流水线检测
 
在保护分支中,支持对接 Flow 流水线进行合并请求的检测卡点。
 
 
如果当前代码库从未关联过流水线,需要前往 Flow 创建或关联已有流水线:如何关联 Flow 流水线
 
注意 :为了每次提交自动触发流水线执行检测,创建流水线时请手动勾选「代码提交」触发事件,否则需要手动触发流水线输出检测结果,作为合并请求的卡点检查数据:
 
 
关联流水线后,可在此选择需要用于合并检测卡点的流水线:
 
 
被选中的流水线将用于任何申请合并至当前保护分支的合并请求的卡点条件,需要流水线执行通过才能合并至当前保护分支。
 
注意 :若被选中的流水线未运行,同样不满足合并条件要求,因此请保证用于卡点的流水线已运行。
 
云效Codeup怎么创建分支并进行分支管理,分支是为了将修改记录分叉备份保存,不受其他分支的影响,所以在同一个代码库里可以同时进行多个修改。创建仓库时,会自动创建 Master 分支作为默认分支,后续研发同学可以创建新的分支,开发完成后将其合并至默认分支。
 
 

关于我们

了解更多关于云效DevOps的最新动态,可微信搜索关注【云效】公众号;

彩蛋:公众号后台回复【指南】,可获得《阿里巴巴DevOps实践指南》&《10倍研发效能提升案例集》;

看完觉得对您有所帮助别忘记点赞、收藏和关注呦;

 

有关云效Codeup怎么创建分支并进行分支管理的更多相关文章

  1. ruby - 如何在 Ruby 中顺序创建 PI - 2

    出于纯粹的兴趣,我很好奇如何按顺序创建PI,而不是在过程结果之后生成数字,而是让数字在过程本身生成时显示。如果是这种情况,那么数字可以自行产生,我可以对以前看到的数字实现垃圾收集,从而创建一个无限系列。结果只是在Pi系列之后每秒生成一个数字。这是我通过互联网筛选的结果:这是流行的计算机友好算法,类机器算法:defarccot(x,unity)xpow=unity/xn=1sign=1sum=0loopdoterm=xpow/nbreakifterm==0sum+=sign*(xpow/n)xpow/=x*xn+=2sign=-signendsumenddefcalc_pi(digits

  2. ruby - i18n Assets 管理/翻译 UI - 2

    我正在使用i18n从头开始​​构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在ruby​​onrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi

  3. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  4. ruby - 使用 Vim Rails,您可以创建一个新的迁移文件并一次性打开它吗? - 2

    使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta

  5. ruby-on-rails - 无法使用 Rails 3.2 创建插件? - 2

    我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby​​1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在

  6. ruby - 如何使用 RSpec::Core::RakeTask 创建 RSpec Rake 任务? - 2

    如何使用RSpec::Core::RakeTask初始化RSpecRake任务?require'rspec/core/rake_task'RSpec::Core::RakeTask.newdo|t|#whatdoIputinhere?endInitialize函数记录在http://rubydoc.info/github/rspec/rspec-core/RSpec/Core/RakeTask#initialize-instance_method没有很好的记录;它只是说:-(RakeTask)initialize(*args,&task_block)AnewinstanceofRake

  7. ruby - 为什么 SecureRandom.uuid 创建一个唯一的字符串? - 2

    关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion为什么SecureRandom.uuid创建一个唯一的字符串?SecureRandom.uuid#=>"35cb4e30-54e1-49f9-b5ce-4134799eb2c0"SecureRandom.uuid方法创建的字符串从不重复?

  8. ruby - 有人可以帮助解释类创建的 post_initialize 回调吗 (Sandi Metz) - 2

    我正在阅读SandiMetz的POODR,并且遇到了一个我不太了解的编码原则。这是代码:classBicycleattr_reader:size,:chain,:tire_sizedefinitialize(args={})@size=args[:size]||1@chain=args[:chain]||2@tire_size=args[:tire_size]||3post_initialize(args)endendclassMountainBike此代码将为其各自的属性输出1,2,3,4,5。我不明白的是查找方法。当一辆山地自行车被实例化时,因为它没有自己的initialize方法

  9. ruby-on-rails - 获取 inf-ruby 以使用 ruby​​ 版本管理器 (rvm) - 2

    我安装了ruby​​版本管理器,并将RVM安装的ruby​​实现设置为默认值,这样'哪个ruby'显示'~/.rvm/ruby-1.8.6-p383/bin/ruby'但是当我在emacs中打开inf-ruby缓冲区时,它使用安装在/usr/bin中的ruby​​。有没有办法让emacs像shell一样尊重ruby​​的路径?谢谢! 最佳答案 我创建了一个emacs扩展来将rvm集成到emacs中。如果您有兴趣,可以在这里获取:http://github.com/senny/rvm.el

  10. ruby - Ruby 中的隐式返回值是怎么回事? - 2

    所以我开始关注ruby​​,很多东西看起来不错,但我对隐式return语句很反感。我理解默认情况下让所有内容返回self或nil但不是语句的最后一个值。对我来说,它看起来非常脆弱(尤其是)如果你正在使用一个不打算返回某些东西的方法(尤其是一个改变状态/破坏性方法的函数!),其他人可能最终依赖于一个返回对方法的目的并不重要,并且有很大的改变机会。隐式返回有什么意义?有没有办法让事情变得更简单?总是有返回以防止隐含返回被认为是好的做法吗?我是不是太担心这个了?附言当人们想要从方法中返回特定的东西时,他们是否经常使用隐式返回,这不是让你组中的其他人更容易破坏彼此的代码吗?当然,记录一切并给出

随机推荐