Git-flow流

news2025/7/21 1:28:14

Git

  • git是版本控制软件,一般用来做代码版本控制

  • github是一个免费版本控制仓库是国内外很多开源项目的集中地,其本体是一个git服务器

  • Git初始化操作

git init   初始化仓库
git status   查看当前仓库的状态
git add  .   将改动的文件加到暂存区
git commit -m  把暂存区的内容移往版本库(repository)  
git commit  --amend -m'描述'  修改最近一次提交commit信息
git commit  --amend --no-edit 把某个改动并入最近一次的commit
​
  • 添加git相关信息

git config --global user.email "123123@163.com"
git config --global user.name "JeeyWu"
  • git日志操作

git  log 查看提交记录
git  log 文件名 查看文件相关的提交记录 
git  log --author="JeeyWu"
git  log  --grep="新增用户查询列表接口"   查找commit信息中是否含有某些关键字
​
​
  • .gitignore文件(忽略被git管理的文件)

  • 添加远程仓库

git  remote add  <name><url> 本地仓库和远端仓库关联   git remote add origin https://gitee.com/t7uf7tu/one12312.git
git  push  -u  origin   "master"  把本地仓库主分支推送到远程仓库主分支  git push -u origin "master"
​
  • 从远程仓库拉取代码

git clone  <url>
  • git拉取和推送

git push  origin   master  推送到远端仓库
git pull  origin    master  把远端最新的改动拉取下来
  • git 分支操作

git branch  查看分支
git branch  Jeeny_wu  创建分支
git branch  -m  old-name  new-name  修改分支的名字
git branch  -d 分支名 删除本地分支
git push origin -delete 分支名 删除远端的分支
​
git checkout  分支名  切换分支
git checkout -b 分支名 切换分支或者切换创建分支
​
 分支合并
 master   merge xiaohong  快转模式  (指向同一个commit)
  
​
  • ort策略

同时并行开发两个任务task-a和task-b,task-a、task-b和master分支指向同一个commit。切换到task-a分支提交一些修改并commit,之后切换到task-b分支提交一些修改并commit。此时无论是task-a合并taskb,亦或是task-b合并task-a,在这种情况下,git会生成一个额外的commit,这个commit会指向两个commit(task-a和task-b的commit),明确地标记是来自哪两个分支

  • rebase变基

    a分支和b分支都是从master分出去的,且各自做了改动并commit。a和b都是从master分出来的,它们的base都是master. 切换到a分支,执行git rebase b命令。意思是使用b分支作为a分支的新的参考基准。 rebase合并方式和merge方式的区别:使用rebase方式合并分支,git不会在做出一个专门用来合并的commit.

  • 版本回退

    git reset  commit 识别码  --hard 回退版本 (使用git reflog命令 查看之前的commit识别码)
    ​
    git reflog  查看之前的commit识别码
    • 合并冲突

不是改到同一个文件就一定会发生冲突,但改到同行就会出现冲突 无论是使用merge还是使用rebase进行合并,都有可能产生冲突

  • git flow工作流

    简介:Gitflow工作流程围绕项目发布定义了严格的分支模型,它为管理更大规模的项目提供了坚实的框架。除了用于功能开发的分支,它还使用独立的分支进行发布前的准备、记录以及后期维护

    用于记录历史的分支:Gitflow使用两个分支来记录项目开发的历史,而不是使用单一的master分支。在Gitflow流程中,master只是用于保存官方的发布历而develop分支才是用于集成各种功能开发的分史,支。使用版本号为master上的所有提交打标签(tag)也很方便。

用于功能开发的分支:每一个新功能的开发都应该名自使用独立的分支。为了备份或便于团队之间的合作,这种分支也可以被推送到中央仓库。但是,在创建新的功能开发分支时,父分支应该选择develop(而不是master)。当功能开发完成时,改动的代码应该被合并(merge)到develop分支。功能开发永远不应该直接牵扯到master。

用于功能开发的分支:每一个新功能的开发都应该各自使用独立的分支。为了备份或便于团队之间的合作,这种分支也可以被推送到中央仓库。但是,在创建新的功能开发分支时,父分支应该选择develop(而不是master)。当功能开发完成时,改动的代码应该被合并(merge)到develop分支。功能开发永远不应该直接牵扯到master。

