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项目源码、微信小程序源码 精品专栏:…...
MAXON阀150SMA12-FA22-CC2380
MAXON 150SMA12-FA22-CC2380 是一款工业燃烧控制领域的高品质燃气电磁阀。以下是对该型号的详细解析与关键参数: 1. 型号拆解 该型号遵循 MAXON(麦克森,现属 Honeywell 过程解决方案)的命名规则: 150:阀体…...
老旧电脑焕新:OpenClaw+GLM-4.7-Flash在4GB内存设备上的优化运行方案
老旧电脑焕新:OpenClawGLM-4.7-Flash在4GB内存设备上的优化运行方案 1. 为什么要在老旧电脑上部署AI助手? 去年整理书房时,我翻出一台2015年的MacBook Air,4GB内存的配置在当下连浏览器开几个标签页都卡顿。正当准备将它送进回收…...
造相-Z-Image效果对比:Z-Image在中文语义理解准确率上超越SDXL实测
造相-Z-Image效果对比:Z-Image在中文语义理解准确率上超越SDXL实测 最近在折腾本地文生图,发现了一个挺有意思的现象。我用的是基于通义千问官方Z-Image模型定制的“造相-Z-Image”引擎,专门为我的RTX 4090显卡做了优化。本来只是想试试它的…...
跨平台实战:Windows与macOS下OpenClaw对接nanobot的差异详解
跨平台实战:Windows与macOS下OpenClaw对接nanobot的差异详解 1. 为什么需要关注跨平台差异 上周我在团队内部推广OpenClaw时,遇到了一个典型问题:同样的nanobot对接流程,在Windows和macOS上执行时出现了完全不同的行为。这让我意…...
lvgl有哪些布局?
LVGL 提供了多种布局方式,帮助你高效组织界面元素,避免手动计算坐标。在 v8.2.0 中,主要有以下几种布局方法:1. 绝对定位(手动设置坐标) 最基础的方式,通过 lv_obj_set_pos(obj, x, y) 直接指定…...
SpringBoot 仓储信息管理系统设计:基于效率提升的毕业设计实战
在准备毕业设计时,很多同学会选择开发一个仓储信息管理系统。这个选题很经典,因为它能综合运用数据库、Web开发、业务逻辑等多种知识。但我也发现,很多同学做出来的系统,功能虽然齐全,却常常忽略了“效率”这个关键点。…...
RAG技术新篇章:Modular RAG模块化架构如何引爆效率与效果?
本文深入解析了RAG技术的演进历程,从最初的Naive RAG到Advanced RAG,再到如今的Modular RAG,阐述了三者间的继承与发展关系。Modular RAG通过模块化设计和智能编排,实现了更高的灵活性和可扩展性。其核心在于Orchestration编排模块…...
AI赋能Java开发:在快马平台轻松构建集成智能对话与代码分析的Java应用
最近尝试用Java结合AI能力做了个小项目,发现这种组合特别适合快速开发智能应用。在InsCode(快马)平台上实践后发现,整个过程比想象中简单很多,分享下具体实现思路。 项目框架搭建 用Spring Initializr创建基础项目,选择Web和Lombo…...
4G手机远程断电停电报警器:三重告警,漏报风险全杜绝
4G手机远程断电停电报警器,简单来说,就是一款在监测到设备停电时,能通过4G网络自动给你打电话、发短信“通风报信”的智能硬件。解决人不在现场,如何第一时间知道设备停电了。特别适合那些停电会造成严重损失的场景,比…...
从《贺花神》看AI趋势:当技术“理解人”,获客的方式彻底变了
今年春晚,一个节目让无数人屏住呼吸。故宫“白玉月令组佩”上的十二种花卉,化作十二位花神,在舞台上次第绽放。正月梅花、二月杏花、三月桃花……一人一景,一花一态。总导演于蕾说:“这非常非常难。”难在哪࿱…...
