git 的分支管理详解
Git 的分支管理是其强大功能之一,允许开发者在同一代码库中并行开发多个特性或修复 bug,而不干扰主分支的代码。下面是对 Git 分支管理的详解:
1. 查看分支
- 查看所有分支
git branch # 查看本地分支 git branch -r # 查看远程分支 git branch -a # 查看本地和远程分支
2. 创建分支
- 创建一个新的分支,并切换到该分支:
或者:git checkout -b new-branchgit branch new-branch # 创建分支 git checkout new-branch # 切换到新分支
3. 切换分支
- 切换到已有的分支:
在较新的 Git 版本中,可以使用简化的命令:git checkout branch-namegit switch branch-name
4. 合并分支
-
将某个分支的更改合并到当前分支:
git checkout main # 切换到主分支 git merge new-branch # 合并 new-branch 分支的内容到主分支 -
解决合并冲突:如果在合并时出现冲突,Git 会提示你哪个文件有冲突。你需要手动编辑冲突的文件,解决后使用:
git add conflicted-file git commit
5. 删除分支
- 删除本地分支:
如果该分支没有完全合并,强制删除可以使用git branch -d branch-name-D:git branch -D branch-name - 删除远程分支:
git push origin --delete branch-name
6. 跟踪远程分支
- 创建并跟踪远程分支:
或者在较新的 Git 中:git checkout -b local-branch origin/remote-branchgit switch -t origin/remote-branch
7. 推送本地分支到远程仓库
- 将新分支推送到远程:
git push --set-upstream origin new-branch #--set-upstream 或其简写 -u 选项用于将当前分支与远程仓库中的一个分支建立关联 - 如果是已经存在且建立好关联关系的分支推送到远程,可以直接使用:
git push
8. 分支合并策略
- Fast-forward 合并:当当前分支是被合并分支的祖先时,Git 会直接把当前分支指向被合并分支,不产生新的合并提交。
- 非 Fast-forward 合并:当当前分支和被合并分支有各自的提交时,会生成一个新的合并提交来记录合并的历史。
git merge --no-ff branch-name
9. Rebase(变基)
-
变基操作可以将一个分支的提交历史“平滑”地应用到另一个分支上,常用于保持历史记录的线性。变基与合并不同,变基会重新写历史:
git rebase branch-name -
如果在变基时遇到冲突,类似于合并冲突的解决过程,解决后继续变基:
git rebase --continue
10.查看分支与远程仓库分支建立的关联关系
列出所有本地分支,并显示每个分支最后一次提交的信息以及它们所跟踪的远程分支
git branch -vv
分支管理最佳实践
- 主分支稳定:
main或master分支应保持稳定,只有在代码经过充分测试后才合并到主分支。 - 特性分支:每个功能或 bug 修复应该在一个独立的分支上进行开发,避免影响主分支。
- 频繁提交和推送:保持分支间的同步,以减少合并冲突。
- 代码审查和 pull request:在合并前通过 pull request 进行代码审查,以确保代码质量。
Git 的分支管理为团队开发提供了强大的工具,通过合理使用分支,开发者可以高效地管理多个任务,并确保代码的稳定性和可维护性。
相关文章:
git 的分支管理详解
Git 的分支管理是其强大功能之一,允许开发者在同一代码库中并行开发多个特性或修复 bug,而不干扰主分支的代码。下面是对 Git 分支管理的详解: 1. 查看分支 查看所有分支 git branch # 查看本地分支 git branch -r # 查看远程分支 git br…...
w003基于Springboot的图书个性化推荐系统的设计与实现
🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹赠送计算机毕业设计600个选题excel文…...
医院信息化与智能化系统(6)
医院信息化与智能化系统(6) 这里只描述对应过程,和可能遇到的问题及解决办法以及对应的参考链接,并不会直接每一步详细配置 如果你想通过文字描述或代码画流程图,可以试试PlantUML,告诉GPT你的文件结构,让他给你对应的…...
前端学习---(6)js基础--4
Promise Promise 是异步编程的一种新的解决方案和规范。 Promise优点: 1、可以很好地解决ES5中的回调地狱的问题(避免了层层嵌套的回调函数)。 2、统一规范、语法简洁、可读性和和可维护性强。 3、Promise 对象提供了简洁的 API,使得管理异步…...
241026-RHEL如何以root身份卸载Docker
在 RHEL 8.8 中,以 root 身份卸载 Docker 可以通过以下步骤完成: 停止 Docker 服务(如果已启动): sudo systemctl stop docker删除 Docker 包: 运行以下命令卸载 Docker 引擎及其依赖包(docker-…...
iPhone当U盘使用的方法 - iTunes共享文件夹无法复制到电脑怎么办 - 如何100%写入读出
效果图 从iPhone复制文件夹到windows电脑 步骤windows 打开iTunes通过USB连接iPhone和电脑手机允许授权iTunes中点击手机图标,进入到点击左边“文件共享”,在右边随便选择一个App(随意...)写入U盘:拖动电脑的文件&am…...
jenkins ssh 免密报错Host key verification failed.
jenkins 发布项目,ssh连接远程服务器时报错:Host key verification failed. 解决: 原因是生成的sshkey不是用的jenkins用户,所以切换用户到:jenkins重新生成sshkey su jenkins ssh-keygen -t rsa ssh-copy-id -i ~/…...
智能科学与技术(一级学科)介绍
智能科学与技术:探索智能的边界与未来 智能科学与技术的起源与发展学科定位与内涵学科范围与研究方向培养目标相关学科 在当今这个信息爆炸的时代,人工智能(AI)已经成为科技创新的重要驱动力。随着技术的不断进步,智能…...
iOS调试真机出现的 “__llvm_profile_initialize“ 错误
一、错误形式: app启动就崩溃,如下: Demo__llvm_profile_initialize:0x1045f7ab0 <0>: stp x20, x19, [sp, #-0x20]!0x1045f7ab4 <4>: stp x29, x30, [sp, #0x10]0x1045f7ab8 <8>: add x29, sp, #0x100x1…...
Android SELinux——neverallow问题处理(十六)
上一篇我们介绍了通过添加允许策略处理问题,这里我们主要来看一些 neverallow 策略问题该怎么处理。 一、neverallow介绍 遇到 neverallow 规则问题,千万别急着去注释/剔除里面原有的规则(原生的尽量别动)。增加 allow 规则是常见的解决办法,但是随着 android 版本的升级…...
Vue 关于路由
关于路由 路由的模式与区别 路由的两种模式: hashhistory 区别: 表象不同 hash 模式中,在地址里以 /#/ 分隔;history 模式中,地址里以 / 分隔。关于找不到当前页面发送请求的问题 history 模式会给后端发送一次请…...
香港海洋投资启动创新海洋牧场,领航全球海洋经济
香港,这座国际大都市,以其独特的地理位置和深厚的海洋文化底蕴,再次站在了全球海洋经济发展的前沿。近日,香港海洋投资发展有限公司(以下简称“香港海洋投资”)在万众瞩目中,正式宣布启动其创新…...
C/C++ 每日一练:二分查找
二分查找是一种高效的查找算法,用于在有序数组中定位目标元素的位置。它的核心思想是每次查找时将范围缩小一半。 题目要求 实现一个二分查找算法。给定一个递增排序的整型数组 arr 和一个目标值 target,编写一个函数 binarySearch,若 targe…...
Linux基础IO--重定向--缓冲区
1,为什么语言喜欢做封装? 我们先知道一个概念,显示器叫做字符设备,根据ACSLL码来打印数据,所以我们从键盘输入的 1234,在显示器看来就是一个一个的字符(1,2,3,4)而不是一千两百三十四: 下图输入字符类型数…...
Conda 安装与使用指南
Conda 是一个开源的软件包管理和环境管理系统,主要解决一个系统上同时要使用python2,python3等等多个python环境的切换问题,支持多种编程语言(如 Python、R 等),可以在 Windows、macOS 和 Linux 上运行。它…...
C++中获取硬盘ID的方法
在C++中,直接获取硬盘的ID(通常是硬盘的序列号或唯一标识符)并不是一项简单的任务,因为这通常涉及到低级的硬件访问,这通常是由操作系统或特定的硬件驱动程序管理的。标准C++库并没有提供直接访问硬盘ID的功能。 然而,可以通过以下几种方法来获取硬盘的ID: 操作系统特定…...
OpenRTP 传输增加OpenRTPServer
开源地址 最近增加了OpenRTPServer, 已经修改完成一版放在了目录下,window和linux下编译都成功了,不过由于修改代码CMakefile 需要修改,先放放 OpenRTP开源地址 vlc得纠错传输方式 我发现我代码写错以后,vlc 依然能…...
使用vue3+cesium+earthsdk+supermap实现通视分析(有版本报错问题)
main.js: 这个文件是项目的入口文件,主要进行了以下操作: 使用Vue 3的createApp创建应用实例。加载了element-plus UI 组件库。加载了router和store,以及axios用于发送HTTP请求。将@turf/turf和自定义的bus.js注册到全局属性中,便于在组件中使用。环境配置需求: 你需要安…...
python 轮子是什么
此一词语的由来是因为轮子由人类所发明,且在各方面都带来许多便利。既然轮子已被发明,而且在使用上没有什么缺陷,重新再发明一次轮子是没有意义的,只是浪费时间,分散研究者的资源,使其无法投入更有意义及价…...
农作物大豆病虫害识别分类数据集(猫脸码客第227期)
农作物大豆病虫害识别分类数据集 大豆,作为全球重要的粮食作物之一,不仅承载着人类饮食中的重要角色,还深刻影响着农业经济的发展。然而,大豆的生长过程中,常常面临着来自病害和虫害的双重威胁。这些病虫害不仅会影响…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...
数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !
我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...
stm32wle5 lpuart DMA数据不接收
配置波特率9600时,需要使用外部低速晶振...
