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项目源码、微信小程序源码 精品专栏:…...

Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么?它的作用是什么? Spring框架的核心容器是IoC(控制反转)容器。它的主要作用是管理对…...
深入理解 React 样式方案
React 的样式方案较多,在应用开发初期,开发者需要根据项目业务具体情况选择对应样式方案。React 样式方案主要有: 1. 内联样式 2. module css 3. css in js 4. tailwind css 这些方案中,均有各自的优势和缺点。 1. 方案优劣势 1. 内联样式: 简单直观,适合动态样式和…...