当前位置: 首页 > news >正文

git仓库多人协作新建分支 合并到主分支流程详解

在多人协作的 Git 仓库中,新建分支并最终将其合并到主分支的流程是为了实现团队协作、提高代码的可管理性、确保代码质量,并且避免多人同时修改同一部分代码导致冲突。以下是这个流程的目的和具体步骤。

目录

1. 在 master 上新建一个分支

2. 进行功能开发

3. 合并功能分支到 master 分支

4. 删除开发分支


1. 在 master 上新建一个分支

首先,确保你的 master 分支是最新的。然后,创建一个新的分支来开发新功能。

a. 拉取最新的 master 分支

git pull origin master  
//拉取最新的 master 分支代码

结果 :

  • From https://gitee.com/louuuuu/dong-ruan-hospital:表示从远程仓库 https://gitee.com/louuuuu/dong-ruan-hospital 拉取数据。
  • * branch master -> FETCH_HEAD:表示你拉取的是远程的 master 分支,并且这个分支的更新内容已经被存储在一个临时的 FETCH_HEAD 中。FETCH_HEAD 是 Git 内部用来存储最近一次 git fetch 操作的数据的位置。
  • Already up to date.:这意味着你本地的 master 分支已经是最新的,与远程仓库的 master 分支没有差异,所以没有需要拉取的更新。

b. 创建并切换到新分支

假设你的功能是添加一个 feature-xyz,你可以这样创建并切换到新分支:

git checkout -b feature-xyz
//创建并切换到 feature-xyz 分支
git checkout -b feature-xyz
//仅切换

结果 : 

2. 进行功能开发

feature-xyz 分支上进行功能开发,修改代码并提交。

a. 添加和提交代码

git add .               
// 将所有修改的文件添加到暂存区
git commit -m "Add feature-xyz"  
// 提交更改

 结果 : 

  • [feature-xyz 1de68d6]:表示此次提交是在 feature-xyz 分支上,提交的哈希值为 1de68d6
  • feat:再次测试合并-何玉婷:这是你刚才输入的提交信息。
  • 1 file changed, 7 insertions(+)
    • 1 file changed:表示此次提交修改了一个文件。
    • 7 insertions(+):表示在这个文件中有 7 行新代码被添加进来。

b. 将开发分支推送到 Gitee

git push origin feature-xyz   
// 将本地的 feature-xyz 分支推送到远程仓库

输出说明: 

  • Enumerating objects: 15, done.:列举了 15 个对象(这些对象包括新的提交、文件变更等)。
  • Counting objects: 100% (15/15), done.:确认了总共有 15 个对象要处理,且已经完成。
  • Delta compression using up to 8 threads:使用最多 8 个线程进行增量压缩,这有助于减少数据传输量。
  • Compressing objects: 100% (7/7), done.:完成了 7 个对象的压缩(其中 7 个是实际的提交或文件变更)。
  • Writing objects: 100% (8/8), 742 bytes | 742.00 KiB/s, done.:所有 8 个对象成功写入到远程仓库,总大小为 742 字节,传输速度为 742.00 KiB/s。
  • Total 8 ( 4), reused 0 ( 0), pack-reused 0 (from 0):表示这次推送总共有 8 个对象,其中 4 个是增量变更,其他是新的对象。

远程提示: 

  • 表明你的推送成功上传到 Gitee(国内的一个 Git 托管平台)。
  • 提供了创建 Pull Request 的链接,建议你去 Gitee 上创建一个 Pull Request,将 feature-xyz 分支的更改合并到 master 分支。

3. 合并功能分支到 master 分支

开发完成后,需要将 feature-xyz 分支合并到 master 分支。

a. 切换回 master 分支

 git checkout master// 切换回 master 分支

b. 拉取最新的 master分支代码

git pull origin master
// 确保 master 分支是最新的

c. 合并 feature-xyz 分支到 master

git merge feature-xyz
如果合并时没有冲突,Git 会自动完成合并。如果有冲突,你需要手动解决冲突。

1. Updating ef154af..1de68d6
  • 这是合并操作中,Git 正在更新当前分支的提交历史。从 ef154af(当前分支的最新提交)到 1de68d6feature-xyz 分支的最新提交)。
  • 表示在合并的过程中,当前分支将更新到 feature-xyz 分支的最新状态。
2. Fast-forward
  • 表示合并是“快进(fast-forward)”合并。也就是说,当前分支没有新的提交,而 feature-xyz 分支包含了新的提交,因此,Git 只需将当前分支的指针直接移动到 feature-xyz 分支的最新提交,来完成合并。
  • 这种合并方式是最简单的,Git 不需要生成新的合并提交。
3. .../pages/Dashboard/MedicalFrontline/PrescriptionManagement.jsx | 7 +++++++
  • 表示在 PrescriptionManagement.jsx 文件中进行了 7 行的插入操作。
  • 这些变更来自于 feature-xyz 分支。你可以看到,这次合并只涉及到文件的插入,而没有删除或修改。
