如何用 git push 覆盖,覆盖对 git 服务器的更改?

Posted

技术标签:

【中文标题】如何用 git push 覆盖,覆盖对 git 服务器的更改?【英文标题】:how to overwrite with a git push, overwrite changes to the git server? 【发布时间】:2012-02-11 23:02:43 【问题描述】:

我们正在将构建推送到 heroku,并希望在不引入最新更改的情况下推送。我基本上使用 github 存储库作为我的源代码控制存储库,并从几台不同的机器推送到 git heroku 存储库。由于我们有一些构建服务器推送到同一个 heroku 存储库,因此有时从构建服务器推送最新位会抛出一条消息,说我需要在提交和推送之前提取最新信息。

但是,由于来自构建服务器的代码保证是最新的,所以我想丢弃来自拉取的更改,只提交和推送文件而不进行合并。

有没有办法做到这一点?有关如何最好地设置它的任何其他建议?

【问题讨论】:

【参考方案1】:

只做git push -f(强制推送)

推送到 heroku 可能是 git push -f 的有效用例之一,但仍要小心并了解您在做什么。

【讨论】:

“小心”的一部分是“确保自从你的‘坏’推后没有人拉过。”如果有人拉了“原始”历史,那么当他们拉“修订”历史时,可能会发生糟糕的坏事。

以上是关于如何用 git push 覆盖,覆盖对 git 服务器的更改?的主要内容,如果未能解决你的问题,请参考以下文章

git 要commit之前先pull, 这样做法合理吗?

如何用vscode的git功能往github上传代码

git 如何撤销已push的代码

ssh链接git服务器,解决push pull要求输入密码问题

eclipse git历史记录被覆盖怎么恢复

git pull会把本地未提交修改覆盖吗?