如何将新更改推送到git主存储库?

如何将新更改推送到git主存储库?,git,push,atlassian-sourcetree,Git,Push,Atlassian Sourcetree,我在本地服务器上做了一些更改,希望将其推送到主存储库。这通常可以正常工作,但这次我收到一条错误消息: 推动 ! [被拒绝]船长 ->主(先提取)错误:无法将某些引用推送到“”提示:更新被拒绝,因为 远程包含您所做的工作提示:本地没有。这是 通常由另一个存储库将提示推送到同一个ref引起。 您可能希望首先集成远程更改提示:(例如,'git 拉…),然后再推。提示:请参阅“关于的注释” 有关详细信息,请参阅“git推送-帮助”中的“快进”。完成 错误,请参见上文 如果更改了遥控器,就会发生这种情况。

我在本地服务器上做了一些更改,希望将其推送到主存储库。这通常可以正常工作,但这次我收到一条错误消息:

推动 ! [被拒绝]船长 ->主(先提取)错误:无法将某些引用推送到“”提示:更新被拒绝,因为 远程包含您所做的工作提示:本地没有。这是 通常由另一个存储库将提示推送到同一个ref引起。 您可能希望首先集成远程更改提示:(例如,'git 拉…),然后再推。提示:请参阅“关于的注释” 有关详细信息,请参阅“git推送-帮助”中的“快进”。完成 错误,请参见上文


如果更改了遥控器,就会发生这种情况。还有其他人也在做你的项目吗?或者您是否有任何可能影响master的构建脚本

使用
git stash
保存本地更改。 使用git pull从遥控器中拉出更改 然后使用
git stash pop
收回您的工作。 现在您可以正常地继续使用
git提交
git推送


如果您100%确定本地的工作包含所需的更改,您也可以使用
git push--force
,但要小心,因为它会覆盖远程上的任何更改。

在repo上有一些本地没有的工作(
git pull
it)是,我正在另一台imac上工作,也在这个项目上。但现在我只在笔记本电脑上工作。所以我不想要imac的旧东西,我只想要从笔记本电脑到主机的所有东西谢谢你的建议。我很担心我所有的本地工作都会被覆盖如果我理解正确你想用你笔记本电脑上的东西覆盖master中的所有东西,对吗?如果你想让你的笔记本电脑上的所有东西都和它现在在master中的样子一模一样,那么使用git push--force这将强制你的推送,而忽略其中存在的奇怪差异。是的,很简单!好的,我现在就测试它!谢谢,一切都很好!非常感谢。