4. 1 file changed, 7 insertions(+)
  • 表示合并操作改变了一个文件,并且在该文件中插入了 7 行代码。

d. 推送合并后的 master 分支到 Gitee        

git push origin master  
// 将合并后的 master 分支推送到远程仓库

1. Total 0 ( 0), reused 0 ( 0), pack-reused 0 (from 0)
  • 这表示没有新的对象需要推送,或者说没有新的变更需要上传到远程仓库。
  • 由于你之前已经执行了 git merge 命令,合并操作是通过快进合并完成的,没有额外的提交需要推送,git push 仅仅将本地分支指向新的提交,并且没有需要传输的新数据。
2. remote: Powered by GITEE.COM [1.1.5]
  • 表示你的 Git 操作正在通过 Gitee 平台进行处理。
3. remote: Set trace flag 584b4d92
  • 这是 Gitee 系统内部的一个跟踪信息,通常用于调试和记录操作。
4. To https://gitee.com/louuuuu/dong-ruan-hospital.git
  • 显示了远程仓库的地址,这表示推送操作是发送到这个 Gitee 仓库的。
5. ef154af..1de68d6 master -> master
  • 这表示你的本地 master 分支的指针从 ef154af(原本的提交)更新到了 1de68d6(新的提交)。
  • 这次更新可能是由先前的合并(feature-xyz 分支合并)引起的,也有可能是其他修改导致。

4. 删除开发分支

如果功能开发完成并且合并到 master 后,你可以删除本地和远程的 feature-xyz 分支。

a. 删除本地分支

 branch -d feature-xyz

b. 删除远程分支

git push origin --delete feature-xyz  
 

相关文章:

git仓库多人协作新建分支 合并到主分支流程详解

在多人协作的 Git 仓库中,新建分支并最终将其合并到主分支的流程是为了实现团队协作、提高代码的可管理性、确保代码质量,并且避免多人同时修改同一部分代码导致冲突。以下是这个流程的目的和具体步骤。 目录 1. 在 master 上新建一个分支 2. 进行功能…...

Visual Studio 使用 GitHub Copilot 与 IntelliCode 辅助编码 【AI辅助开发系列】

🎀🎀🎀【AI辅助编程系列】🎀🎀🎀 Visual Studio 使用 GitHub Copilot 与 IntelliCode 辅助编码Visual Studio 安装和管理 GitHub CopilotVisual Studio 使用 GitHub Copilot 扩展Visual Studio 使用 GitHu…...

【时间之外】IT人求职和创业应知【74】-运维机器人

目录 OpenAI最强推理模型o3发布,AGI测试能力暴涨 英伟达宣布收购以色列AI初创企业Runai 汤姆猫首款AI机器人产品明日发售 心勿贪,贵知足。 感谢所有打开这个页面的朋友。人生不如意,开越野车去撒野,会害了自己,不如…...

高阶:基于Python paddleocr库 提取pdf 文档高亮显示的内容

预览 第1步:理解基本结构和导入必要的库 # 1. 首先导入需要的库 import os # 用于处理文件和路径 import cv2 # 用于图像处理 import numpy as np # 用于数值计算 from paddleocr import PaddleOCR # 用于文字识别 from pdf2image import convert_from_path #…...

STM32项目之环境空气质量检测系统软件设计

