Git配置错误?

Git配置错误?,git,config,Git,Config,发现了一个我在谷歌上找不到的奇怪问题 如果我正在处理Branch-A,且原点位于Branch-A,则执行推/拉操作会将更新的文件显示为原点上的修改文件。更奇怪的是,修改后的文件与更新不同,它显示的是旧代码(或者如果是新文件,则在源代码上显示该文件已被删除) 这意味着我必须做一个git拉取,重置头部[文件],然后签出——所说的文件。我猜当origin branch=local branch时,conf文件中缺少更新分支的内容 谢谢您可以尝试清除缓存 git rm -r --cached . git

发现了一个我在谷歌上找不到的奇怪问题

如果我正在处理Branch-A,且原点位于Branch-A,则执行推/拉操作会将更新的文件显示为原点上的修改文件。更奇怪的是,修改后的文件与更新不同,它显示的是旧代码(或者如果是新文件,则在源代码上显示该文件已被删除)

这意味着我必须做一个git拉取,重置头部[文件],然后签出——所说的文件。我猜当origin branch=local branch时,conf文件中缺少更新分支的内容


谢谢

您可以尝试清除缓存

git rm -r --cached .
git add .
git commit -am 'clear git cache'
git push

找到了解决方案-错误的原因是因为origin是一个非裸机回购,使用裸机设置将origin移动到自己的服务器,然后在本地克隆为非裸机,现在一切正常。

我很确定这不是原因。Git不太关心远程回购是否是裸的(除非您试图远程删除远程非裸端当前已签出的分支…)。您提供的描述听起来像是配置错误的跟踪分支,没有通过拉刷新,或者配置错误的高级拉选项以某种方式跳过了合并阶段。保存您案例的是您所做的“从头克隆”:您获得了默认的推/拉设置,并且获得了全新的跟踪分支。不管怎么说-这很好你设法解决了:)这似乎是-我调查了一下,它不喜欢在裸回购中有文件,将原点移动到裸单个回购,然后使用本地非裸回购中的文件似乎已经解决了它,这可能与跟踪设置有关-我会调查你的想法,看看是否可能如你所说,原因不是裸/非裸修复:)如果你手头仍然有旧的回购,请检查它的
.git/config
文件,并将其与新的裸回购的
.git/config
进行彻底比较。查找全局和分支部分中的差异。此外,-它提到了一个有点奇怪的
pull.ff
标志,它阻止pull进行任何合并,除非它们是快进的。如果您启用了它,那么仅此一项就可能导致您的“分支”不断落后于远程状态,即使“源/分支”跟踪分支工作正常。