Git | 理解团队合作中Git分支的合并操作
合并操作
- 团队合作中Git分支的合并操作
- 分支合并过程
- 1.创建feature/A分支的过程
- 2. 创建分支feature/A-COPY
- 3.合并分支
- 查看代码是否改变
团队合作中Git分支的合并操作
- 需求
假设团队项目中的主分支是main,团队成员A基于主分支main创建了feature/A,而我又在团队成员A创建的分支feature/A的基础上创建了feature/A-COPY。
项目各自进行了一段时间,我做了一些功能开发,我想将我的分支做的改动合并到团队成员A创建的分支上,即feature/A-COPY->feature/A。
改动可能涉及到删除、增加
若是你也想使用该项目练习,联系我,我看到会回你,我也期待多人协作,想看到多人写作又是一个什么效果 ,期待ing
分支合并过程
- 主分支的结构如下

GitHub:main主分支的文件
1.创建feature/A分支的过程
- 你应该位于main分支上
- 执行命令
git checkout -b feature/A
该命令会基于main分支创建主分支,然后在该分支上做如下更改
深刻理解sys.path.append方法的用法,你也可以随便增加一些简单的.py文件
- 查看状态并将该分支推送到远程仓库
git status
git add .
git commit -m '这里填写你想要说的东西-简要说明'
git push origin feature/A
到此为止,团队成员A的feature/A分支已经创建完毕,查看分支:
GitHub: feature/A的文件

你的网络oK的话,可以直接在线查看两个分支的不同
下一步骤,创建分支feature/A-COPY:
2. 创建分支feature/A-COPY
- 说明
需求里提到分支feature/A-COPY是基于A的分支创建的,因此首先你要检查你是否处于分支feature/A的下面:
git branch
带*的即目前所处于的分支位置

- 创建分支
git checkout -b feature/A-COPY
截至目前,分支feature/A和feature/A-COPY的内容是一样的
在这个分支上我们做如下操作:
-
删除内容

-
在该分支上增加decorate.py文件
-
其位置如下:

-
提交到远程
23284@zhenHao MINGW64 /e/GitRepository/PythonModuleLearn (feature/A-COPY)
$ git status
On branch feature/A-COPY
Changes to be committed:(use "git restore --staged <file>..." to unstage)new file: learnTest/decorate.pyChanges not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified: learnTest/app.logmodified: learnTest/decorate.py23284@zhenHao MINGW64 /e/GitRepository/PythonModuleLearn (feature/A-COPY)
$ git add .23284@zhenHao MINGW64 /e/GitRepository/PythonModuleLearn (feature/A-COPY)
$ git commit -m 'add new file about decorate.py in learnTest'
[feature/A-COPY e7ed9cc] add new file about decorate.py in learnTest2 files changed, 47 insertions(+)create mode 100644 learnTest/decorate.py23284@zhenHao MINGW64 /e/GitRepository/PythonModuleLearn (feature/A-COPY)
$ git pull
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.git pull <remote> <branch>If you wish to set tracking information for this branch you can do so with:git branch --set-upstream-to=origin/<branch> feature/A-COPY23284@zhenHao MINGW64 /e/GitRepository/PythonModuleLearn (feature/A-COPY)
$ git push origin feature/A-COPY
Enumerating objects: 8, done.
Counting objects: 100% (8/8), done.
Delta compression using up to 28 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 1.08 KiB | 1.08 MiB/s, done.
Total 5 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
remote:
remote: Create a pull request for 'feature/A-COPY' on GitHub by visiting:
remote: https://github.com/haozhenHG/PythonModuleLearn/pull/new/feature/A-COPY
remote:
To https://github.com/haozhenHG/PythonModuleLearn.git* [new branch] feature/A-COPY -> feature/A-COPY
- 查看GitHub仓库

