本地没有任何修改,只是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

相关文章

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

IDEA中新建/切换Git分支的实现步骤

《IDEA中新建/切换Git分支的实现步骤》本文主要介绍了IDEA中新建/切换Git分支的实现步骤,通过菜单创建新分支并选择是否切换,创建后在Git详情或右键Checkout中切换分支,感兴趣的可以了... 前提:项目已被Git托管1、点击上方栏Git->NewBrancjsh...2、输入新的分支的

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

SpringSecurity显示用户账号已被锁定的原因及解决方案

《SpringSecurity显示用户账号已被锁定的原因及解决方案》SpringSecurity中用户账号被锁定问题源于UserDetails接口方法返回值错误,解决方案是修正isAccountNon... 目录SpringSecurity显示用户账号已被锁定的解决方案1.问题出现前的工作2.问题出现原因各

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存