git push:合并时以下文件中的本地更改将被覆盖

3
我在使用Git进行项目开发时遇到了一些问题。我使用的是非裸仓库。
提交本地更改后,当我运行以下命令时:
git status

我得到了以下信息:
“您的分支比‘origin/master’领先1个提交。”
这没有什么问题。但是当尝试将本地提交的更改推送到远程仓库时,使用以下命令:
git push origin master

我正在遇到以下错误信息:

分支 master -> FETCH_HEAD 错误:你的本地更改将被合并覆盖。在合并之前,请提交你的更改或将它们存储起来。中止操作

当我运行时:
git status 

之后我得到了以下信息:

你的分支已经是最新的,与“origin/master”一致。

然而,当我查看我的远程仓库时,这些更改并没有真正被拉取。
很多人都遇到了相同的问题,但通常是在拉取请求之后,这似乎更有意义,而不是在推送之后。此外,我没有要提交的修改。

请不要将小写命令大写(例如,写 git 而不是 Git)。 - jub0bs
你的远程代码库是怎么设置的?我猜它不是一个裸库。 - Hasturkun
你说得对!我刚刚检查了一下(通过运行“git rev-parse --is-bare-repository”),它不是裸仓库(之前的命令返回“false”)。 - MiGU
我曾有一个理论,但最终证明是错误的(我无法复制您的问题)。您在远程存储库上设置了任何钩子吗?您使用哪个版本的git? - Hasturkun
2个回答

0
我知道这可能是一个简单而明显的问题,但是你试图推送到主分支的分支是什么?你是否在本地工作于主分支?如果你在本地的另一个不是主分支的分支上工作,你的推送将忽略当前分支的更改。

0

我知道我已经问了这个问题有一段时间了,但问题与我从未听说过的一个同事在远程库设置的钩子有关。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接