使用 git 先提交后拉取的时候远程分支不允许问题
问题场景
修改本地代码使用 git 先提交后拉取的时候远程分支不允许的问题

- 修改本地代码时,远程分支存在其他新提交
- 先执行了
git commit -m 'xxx update' - 然后再执行
git pull拉取远程分支代码,出现如下提示
hint: You have divergent branches and need to specify how to reconcile them.
hint: You can do so by running one of the following commands sometime before
hint: your next pull:
hint:
hint: git config pull.rebase false # merge
hint: git config pull.rebase true # rebase
hint: git config pull.ff only # fast-forward only
hint:
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories. You can also pass --rebase, --no-rebase,
hint: or --ff-only on the command line to override the configured default per
hint: invocation.
fatal: Need to specify how to reconcile divergent branches.
问题解释
出现这种问题表明您的存储库中存在分歧的分支,这意味着不同的分支对同一份代码进行了不同的更改,Git 在尝试拉取更改时不知道如何协调它们。
为了协调这些分歧的分支,您需要在继续拉取操作之前选择提示消息中提供的选项之一。以下是各个选项及其含义:
-
合并(Merge):此选项将不同分支的更改合并到当前分支的新提交中。您可以通过运行以下命令启用此选项:
arduinoCopy code git config pull.rebase false -
变基(Rebase):此选项将一个分支的更改应用到另一个分支之上。它实际上是将分歧的提交移到当前分支的顶端。您可以通过运行以下命令启用此选项:
arduinoCopy code git config pull.rebase true -
仅快进(Fast-forward only):此选项允许 Git 仅在可能的情况下执行快进合并。如果由于分歧的分支而无法执行快进合并,则 Git 将不会自动合并更改,并需要手动干预。您可以通过运行以下命令启用此选项:
arduinoCopy code git config pull.ff only
选择最适合您工作流程和项目要求的选项。一旦您做出选择,就可以像往常一样继续进行拉取操作。
请记住,您可以使用 --global 标志以及 git config 来为所有存储库设置默认偏好,或者您可以通过在命令行中传递 --rebase、--no-rebase 或 --ff-only 来覆盖已配置的默认设置。
rebase false true区别
git config pull.rebase false 和 git config pull.rebase true 是用来配置 Git 在执行 git pull 命令时如何处理分支合并的方式,具体区别如下:
- git config pull.rebase false:
- 当您设置此选项时,Git 会使用合并(merge)策略来整合远程分支的变更到您的本地分支。
- 这意味着,执行
git pull后,Git 会尝试将远程分支的更改合并到您当前的分支上,并且可能会生成一个新的合并提交,以整合两个分支的更改。
- git config pull.rebase true:
- 当您设置此选项时,Git 会使用变基(rebase)策略来整合远程分支的变更到您的本地分支。
- 这意味着,执行
git pull后,Git 会尝试将您当前分支的提交应用到远程分支的最新提交之后,从而使您的提交历史线条更为线性。 - 使用变基策略通常会产生一个更为整洁的提交历史,因为它不会生成额外的合并提交。
综上所述,git config pull.rebase false 将使用合并策略,而 git config pull.rebase true 将使用变基策略。您可以根据您的项目需求和个人偏好来选择合适的方式。
pull.ff only 作用和场景
git config pull.ff only 是用来配置 Git 在执行 git pull 命令时限制合并方式的选项。它的作用和适用场景如下:
作用:
- 限制了
git pull命令只能执行快进合并(fast-forward merge)。 - 如果远程分支的最新提交是当前分支的祖先,那么执行
git pull时会自动进行快进合并,从而保持提交历史的线性。
适用场景:
- 当您确定在执行
git pull时不希望生成额外的合并提交时,可以使用此选项。 - 在确保在远程分支的变更不会导致冲突的情况下,可以启用此选项来保持提交历史的整洁和线性。
总的来说,git config pull.ff only 适用于那些希望保持提交历史线性,并且愿意放弃使用合并策略的场景,通常在团队中遵循一致的提交历史规范时会使用此选项。
查看 git config pull 配置
要查看 Git 配置中 pull 相关的设置,您可以使用以下命令:
git config --get pull.rebase
git config --global --get pull.rebase
这将显示 pull.rebase 的当前配置。如果该配置未设置,则不会有输出。
如果您想要查看所有与 pull 相关的配置,可以使用以下命令:
git config --get-regexp pull
这将列出所有以 pull 开头的配置项及其对应的值。
git config pull 设置成合并策略
要将 Git 的 pull 设置成合并策略,您可以执行以下命令:
# 单个配置
git config pull.rebase false# 全局配置
git config --global pull.rebase false
这将配置 Git 使用合并策略而非变基策略。这意味着在执行 git pull 命令时,Git 将会采用合并方式将远程分支的变更合并到本地分支。
相关文章:
使用 git 先提交后拉取的时候远程分支不允许问题
问题场景 修改本地代码使用 git 先提交后拉取的时候远程分支不允许的问题 修改本地代码时,远程分支存在其他新提交先执行了 git commit -m xxx update然后再执行 git pull 拉取远程分支代码,出现如下提示 hint: You have divergent branches and need…...
Unity 创建快捷方式开机自动启动
Unity 创建快捷方式自动启动 🌭食用方法 🌭食用方法 先导入插件包👈,再 把导入的ZYF_AutoRunApp.cs 挂到物体上即可。 using System; using System.Collections; using System.Collections.Generic; using System.IO; using Uni…...
什么是docker(docker客户端、镜像、容器、仓库)
一、docker Docker 是一个开源的容器化平台,它可以让开发者打包应用程序及其依赖项成为一个轻量级、可移植的容器,然后在任何环境中运行。Docker 容器将应用程序及其依赖项打包到一个标准化单元中,包括代码、运行时环境、系统工具、系统库等…...
[Python人工智能] 四十三.命名实体识别 (4)利用bert4keras构建Bert+BiLSTM-CRF实体识别模型
从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前文讲解如何实现中文命名实体识别研究,构建BiGRU-CRF模型实现。这篇文章将继续以中文语料为主,介绍融合Bert的实体识别研究,使用bert4keras和kears包来构建Bert+BiLSTM-CRF模型。然而,该代码最终结…...
Android Framework开发之Linux +Vim命令
一、linux常用命令 在Android源码开发中,Linux命令的运用是至关重要的。这些命令不仅帮助开发者有效管理文件、目录和系统资源,还能在源码编译、调试和排错过程中发挥关键作用。以下是对Android源码开发中常用Linux命令的更详细介绍: 当然可…...
MySQL 索引的10 个核心要点
文章目录 🍉1. 索引底层采用什么数据结构?为什么不用hash🍉2. B树与B树区别?为何用B树?🍉3. 自增主键理解?🍉4. 为什么自增主键不连续🍉5. Innodb为什么推荐用自增ID&…...
MaixSense-A010 接入 ROS
MaixSense 是什么 MaixSense 系列产品搭载 TOF 深度摄像头,目前有 MaixSense-A010 和 MaixSense-A075V 两款产品。 MS-A010 是一款由 BL702 炬佑 100x100 TOF 模组所组成的极致性价比的 TOF 3D 传感器模组,最大支持 100x100 的分辨率和 8 位精度&…...
使用WordPress在US Domain Center上建立招聘网站的详细教程
第一部分:介绍招聘网站 招聘网站是指用于发布招聘信息、吸引求职者、进行简历筛选和管理招聘流程的网站。在WordPress中,您可以轻松地创建一个功能齐全的招聘网站,以便企业能够方便地管理招聘流程,并为求职者提供信息和应聘渠道。…...
C++:类和对象(上篇)
目录: 一:面向对象和过程的介绍 二:类的引入 三:类的定义 四:类的访问限定符以及封装 五:类的作用域 六:类的实例化 七:类对象大小的计算 八:类成员函数的this指…...
氧化铝电容的工艺结构原理及选型参数总结
🏡《总目录》 目录 1,概述2,工作原理3,结构特点4,工艺流程4.1,材料准备4.2,氧化处理4.3,薄膜处理4.4,电极制作4.5,封装4.6,测试与筛选5,选型参数5.1,电容量(Capacitance)...
野火ESP8266模块开发-基于Arduino IDE
一、野火ESP8266模块介绍 ESP8266 拥有高性能无线 SOC,给移动平台设计师带来福音,它以最低成本提供最大实用性,为 WiFi 功能嵌入其他系统提供无限可能。ESP8266 是一个完整且自成体系的 WiFi 网络解决方案,能够独立运行࿰…...
[Qt学习笔记]Qt实现自定义控件SwitchButton开关按钮
1、功能介绍 在项目UI中使用较多的打开/关闭的开关按钮,一般都是找图片去做效果,比如说如下的图像来表征打开或关闭。 如果想要控件有打开/关闭的动画效果或比较好的视觉效果,这里就可以使用自定义控件,使用Painter来绘制控件。软…...
【工具】mac 环境配置
【待补充 】 一、maven配置 vim ~/.bash_profile export M3_HOME/Users/chenyang/java_utils/apache-maven-3.6.1 export PATH$PATH:$M3_HOME/bin //mvn -v提示Permission denied 没有权限访问 chmod ax /Users/chenyang/java_utils/apache-maven-3.6.1/bin/mvn 二、java…...
【前端寻宝之路】学习和总结HTML的标签属性
🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| 💫个人格言:“没有罗马,那就自己创造罗马~” 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不…...
kafka2.x版本配置SSL进行加密和身份验证
背景:找了一圈资料,都是东讲讲西讲讲,最后我还没搞好,最终决定参考官网说明。 官网指导手册地址:Apache Kafka 需要预备的知识,keytool和openssl 关于keytool的参考:keytool的使用-CSDN博客 …...
Linux和Windows下的文件批量重命名
一、Linux下文件批量重命名 rename命令说明: Usage: rename [options] … Rename files. Options: -v, --verbose explain what is being done -s, --symlink act on the target of symlinks -n, --no-act do not make any changes -o, --no-overwrite don’t overw…...
stm32之GPIO电路介绍
文章目录 1 GPIO介绍2 GPIO的工作模式2.1 浮空输入2.2 上拉输入2.3 下拉输入2.4 模拟输入2.5 开漏输出2.6 推挽输出2.7 复用开漏输出2.8 复用推挽输出2.9 其他 3 应用方式4 常用库函数 1 GPIO介绍 保护二极管:保护引脚,让引脚的电压位于正常的范围施密特…...
Unity Toggle处理状态变化事件
Toggle处理状态变化事件,有两个方法。 法一、通过Inspector面板设置 实现步骤: 在Inspector面板中找到Toggle组件的"On Value Changed"事件。单击""按钮添加一个新的监听器。拖动一个目标对象到"None (Object)"字段&am…...
UE5.1 iClone8 正确导入角色骨骼与动作
使用iClone8插件Auto Setup 附录下载链接 里面有两个文件夹,使用Auto Setup C:\Program Files\Reallusion\Shared Plugins 在UE内新建Plugins,把插件复制进去 在工具栏出现这三个人物的图标就安装成功了 iClone选择角色,导入动作 选择导出FBX UE内直接导入 会出现是否启动插件…...
FFmpeg-- c++实现:pcm和yuv编码
文章目录 流程音频视频 api核心代码audioencoder.haudioencoder.cppvideoencoder.hvideoencoder.cpp pcm和yuv编码为aac和h264,封装为c的AudioEncoder类和VideoEncoder类 流程 音频 初始化音频参数 int InitAAC(int channels, int sample_rate, int bit_rate); 音…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...
