本地没有任何修改,只是git pull时,显示git ahead of ‘origin/master‘ by * commits

2023-12-20 21:08

本文主要是介绍本地没有任何修改,只是git pull时,显示git ahead of ‘origin/master‘ by * commits,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • TL;DR
  • 问题
  • 原因
  • 解决方案

TL;DR

本地没有更改,只是从远程pull,但是显示Your branch is ahead of ‘origin/master’ by 3 commits.
原因是从远程更新了本地的master 分支,但是没有更新本地的追踪分支 origin/master, 解决方案是运行:

git fetch

让本地追踪分支(tracing branch)和远程同步
太长不看版到此结束,以下是具体原因和发现问题的经过。

问题

从服务器或者github clone下来之后,在本地还没有add commit等操作之前,发现remote有更新。
但是:

> git pull origin master
> Your branch is ahead of 'origin/master' by 3 commits.

原因

目前大家碰到的主要原因都是:本地有了修改添加提交等操作,所以理所应当的ahead远程分支。这个解决方案没啥好解决的,该push就push。

实际的问题在与我本地没有提交。
找了一些答案总不得要领,最后在这个链接找到了提示,虽然这个解题过程并不对,但是给了一个正确解决方案和重要的提示:

git fetch # 解决本次问题
git pull # 以后不要用 git pull origin master

方法应该是可行的,但是:

  1. git fetch 做了什么,git pull origin master 不是 fetch 加 merge吗?
  2. git pull 和 git pull origin master 有什么不同。

从这两个角度找答案,最终理清了整个事情。
相似问题参考
git pull 等的区别

'origin/master 并不是远程分支,而是追踪远程分支的一个本地分支
当 git pull 的时候,会git fetch 更新 origin/master这个本地分支让它和服务器一致,另一方面会merge 本地的master分支。
但是git pull origin master的时候,只会更新本地的master 分支,而origin/master 这个老的tracing分支,他并没有被更新,也就会提示ahead了。

至于 git pull 和git pull origin master,git pull 没有指定分支,所以tracing branch也会从服务器拉下来。

解决方案

git fetch

这篇关于本地没有任何修改,只是git pull时,显示git ahead of ‘origin/master‘ by * commits的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/517509

相关文章

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

IDEA和GIT关于文件中LF和CRLF问题及解决

《IDEA和GIT关于文件中LF和CRLF问题及解决》文章总结:因IDEA默认使用CRLF换行符导致Shell脚本在Linux运行报错,需在编辑器和Git中统一为LF,通过调整Git的core.aut... 目录问题描述问题思考解决过程总结问题描述项目软件安装shell脚本上git仓库管理,但拉取后,上l

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放

Git进行版本控制的实战指南

《Git进行版本控制的实战指南》Git是一种分布式版本控制系统,广泛应用于软件开发中,它可以记录和管理项目的历史修改,并支持多人协作开发,通过Git,开发者可以轻松地跟踪代码变更、合并分支、回退版本等... 目录一、Git核心概念解析二、环境搭建与配置1. 安装Git(Windows示例)2. 基础配置(必

Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧

《Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧》本文将通过实际代码示例,深入讲解Python函数的基本用法、返回值特性、全局变量修改以及异常处理技巧,感兴趣的朋友跟随小编一起看看... 目录一、python函数定义与调用1.1 基本函数定义1.2 函数调用二、函数返回值详解2.1 有返

Git打标签从本地创建到远端推送的详细流程

《Git打标签从本地创建到远端推送的详细流程》在软件开发中,Git标签(Tag)是为发布版本、标记里程碑量身定制的“快照锚点”,它能永久记录项目历史中的关键节点,然而,仅创建本地标签往往不够,如何将其... 目录一、标签的两种“形态”二、本地创建与查看1. 打附注标http://www.chinasem.cn

Nginx屏蔽服务器名称与版本信息方式(源码级修改)

《Nginx屏蔽服务器名称与版本信息方式(源码级修改)》本文详解如何通过源码修改Nginx1.25.4,移除Server响应头中的服务类型和版本信息,以增强安全性,需重新配置、编译、安装,升级时需重复... 目录一、背景与目的二、适用版本三、操作步骤修改源码文件四、后续操作提示五、注意事项六、总结一、背景与

使用Spring Cache本地缓存示例代码

《使用SpringCache本地缓存示例代码》缓存是提高应用程序性能的重要手段,通过将频繁访问的数据存储在内存中,可以减少数据库访问次数,从而加速数据读取,:本文主要介绍使用SpringCac... 目录一、Spring Cache简介核心特点:二、基础配置1. 添加依赖2. 启用缓存3. 缓存配置方案方案

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定

Java实现本地缓存的四种方法实现与对比

《Java实现本地缓存的四种方法实现与对比》本地缓存的优点就是速度非常快,没有网络消耗,本地缓存比如caffine,guavacache这些都是比较常用的,下面我们来看看这四种缓存的具体实现吧... 目录1、HashMap2、Guava Cache3、Caffeine4、Encache本地缓存比如 caff