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项目源码、微信小程序源码 精品专栏:…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
WPF八大法则:告别模态窗口卡顿
⚙️ 核心问题:阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程,导致后续逻辑无法执行: var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题:…...
uni-app学习笔记三十五--扩展组件的安装和使用
由于内置组件不能满足日常开发需要,uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件,需要安装才能使用。 一、安装扩展插件 安装方法: 1.访问uniapp官方文档组件部分:组件使用的入门教程 | uni-app官网 点击左侧…...