3.合并分支
将 分支feature/A-COPY->feature/A 合并
在 Git 中,如果你想要将一个分支的更改合并到另一个分支,你可以使用 git merge 命令。以下是将 feature/A-COPY 分支合并到 feature/A 分支的步骤:
-
切换到目标分支:首先,你需要切换到你想要合并更改到的目标分支。在这个例子中,是
feature/A分支。git checkout feature/A -
拉取最新的更改:在合并之前,确保你的本地分支是最新的。这通常意味着你需要拉取远程仓库的最新更改。
git pull origin feature/A -
合并另一个分支:然后,你可以使用
git merge命令将feature/A-COPY分支合并到当前分支(在这个例子中是feature/A)。git merge feature/A-COPY -
解决冲突:如果在合并过程中出现冲突,Git 会提示你解决这些冲突。你需要手动编辑冲突的文件,然后使用以下命令标记冲突已解决并准备提交:
git add <冲突的文件> git commit -m "解决合并 feature/A-COPY 的冲突" -
推送更改:合并完成后,你可以将更改推送到远程仓库。
git push origin feature/A
如果你想要在合并之前查看两个分支之间的差异,可以使用 git diff 命令:
git diff feature/A feature/A-COPY
这将显示两个分支之间的差异,帮助你了解合并将带来的具体更改。
请注意,合并操作可能会影响你的工作流程,因此在执行合并之前,确保你已经与团队成员沟通,并且了解合并可能带来的影响。如果你不确定,可以先在本地创建一个新的分支来测试合并操作。
23284@zhenHao MINGW64 /e/GitRepository/PythonModuleLearn (feature/A-COPY)
$ git branchfeature/A
* feature/A-COPYmain
gi
23284@zhenHao MINGW64 /e/GitRepository/PythonModuleLearn (feature/A-COPY)
$ git checkout feature/A
Switched to branch 'feature/A'23284@zhenHao MINGW64 /e/GitRepository/PythonModuleLearn (feature/A)
$ git merge feature/A-COPY
Updating 6cd2a7a..e7ed9cc
Fast-forwardlearnTest/app.log | 6 ++++++learnTest/decorate.py | 41 +++++++++++++++++++++++++++++++++++++++++2 files changed, 47 insertions(+)create mode 100644 learnTest/decorate.py23284@zhenHao MINGW64 /e/GitRepository/PythonModuleLearn (feature/A)
$ git push origin feature/A
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To https://github.com/haozhenHG/PythonModuleLearn.git6cd2a7a..e7ed9cc feature/A -> feature/A
查看代码是否改变


