您现在的位置是:首页 > PHP框架交流PHP框架交流
git 分支开发dev,release本地提交代码总结
上善若水2021-05-31 00:49:24【PHP框架交流】 6026人已围观
简介git分支是个好东西,可以在自己分支上开发,然后将代码合并到其他分支上便于管理,首次接触分支还是有点迷糊,结合公司代码提交规范,自己回现公司代码提交规范,理清楚的话其实还是蛮简单的.首先准备一个码云仓
git分支是个好东西,可以在自己分支上开发,然后将代码合并到其他分支上便于管理,首次接触分支还是有点迷糊,结合公司代码提交规范,自己回现公司代码提交规范,理清楚的话其实还是蛮简单的.
2022-07-07更新
更新以下步骤:
首先我们有两个分支 开发分支dev master分支 pr预发布分支,我们要开发自己功能主要步骤如下:
1. 拉去master分支,主要是拉去线上稳定版本的那个分支,然后将那个分支复制成自己的本地功能分支,我们开发可以就在这个本地分支上开发,无需将此分支推送至远程。
2. 当我们完成功能开发后,我们将自己的分支合并到dev
分支上,然后喊测试测试。
3. 测试通过发版,将我们的本地分支合并到pr预发布分支,这步切记不要将dev分支合并到pr分支,否则项目就乱了!!!!,合并后让有权限的一起合并到master上就完成了。
切记:不要将dev合并到master或者预发布上,我们提交合并请求时,可以看看是不是全是自己的代码,如果发现有改动不是自己的代码,审查一下有没有问题,再进行提交合并
以下是之前的 也是刚学git总结的 仅供参考
首先准备一个码云仓库,同时准备另外一个开发账号加入仓库,并创建两个分支,dev为测试分支,release为稳定分支,模拟在测试分支测试完代码后提交到稳定分支上.
本次操作采用sourcetree完成操作.
1.开发这首先在本地建立开发分支user_dev.然后开发代码在自己的dev分支进行开发.
2.如果user1添加了自己的代码,需要先拉取dev的代码,然后上传自己代码到自己分支上,最后合并自己分支和dev分支.具体步骤如下.
2.1同步dev代码.首先选择自己的分支.
然后在sourcetree 将自己user_dev本地分支同步dev代码,可以勾选立即提交改动,那么dev上的代码就会自己提交到我们user_dev分支上.由于我另外一个账号提交过一次代码到dev那么这次肯定就会有提交记录的.
但是我们是首次创建的本地分支,线上还是看不到我们的分支.
我们提交我们的改动到自己的分支上,那么远程分支就会出现我们的分支.
成功提交后线上就会出现user1_dev分支
dev分支是普通分支,设置为自由合并.
此时我们需要将自己提交的代码合并到dev上.
此时我们需要在标签远程分支dev拉取到到本地分支上.
然后我们拉取dev远端代码.
在本地dev开发分支上,我们点击合并,将提交到user1_dev代码合并到dev上.
选择所有分支,查看我们提交到自己测试分支上的代码,点击合并
就会出现这样.
然后我们将合并请求推送到码云,即将我们的代码成功更新到dev上.
此时代码已经出现在了码云上.
若此时代码没有任何问题,我们可以进行下一步操作,将代码提交到稳定版release.
3.提交稳定版我们可以再建立一个分支追踪同步更新release.代码,而我们的这个功能分支只将自己的改动遴选到自己的分支上,然后合并推送到稳定版本中去.
首先我们拉取线上release分支到本地release,然后基于本地release创建user1_release分支.
我们可以看到远程稳定分支上,和开发分支并不一样,假设我们提交到dev的代码通过后,需要将上次代码添加到release分支上.我们需要首先将代码遴选到user1_release分支上,最后发送合并请求即可.
3.1切换user1_release选择我们提交的代码,右键遴选我们提交的改动,
确认后我们推送代码,将我们的代码提交到自己的user1_release分支上.
远程就会多出一个分支
然后合并release我们一般选择再码云上进行操作.
一般公司会将release分支设置为保护分支.普通开发合并请求会有代码审查.
我们采用不同开发在码云上发起合并请求.
一般我们发起合并请求都只是提交自己的代码最好不要将别人代码提交.
确定后,需要审查通过后就可以将代码正式提交到环境上了.
管理员审查通过后即可将代码合并到稳定版版上.
至此终于走完了公司提交代码的流程,整体而言,还是十分麻烦的.
想我之前公司就只有一个主分支,所有提交就全部提交到主分支上即可,这个分支搞得我极其不适应,请教了旁边大佬,自己私下模拟公司开发流程,自己又走一遍,希望自己以后能更加顺手吧.
Tags: git
很赞哦! (9)
随机图文
-
ThinkPHP6 session过期时间怎么设置 修改session默认过期时间
ThinkPHP6已经使用了一段时间,就是发现session特别容易过期,刚登陆不就就要重新登录,需要修改session过期时间,默认过期时间实在太短,不能忍,看看在哪修改session的过期时间吧! -
json对象如何通过get方式将参数传递 非post方式传递复杂的json对象参数
json对象如何通过get方式将参数传递,一个json对象内包含数组多层级结构如何快速拼接get请求参数,显然通过循环拼接是不靠谱的,非post方式传递复杂的json对象参数.具体实现: json对 -
linux 设置目录所属用户组 chown -R www:www /www/wwwroot/default
linux 设置目录所属用户组,我们经常需要将网站目录给设置成www用户组,每次老是忘记,只知道是chown命令例一:改变拥有者和群组命令:chown runoob:runoobgroup log1. -
java Map删除值为null的元素 lamada表达式一行代码就搞定
由于map在使用foreach循环中删除元素的话会报空指针异常,只能采用迭代器的方式删除元素,写好代码后编译器竟然意外的提示我将代码改成lamada表达式,瞬间代码精简,idea牛逼!map.entr