本地修改后,git pull 提示“请在合并前提交或贮藏您的修改”怎么办?

news/2024/11/18 6:47:00/

如果我们在本地工作区作了修改,但还没有提交或者暂存,那么当执行 git pull 同步远程仓库时,会出现类似如下的提示:

更新 3f0ce92..65e1b98
error: 您对下列文件的本地修改将被合并操作覆盖:CMakeLists.txtdemo/demo_online.cppsrc/common/version.hppsrc/driver/decoder/decoder.hpp
请在合并前提交或贮藏您的修改。
正在终止

这种情况通常出现在多人协同开发中,由于别人修改了文件并且提交到远程仓库,同时你也修改了此文件并且没有 add 和 commit,然后你想在 pull 或 merge 远程仓库时就会出现此提示。

执行 git status 命令,查看此时的仓库状态,输出可能如下:

$ git status
位于分支 master
您的分支落后 'origin/master'5 个提交,并且可以快进。(使用 "git pull" 来更新您的本地分支)尚未暂存以备提交的变更:(使用 "git add <文件>..." 更新要提交的内容)(使用 "git restore <文件>..." 丢弃工作区的改动)修改:     CMakeLists.txt修改:     demo/demo_online.cpp修改:     src/common/version.hpp修改:     src/driver/decoder/decoder.hpp未跟踪的文件:(使用 "git add <文件>..." 以包含要提交的内容)CMakeLists.txt.user修改尚未加入提交(使用 "git add" 和/或 "git commit -a"

如果不想舍弃对本地的修改,就需要在合并前提交或贮藏你的修改。而贮藏修改,就要用到 git stash 命令。

操作步骤如下:

  • 首先,执行 git stash,将本地工作区备份(即放入 Git 存储堆栈中),此时当前工作目录和暂存区是干净的,恢复到上一个提交的状态;
  • 然后,使用 git pull 或者 git merge 命令拉取最新修改;
  • 最后,执行 git stash pop 取出备份,这个过程自动合并。如果成功,则自动将此备份从暂存区中删除;如果有冲突,则需要手动解决冲突,然后执行 git stash drop 从存储堆栈中移除该储藏项。

请注意,执行 git stash drop 命令后,储藏项中的更改将无法恢复。如果你仍然需要这些更改,请在删除储藏项之前使用 git stash apply 命令或 git stash pop 命令将其应用到工作目录。


http://www.ppmy.cn/news/988159.html

相关文章

windows版docker部署springcloud项目

材料&#xff1a; 1.windows版docker环境&#xff08;其他版教程可能道理一样但是比如文件后坠名上可能有差异&#xff09; 2.运行好的数据库容器&#xff08;实现教程&#xff09; 3.所有jar包 实现&#xff1a; 最后整好的文件夹结构图&#xff08;原工程文件机密&#xf…

Matlab的SimuLink对FS32K144编程--内部数据存储Flash

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ 前言 Flah擦写是由寿命的&#xff0c;应当减免无效的擦写&#xff0c;如数据值不变不进行擦写 1、新建工程完成后&#xff0c;拖出Flash的存储控制初始化…

Elasticsearch:使用 ELSER 释放语义搜索的力量:Elastic Learned Sparse EncoderR

问题陈述 在信息过载的时代&#xff0c;根据上下文含义和用户意图而不是精确的关键字匹配来查找相关搜索结果已成为一项重大挑战。 传统的搜索引擎通常无法理解用户查询的语义上下文&#xff0c;从而导致相关性较低的结果。 解决方案&#xff1a;ELSER Elastic 通过其检索模型…

Javascript -- 数组prototype方法探究

一、数组prototype方法探究 1、不改变原数组 1. concat() 这个是数组拼接方法&#xff0c;可以将两个数组或多个数组拼接并返回一个包含两个数组或多个数组内容的新数组&#xff0c;不会改变原数组 方法里面理论上可以写入n个参数&#xff0c; const arr [1,2]; var str …

Spring AOP 的概念及其作用

一、什么是 Spring AOP&#xff1f; 在介绍 Spring AOP 之前&#xff0c;首先要了解一下什么是 AOP &#xff1f; AOP &#xff08; Aspect Oriented Programming &#xff09;&#xff1a;面向切面编程&#xff0c;它是一种思想&#xff0c; 它是对某一类事情的集中处 理 。…

SQL server 简介

SQL server 简介 学习目的 SQL Server 是由微软公司开发的一种关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;用于存储和检索数据。它提供了一个可扩展的、安全的和可靠的数据存储和管理解决方案。 SQL Server 主要用于构建企业级应用程序&#xff0c;支持…

软考A计划-系统集成项目管理工程师-项目质量管理-中

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

网络防御之IDS

1. 什么是IDS&#xff1f; IDS是入侵检测系统&#xff0c;一种对于网络传输进行及时监视&#xff0c;在发现可疑的传输时发出警报或者采取主动反应措施的网络安全设备。IDS是一种积极地主动的防御技术。 2. IDS和防火墙有什么不同&#xff1f; 防火墙是一种隔离并过滤非授权用…