相关文章:
Git | 理解团队合作中Git分支的合并操作
合并操作 团队合作中Git分支的合并操作分支合并过程1.创建feature/A分支的过程2. 创建分支feature/A-COPY3.合并分支查看代码是否改变 团队合作中Git分支的合并操作 需求 假设团队项目中的主分支是main,团队成员A基于主分支main创建了feature/A,而我又在团队成员A创…...
C++多态的实现原理
【欢迎关注编码小哥,学习更多实用的编程方法和技巧】 1、类的继承 子类对象在创建时会首先调用父类的构造函数 父类构造函数执行结束后,执行子类的构造函数 当父类的构造函数有参数时,需要在子类的初始化列表中显式调用 Child(int i) : …...
[极客大挑战 2019]PHP--详细解析
信息搜集 想查看页面源代码,但是右键没有这个选项。 我们可以ctrlu或者在url前面加view-source:查看: 没什么有用信息。根据页面的hint,我们考虑扫一下目录看看能不能扫出一些文件. 扫到了备份文件www.zip,解压一下查看网站源代码…...
map用于leetcode
//第一种map方法 function groupAnagrams(strs) {let map new Map()for (let str of strs) {let key str ? : str.split().sort().join()if (!map.has(key)) {map.set(key, [])}map.get(key).push(str)} //此时map为Map(3) {aet > [ eat, tea, ate ],ant > [ tan,…...
CommonJS 和 ES Modules 的 区别
CommonJS 和 ES Modules 的 区别 1. CommonJS 和 ES Modules 区别?1.1 语法差异CommonJS:ES Modules: 1.2. 加载机制CommonJS:ES Modules: 1.3. 运行时行为CommonJS:ES Modules: 1.4. 兼容性和使用场景Com…...
科技为翼 助残向新 高德地图无障碍导航规划突破1.5亿次
今年12月03日是第33个国际残疾人日。在当下科技发展日新月异的时代,如何让残障人士共享科技红利、平等地参与社会生活,成为当前社会关注的热点。 中国有超过8500万残障人士,其中超过2400万为肢残人群,视力障碍残疾人数超过1700万…...
Flink四大基石之Time (时间语义) 的使用详解
目录 一、引言 二、Time 的分类及 EventTime 的重要性 Time 分类详述 EventTime 重要性凸显 三、Watermark 机制详解 核心原理 Watermark能解决什么问题,如何解决的? Watermark图解原理 举例 总结 多并行度的水印触发 Watermark代码演示 需求 代码演示ÿ…...
Spring WebFlux与Spring MVC
Spring WebFlux 是对 Spring Boot 项目中传统 Spring MVC 部分的一种替代选择,主要是为了解决现代 Web 应用在高并发和低延迟场景下的性能瓶颈。 1.WebFlux 是对 Spring MVC 的替代 架构替代: Spring MVC 使用的是基于 Servlet 规范的阻塞式模型…...
【深度学习基础】一篇入门模型评估指标(分类篇)
🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀深度学习_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2. 模…...
D80【 python 接口自动化学习】- python基础之HTTP
day80 requests请求加入headers 学习日期:20241126 学习目标:http定义及实战 -- requests请求加入headers 学习笔记: requests请求加入headers import requestsurlhttps://movie.douban.com/j/search_subjects params{"type":…...
⽂件操作详解
⽬录 一 文件操作的引入 1 为什么使⽤⽂件? 2 什么是⽂件? 3 文件分类(1 从⽂件功能的⻆度来分类:程序⽂件/数据⽂件 2根据数据的组织形式:为⽂本⽂件/⼆进制⽂件) 二 ⽂件的打开和关闭 1 …...
双高(高比例新能源发电和高比例电力电子设备)系统宽频振荡研究现状
1 为什么会形成双高电力系统 (1)新能源发电比例增加 双碳计划,新能源革命,可再生能源逐步代替传统化石能源,未来新能源发电将成为最终能源需求的主要来源。 (2)电力电子设备数量增加 为了实…...
TorchMoji使用教程/环境配置(2024)
TorchMoji使用教程/环境配置(2024) TorchMoji简介 这是一个基于pytorch库,用于将文本分类成不同的多种emoji表情的库,适用于文本的情感分析 配置流程 从Anaconda官网根据提示安装conda git拉取TorchMoji git clone https://gi…...
使用 Python 中的 TripoSR 根据图像创建 3D 对象
使用 Python 中的 TripoSR 根据图像创建 3D 对象 1. 效果图2. 步骤图像到 3D 对象设置环境导入必要的库设置设备创建计时器实用程序上传并准备图像处理输入图像生成 3D 模型并渲染下载.stl 文件展示结果3. 源码4. 遇到的问题及解决参考这篇博客将引导如何使用Python 及 TripoSR…...
Spring 框架中AOP(面向切面编程)和 IoC(控制反转)
在 Spring 框架中,AOP(面向切面编程)和 IoC(控制反转)是两个核心概念,它们分别负责不同的功能。下面我将通过通俗易懂的解释来帮助你理解这两个概念。 IoC(控制反转) IoC 是 Inver…...
电机瞬态分析基础(7):坐标变换(3)αβ0变换,dq0变换
1. 三相静止坐标系与两相静止坐标系的坐标变换―αβ0坐标变换 若上述x、y坐标系在空间静止不动,且x轴与A轴重合,即,如图1所示,则为两相静止坐标系,常称为坐标系,考虑到零轴分量,也称为αβ0坐标…...
Open3D (C++) 生成任意3D椭圆点云
目录 一、算法原理1、几何参数2、数学公式二、代码实现三、结果展示一、算法原理 1、几何参数 在三维空间中,椭圆由以下参数定义: 椭圆中心点 c = ( x 0 , y 0 , z...
5.利用Pandas以及Numpy进行数据清洗
1、缺失值处理 import pandas as pd import numpy as np#创建一张7行5列带有缺失值的表,表中的数据0-100随机生成,索引是python1. df pd.DataFrame(datanp.random.randint(0,100,size(7,5)), index [i for i in pythonl])df.iloc[2,3] Nonedf.iloc[4…...
@Bean注解详细介绍以及应用
目录 一、概念二、应用(一)代码示例1、首先创建一个简单的 Java 类User2、然后创建一个配置类AppConfig3、在其他组件中使用Bean创建的 bean4、通过 Spring 的ApplicationContext来获取UserService并调用其方法 (二)bean的方法名详…...
基于SpringBoot的预制菜销售系统
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…...
SubLens:AI订阅管理浏览器插件,一站式聚合账单与扣款提醒
1. 项目概述:一个帮你管好AI订阅账单的浏览器插件 如果你和我一样,订阅了不止一个AI服务——比如ChatGPT Plus用来日常对话和写作,Claude Pro用来处理长文档,GitHub Copilot写代码,Cursor辅助开发,再加上G…...
ElevenLabs Enterprise方案深度拆解:从API限流策略到GDPR语音数据主权管理的7层安全加固实践
更多请点击: https://intelliparadigm.com 第一章:ElevenLabs Enterprise方案全景概览 ElevenLabs Enterprise 是面向中大型组织构建的语音合成与语音识别一体化平台,专为高并发、多租户、合规性敏感场景设计。其核心能力覆盖实时TTS流式输出…...
Adams驱动函数里那个神秘的‘d’到底怎么用?手把手教你避开单位换算的坑
Adams驱动函数中‘d’符号的终极指南:从原理到实战避坑 刚接触Adams的工程师们,你们是否曾在深夜盯着屏幕上那个诡异的机械臂运动轨迹百思不得其解?明明输入的是90度,为什么模型转得像陀螺一样疯狂?这一切的罪魁祸首很…...
鸿蒙 App 的 Task + State 双核心架构
子玥酱 (掘金 / 知乎 / CSDN / 简书 同名) 大家好,我是 子玥酱,一名长期深耕在一线的前端程序媛 👩💻。曾就职于多家知名互联网大厂,目前在某国企负责前端软件研发相关工作,主要聚…...
Honey Select 2一站式智能优化方案:HS2-HF Patch高效整合200+插件
Honey Select 2一站式智能优化方案:HS2-HF Patch高效整合200插件 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 还在为《Honey Select 2》的翻译不…...
从理论到落地,一文读懂现代AI Agent的完整记忆流水线
来源:DeepHub IMBA 本文约6500字,建议阅读13分钟本文介绍 AI Agent 四大记忆分类与流水线,解析生产架构、选型方案及常见落地误区。每一次 LLM 调用都是无状态的。模型读上下文窗口,生成响应然后忘掉一切。这对单轮问答没问题。对…...
从配置字到实际运动:手把手教你用EtherCAT调试伺服电机的控制模式(以倍福TwinCAT3为例)
从配置字到实际运动:手把手教你用EtherCAT调试伺服电机的控制模式(以倍福TwinCAT3为例) 在工业自动化现场,伺服电机的精准控制往往决定着整条产线的运行效率。当面对一台全新的伺服驱动器时,如何快速完成从参数配置到实…...
告别‘堆已损坏’:深入理解malloc/new在Win32与x64平台下的内存管理差异
告别‘堆已损坏’:深入理解malloc/new在Win32与x64平台下的内存管理差异 在C/C开发中,内存管理一直是开发者需要面对的核心挑战之一。当项目从32位迁移到64位环境,或者升级Visual Studio版本时,许多团队都会遇到一个令人头疼的问题…...
如何快速掌握ComfyUI图像修复插件:终极完整使用指南
如何快速掌握ComfyUI图像修复插件:终极完整使用指南 【免费下载链接】comfyui-inpaint-nodes Nodes for better inpainting with ComfyUI: Fooocus inpaint model for SDXL, LaMa, MAT, and various other tools for pre-filling inpaint & outpaint areas. 项…...
