【问题标题】:git push: local changes to the following files would be overwritten by mergegit push:对以下文件的本地更改将被合并覆盖
【发布时间】:2015-10-01 22:32:05
【问题描述】:

我正在使用 Git 进行项目时遇到一些问题。我为此使用了一个非裸存储库。

提交一些本地更改后,当我运行时:

git status

我明白了:

您的分支比“origin/master”早 1 个提交。

这没有错。但是当尝试将本地提交的更改推送到远程存储库时:

git push origin master

我收到下一条错误消息:

Branch master -> FETCH_HEAD 错误:您的本地更改为以下 文件将被合并覆盖。请提交您的更改或 在合并之前把它们藏起来。中止

当我跑步时

git status 

之后我得到:

你的分支是最新的'origin/master'

但是,当我查看远程存储库时,并没有真正提取这些更改。

很多人都遇到过同样的问题,但总是在拉取请求之后从来没有,这似乎更有意义,从来没有在推送之后。另外,我没有任何承诺。

【问题讨论】:

  • 请不要大写小写命令(例如写git,而不是Git)。
  • 您的远程存储库是如何设置的?我猜这不是一个简单的回购。
  • 你是对的!我刚刚检查了它(通过运行'git rev-parse --is-bare-repository'),它不是(上一个命令返回'false')
  • 我的理论结果是错误的(我未能复制您的问题)。您是否在远程存储库上设置了任何挂钩?你用的是哪个版本的 git?

标签: git git-push


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我知道这可能是一个简单而明显的问题要问你,但是,你试图推送到 master 的分支是什么?你在本地的主分支工作吗?如果你在本地不是master的另一个分支,你的push会忽略当前分支的变化。

    【讨论】:

      猜你喜欢
      • 2016-01-27
      • 2014-10-25
      • 1970-01-01
      • 2021-04-24
      • 2012-03-24
      • 2013-08-31
      • 2015-12-03
      • 2014-10-03
      • 2015-08-01
      相关资源
      最近更新 更多