【问题标题】:Couldn't merge origin/master: error: Your local changes to the following files would be overwritten by merge无法合并源/主:错误:您对以下文件的本地更改将被合并覆盖
【发布时间】:2015-12-03 10:35:52
【问题描述】:

我在本地对我的项目进行了一些更改和提交,但没有推送它们,然后我通过添加新文件和提交来更改 GitHub 中的文件。

当我尝试推送我的本地提交时,android studio 建议合并,但是当我尝试合并时,它给了我那个错误,无论我做什么都拒绝合并并向我显示该消息。

当我点击合并显示我。

错误信息:

我的日志:

我该怎么办?

【问题讨论】:

标签: git android-studio github merge


【解决方案1】:

您在执行合并时需要隐藏您的本地更改。为此,git 提供git stash 将您未提交的更改保存到临时位置,并提供git stash pop 将它们应用回您的本地代码。

这应该可行:

git stash
git pull origin master
git stash pop

这是一个了解 git 更多信息的好网站:http://gitready.com/beginner/2009/03/13/smartly-save-stashes.html

但是在查看您的屏幕截图后,合并似乎不是您的最佳选择。相反,rebase 会更有意义。

git stash
git pull --rebase origin master
git stash pop

这里有一些资源来了解合并和变基之间的区别:

【讨论】:

  • 非常感谢,rebase 方法效果很好,但是我没有完全理解发生了什么,但我会花更多时间学习 git。
  • 如果你能解释一下为什么首先会出现这个问题,所以我没有再次陷入困境。
  • 问题首先出现是因为您在本地有尚未提交的更改。您可以通过运行 git status 来查看这些内容。
  • 如果本地有未提交的更改,则无法运行合并和变基。
  • @seanlinsley 这个答案是这个网站上最好的答案之一。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2016-01-27
  • 2014-10-25
  • 2012-03-24
  • 2021-04-24
  • 2015-10-01
  • 2016-03-30
  • 2014-04-20
  • 1970-01-01
相关资源
最近更新 更多