强制让远程分支与本地分支匹配 - Git

5

我的 Openshift 仓库出现了错误,现在我需要重新上传项目,但是当我这样做时

git commit -am "some text"
git push

我收到了“一切都是最新的”的消息,现在我想知道如何强制使用本地版本替换Openshift使用的远程版本。
我看到人们正在谈论制作项目的“裸”版本,但我不知道他们在说什么,而且我对Git并不是很熟悉,所以我不敢轻易尝试很多东西,因此一个不错的“即用型”解决方案会很好。


编辑

如评论所建议,我尝试了“git push -f origin master”,但结果相同。

这是我的命令提示符的屏幕截图:image


1
git push -f <the_remote_repo> <some references> 强制更改 remote_repo 中提到的引用。 - user3159253
1
我想在你的情况下,git push -f origin master 应该可以解决问题。 - user3159253
2个回答

14
您正在寻找git push -f origin branch-name命令。请参阅我在Stack Overflow上的另一个答案,了解git强制推送的工作原理这里

3

情况非常明确。您尚未创建任何新提交,因此没有可推送的内容。请看这个 Nothing to commit, working directory clean

如果您确实需要创建一个空提交,可以使用git commit --allow-empty -m "empty commit"。但我建议您创建一个新文件或更改现有文件,并提交更改。之后,您可以使用git log检查提交是否已经创建。然后,您可以使用git push origin master重新尝试推送,我相信这次您会成功。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接