用于发布的分支:一旦develop分支积聚了足够多的新功能(或者预定的发布日期临近了),你可以基于develop分支建立一个用于产品发布的分支。这个分支的创建意味着一个发布周期的开始,也意味着本次发布不会再增加新的功能--在这个分支上只能修复bug做一些文档工作或者跟发布相关的任务。在一切准备就绪的时候这个分支会被合并入master,并且用版本号打上标签。另外,发布分支上的改动还应该合并入develop分支--在发布周期内develop分支仍然在被使用(一些开发者会把其他功能集成到develop分支)。使用专门的一个分支来为发布做准备的好处是,在一个团队忙于当前的发布的同时,另一个团队可以继续为接下来的一次发布开发新功能。

用于维护的分支:发布后的维护工作或者紧急问题的快速修复也需要使用一个独立的分支。这是唯-一种可以直接基于master创建的分支。一旦问题被修复了,所做的改动应该被合并入master和develop分支或者用于当前发布的分支)。在这之后,master上还要使用更新的版本号打好标签。

  • 基于develop派生出release预发布分支用于测试bug修正

  • 修复完成release分支合并入master分支喝develop分支

  • 再将发布分支删除

  • 基于master分支打标签

    git  tag -a 标签名 -m  "标签信息描述"

    把本地标签提交到远端仓库

    git push origin --tags

    用户发现bug 为了解决这个问题,小红基于master创建了一个用于维护的分支(hotfix)。她在这个分支上修复了那个bug,然后把改动的代码直接合并入master

    跟用于发布的分支一样,在维护分支上的改动也需要合并入develop分支

  • 最后可以将维护分支删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2398127.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VirtualBox给Rock Linux9.x配置网络

写这篇文章之前&#xff0c;先说明一下&#xff0c;我参考的是我之前写的《VirtualBox Linux网络配置》 我从CentOS7转到了Rock9&#xff0c;和配置Centos7一样&#xff0c;主流程没有变化&#xff0c;变化的是Rock9.x中的配置文件和使用的命令。 我再说一次&#xff0c;因为主…

知识图谱增强的大型语言模型编辑

https://arxiv.org/pdf/2402.13593 摘要 大型语言模型&#xff08;LLM&#xff09;是推进自然语言处理&#xff08;NLP&#xff09;任务的关键&#xff0c;但其效率受到不准确和过时知识的阻碍。模型编辑是解决这些挑战的一个有前途的解决方案。然而&#xff0c;现有的编辑方法…

.NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想

在当今数据驱动的时代&#xff0c;向量数据库&#xff08;Vector Database&#xff09;作为一种新兴的数据库技术&#xff0c;正逐渐成为软件开发领域的重要组成部分。特别是在 .NET 生态系统中&#xff0c;向量数据库的应用为开发者提供了构建智能、高效应用程序的新途径。 一…

【claude+deepseek+gemini】基于李群李代数和螺旋理论工业机器人控制系统软件UI设计

claude的首次设计html是最佳的。之后让deepseek和gemini根据claude的UI设计进行改进设计。。。当然可以尝试很多次&#xff0c;也可以让他们之间来回不断改进…… claude deepseek-r1 0528 上图为deepseek首次设计&#xff0c;下面为改进设计 …… Gemini 2.5 Pro 0506 &#x…

阿里云国际站,如何通过代理商邀请的链接注册账号

阿里云国际站&#xff1a;如何通过代理商邀请链接注册&#xff0c;解锁“云端超能力”与专属福利&#xff1f; 渴望在全球化浪潮中抢占先机&#xff1f;想获得阿里云国际站的海量云资源、遍布全球的加速节点与前沿AI服务&#xff0c;同时又能享受专属折扣、VIP级增值服务支持或…

乾坤qiankun的使用

vue2 为主应用 react 为子应用 在项目中安装乾坤 yarn add qiankun # 或者 npm i qiankun -Svue主应用 在main.js中新增 &#xff08;需要注意的是路由模型为history模式&#xff09; registerMicroApps([{name: reactApp,entry: //localhost:3011,container: #container,/…

PH热榜 | 2025-06-03

1. Knowledge 标语&#xff1a;像认识朋友一样去销售给潜在客户&#xff0c;因为你其实了解他们&#xff01; 介绍&#xff1a;Knowledge 是一个针对个人的销售智能平台&#xff0c;它利用行为数据和心理测评来识别市场上的潜在买家&#xff0c;并指导销售团队以最真实、最有…

论文略读: STREAMLINING REDUNDANT LAYERS TO COMPRESS LARGE LANGUAGE MODELS

2025 ICLR 判断模型层的重要性->剪去不重要的层&#xff08;用轻量网络代替&#xff09; 这种方法只减少了层数量&#xff0c;所以可以用常用的方法加载模型 层剪枝阶段 通过输入与输出的余弦相似度来判断各个层的重要性 具有高余弦相似度的层倾向于聚集在一起&#xff0c…

