github - 从 GitHub 拉取时出错

标签 github

我尝试从 GitHub 中提取一个我正在协作的项目,但收到以下错误:

your local changes to the following files would be overwritten by merge

我尝试通过以下方式合并: git mergetool {文件路径}

但它只是响应“文件不需要合并”。

如果我尝试先推送更改,我会收到:

To prevent you from losing history, non-fast-forward updates were rejected.

我可能缺少什么?

最佳答案

您在问题中引用了以下错误消息:

your local changes to the following files would be overwritten by merge

此错误消息本质上是说 git 正在阻止您丢失工作。您的工作树中有一些尚未提交的更改,并且拉取将修改这些文件 - 这可能最终导致您丢失本地更改。一旦您提交了对这些文件的更改,拉取就会起作用。 (或者,您可以跳过 git pull 的“获取”阶段,只运行 git merge origin/master 再次尝试合并阶段。) Martin Ogden's answer给出了使用 git stash 作为替代方案的示例,如果您尚未准备好提交工作,则更适合。

后一个错误消息是:

To prevent you from losing history, non-fast-forward updates were rejected.

基本上,只有当您要推送的提交已经包含您要推送到的分支的历史记录时,您才可以推送。通常的解决方案是先拉。这是另一个阻止您丢失工作的错误消息 - 您(通常)不会希望清除其他人推送到该分支的工作。

关于github - 从 GitHub 拉取时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7545307/

相关文章:

git: 'lfs' 不是 git 命令不清楚

git - 忽略 git 目录

git - 如何处理实验性非 merge git 分支?

maven - 在 github 上托管 Maven 存储库

azure - 如何让Azure访问私有(private)Github?

推送到远程时,Git 不会使用第二组凭据

github 组织、存储库和用户访问

git - 无法将提交推送到 GitHub

python - SciPy 源代码 - 找不到导入的模块

http - 为什么浏览器不遵循呈现的 GitHub README.md 上图像资源的 HTTP 302 重定向?