git - 我在 git repo 中更改了一个没有其他人更改的文件,但是当我推送它时它会抱怨 - 为什么?
问题描述
显示的错误消息是“更新被拒绝,因为远程仓库包含您没有的工作。” 我会认为如果特定文件没有被其他人更改,那么该文件的推送会成功——为什么 Git 会这样工作?
我想这个问题的核心是我是否理解正在发生的事情——Git 是否真的像我理解的那样工作,这是对 repo 中任何文件的更改阻止用户推送提交,即使提交中的文件不是也被另一个用户更改。这对我来说是令人惊讶的部分,因为如果仅在(由另一个或多个用户)对提交中的文件进行更改时拒绝推送,它似乎也可以正常工作(甚至更好)。
解决方案
您的标题说which no one else changed
,但这里可能的情况是,实际上其他人已将新提交推送到您当前正在处理的远程分支。解决这个问题的典型方法是只做一个git pull
:
# from your branch
git pull origin your_branch
这将从远程带来更改。解决任何可能的合并冲突后,您可以提交您的工作,然后推送应该可以工作。
推荐阅读
- tensorflow - Tensorflow 子类化问题
- node.js - libreoffice-convert 在 nodejs 中不起作用
- python - 熊猫阅读颜色
- kubectl - 打印 Kubernetes 中当前上下文的命名空间
- html - 如何摆脱单击 div 后出现的黑色默认边框?
- email - django rest-auth 注册返回“已发送验证电子邮件”,但没有发送电子邮件,也没有发送/返回密钥
- php - “除以零”PHP
- javascript - 将带有嵌套引号的命令字符串解析为参数和标志
- datetime - 如何在 LogicApp 中更改英国日期格式
- javascript - 如何获取正确的单元格并显示事件信息?