mapbox高阶,生成并加载等时图

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️Fill面图层样式1.4 ☘️symbol符号图层…

DeepSeek眼中的文明印记:山海经

一、山海经到底是怎么回事&#xff1f; 《山海经》是中国古代一部极具神秘色彩的文化典籍&#xff0c;成书时间跨度较大&#xff08;大致从战国至汉代&#xff09;&#xff0c;内容庞杂&#xff0c;涉及神话、地理、物产、巫术、医学、民俗等多个领域。关于它的性质&#xff0…

在Mathematica中实现Newton-Raphson迭代

为了寻找方程 可以使用Newton-Raphson迭代方法&#xff1a; NRIter[func_, xzero_, n_ : 5] :Module[{pointlist {}, x, xold xzero, xnew, f, df, xl, xr, k},f[x_] func[x];df[x_] D[func[x], x];Do[(pointlist Join[pointlist, {{xold, 0}}, {{xold, f[xold]}}];xnew …

【Ragflow】25.Ragflow-plus开发日志:excel文件解析新思路/公式解析适配

引言 RagflowPlus v0.3.0 版本中&#xff0c;增加了对excel文件的解析支持&#xff0c;但收到反馈&#xff0c;说效果并不佳。 以下测试文件内容来自群友反馈提供&#xff0c;数据已脱敏处理。 经系统解析后&#xff0c;分块效果如下&#xff1a; 可以看到&#xff0c;由于该…

Python数据可视化科技图表绘制系列教程(一)

目录 创建多个坐标图形&#xff08;坐标系&#xff09; 图表的组成 创建图形与子图 创建子图1 创建子图2 创建子图3 创建子图4 创建子图5 添加图表元素 极坐标图1 极坐标图2 【声明】&#xff1a;未经版权人书面许可&#xff0c;任何单位或个人不得以任何形式复制、…

移除3D对象的某些部分点云

1&#xff0c;目的 移除3D对象指定区域的点云。效果 2&#xff0c;原理。 通过投影剔除指定区域外的点云数据。 3&#xff0c;主要的算子。 3.1&#xff0c;gen_image_gray_ramp 是 Halcon 中用于生成‌线性灰度渐变图像‌的算子 功能概述‌ 数学原理‌ 生成的图像灰度值…

阿里云为何,一个邮箱绑定了两个账号

阿里云“幽灵账号”之谜&#xff1a;同一个邮箱注销后仍有两个账号&#xff1f;深度揭秘成因与终极解决方案&#xff01; 你是否曾在阿里云上使用同一个邮箱注册过多个账号&#xff0c;明明已经**“彻底”注销了其中一个**&#xff0c;却惊愕地发现系统里依然**“幽灵般”挂着…

高效视频倍速播放插件推荐

软件介绍 本文介绍一款名为Global Speed的视频速度控制插件&#xff0c;该插件在插件市场评分极高&#xff0c;被公认为目前最好用的视频倍速插件之一。 插件安装与基本功能 安装Global Speed插件后&#xff0c;用户只需点击插件图标即可选择播放倍数&#xff0c;最高支持16…

无他相机:专业摄影,触手可及

在数字摄影时代&#xff0c;手机摄影已成为许多人记录生活、表达创意的重要方式。无他相机正是这样一款专为摄影爱好者设计的相机应用程序&#xff0c;它不仅提供了专业级摄影设备的大部分功能&#xff0c;还通过简洁直观的操作界面&#xff0c;让每一位用户都能轻松上手&#…

基于贝叶斯优化神经网络的光伏功率预测综述

基于贝叶斯优化神经网络的光伏功率预测综述 一、贝叶斯优化的基本原理与核心组件 贝叶斯优化&#xff08;Bayesian Optimization, BO&#xff09;是一种基于概率模型的全局优化方法&#xff0c;特别适用于高成本评估的黑盒函数优化问题。其核心由代理模型和采集函数构成&…

【C++11】折叠引用和完美转发

目录 一. 前言二. 引用折叠引用折叠的规则 三. 完美转发完美转发适用场景完美转发底层实现思考1思考2 一. 前言 在函数传参时&#xff0c;如果想保持某个参数的属性不改变&#xff0c;需要完美转发&#xff0c;而完美转发的实现需要折叠引用的帮助 二. 引用折叠 在语法上&am…

数据结构:递归:自然数之和

目录 递归解法 &#x1f539;第一步&#xff1a;定义本质问题 &#x1f539;第二步&#xff1a;分解问题结构 &#x1f539;第三步&#xff1a;定义初始条件 &#x1f539;第四步&#xff1a;递归思想的自然生成 循环解法 &#x1f539;第 1 步&#xff1a;定义问题最小…