目录 前言一、软件需求概述二、需求实现思路1.软件开发工具准备2.温湿度实时监测功能3.空气质量实时监测功能(目前硬件没有买该模块,暂未实现)4.实时时间功能5.视觉、听觉报警功能6.WIFI云平台连接,远程查看数据功能(待…...

重温设计模式--原型模式

文章目录 原型模式定义原型模式UML图优点缺点使用场景C 代码示例深拷贝、浅拷贝 原型模式定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象; 核心中的核心就是 克隆clone ,后面讲 原型模式是一种创建型设计模式,它的主要…...

输变电资质分一级、二级,新办从二级开始,三级已取消

输变电工程专业承包资质分为一级.二级.三级。 一、输变电工程专业承包一级资质标准:1、企业资产净资产5000万元以上。2、企业主要人员(1)机电工程专业一级注册建设师不少于10人。(2)技术负责人…...

浏览器http缓存问题

一、什么是浏览器缓存 浏览器将请求过的资源(html、js、css、img)等,根据缓存机制,拷贝一份副本存储在浏览器的内存或者磁盘上。如果下一次请求的url相同时则根据缓存机制决定是读取内存或者磁盘上的数据还是去服务器请求资源文件…...

结构化Prompt:让大模型更智能的秘诀

一、结构化提示词 1. 什么是结构化? 结构化: 对信息进行组织,使其遵循特定的模式和规则,从而方便有效理解信息。结构化的思想在各类文本中都得到了广泛应用,例如文章、书籍中都使用了标题、子标题、段落等语法结构。结构化 Prompt 的思维方…...

威联通NAS部署openwrt软路由保姆级教程附镜像文件

创作立场:原创不易,拒绝搬运~ hello 大家好,我是你们的老伙伴,稳重的大王~ 本期教程为大家分享,怎么在NAS里面部署软路由,下面是软路由的镜像文件,有两个版本,400M的是定制版~ Sh…...

《计算机网络(第7版)-谢希仁》期末考试复习题和答案(总结整理)

目录 前言: 一、选择题。 二、填空题。 三、名词解释。 四、简答题。 前言: 这个自动标题自己带了序号,一开始想全部选项和题号都改过来的,结果一看一百多个全是,懒得改了 一、选择题。 1、广域网覆盖的地理范围…...

windows和mac共享文件夹访问教程

mac共享文件夹,windows访问: mac上开启文件夹共享,并添加文件夹和用户,然后windows 上 在windows上快捷键 win r 打开运行,按如下格式输入mac设备的IP地址: 就可以访问了: windows共享文件夹…...

【PPTist】网格线、对齐线、标尺

前言:本篇文章介绍辅助我们摆放元素位置的几个功能 一、网格线功能 网格线主要是用来辅助我们对齐元素的,右键可以选择使用哪种网格线,以及关闭和打开 显示效果就是图中的这种效果。但是强迫症有点难受,它底部没对齐啊啊啊 不…...

Leetcode3218. 切蛋糕的最小总开销 I

题目描述: 有一个 m x n 大小的矩形蛋糕,需要切成 1 x 1 的小块。 给你整数 m ,n 和两个数组: horizontalCut 的大小为 m - 1 ,其中 horizontalCut[i] 表示沿着水平线 i 切蛋糕的开销。verticalCut 的大小为 n - 1 …...

ECCV-2024 | 指令不够用、大模型来生成!BEVInstructor:基于BEV感知和大模型的视觉语言导航指令生成

作者:Sheng Fan, Rui Liu, Wenguan Wang, and Yi Yang 单位:浙江大学 原文链接:Navigation Instruction Generation with BEV Perception and Large Language Models (https://link.springer.com/chapter/10.1007/978-3-031-726…...

【UE5.3.2 】引擎中安装RiderLink插件

Rider会提示你安装这个插件选择在引擎中安装 Running AutomationTool... Using bundled DotNet SDK version: 6.0.302 Starting AutomationTool... Parsing command line: BuildPlugin -Unversioned -Plugin=C:\Users\zhangbin\AppData\Local\...

【HarmonyOS 5.0】第十二篇-ArkUI公共属性(一)

一、公共样式类属性 ArkUI框架提供的基础组件直接或者间接的继承自 CommonMethod , CommonMethod 中定义的属性样式属于公共样式。下面就来学习这些样式 1.1.尺寸设置 宽高设置 设置组件的宽高,缺省时使用组件自身内容的宽高,比如充满父布…...

京准电钟解读,NTP网络授时服务器如何提升DCS系统效率

京准电钟解读,NTP网络授时服务器如何提升DCS系统效率 京准电钟解读,NTP网络授时服务器如何提升DCS系统效率 NTP 网络授时服务器为防火墙内的网络设备、终端、服务器提供准确、可靠和安全的高精度卫星时间参考,可为它支持数万台支持标准的网…...

4.银河麒麟V10(ARM) 离线安装 MySQL

1. 系统版本 [rootga-sit-cssjgj-db-01u ~]# nkvers ############## Kylin Linux Version ################# Release: Kylin Linux Advanced Server release V10 (Lance)Kernel: 4.19.90-52.39.v2207.ky10.aarch64Build: Kylin Linux Advanced Server release V10 (SP3) /(La…...

Redis四种模式在Spring Boot框架下的配置

1. 单机模式 application.properties 配置: spring.redis.host127.0.0.1 spring.redis.port6379 spring.redis.passwordyourpasswordspring.redis.host: 该配置指定 Redis 服务器的主机地址。在单机模式下,通常是本地 Redis 实例(127.0.0.1…...

【kafka】Golang实现分布式Masscan任务调度系统

要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、👨‍🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨‍&#x1f…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看

文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...

Unity中的transform.up

2025年6月8日,周日下午 在Unity中,transform.up是Transform组件的一个属性,表示游戏对象在世界空间中的“上”方向(Y轴正方向),且会随对象旋转动态变化。以下是关键点解析: 基本定义 transfor…...

【堆垛策略】设计方法

堆垛策略的设计是积木堆叠系统的核心,直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法,涵盖基础规则、优化算法和容错机制: 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则: 大尺寸/重量积木在下&#xf…...

高分辨率图像合成归一化流扩展

大家读完觉得有帮助记得关注和点赞!!! 1 摘要 我们提出了STARFlow,一种基于归一化流的可扩展生成模型,它在高分辨率图像合成方面取得了强大的性能。STARFlow的主要构建块是Transformer自回归流(TARFlow&am…...