git - 在 SourceForge 上强制 Git 推送

标签 git version-control git-push sourceforge

我正在尝试回滚 SourceForge 上的 Git 存储库。我尝试了以下方法:

git reset --hard 9ac2e31ca4a155d4c36780b4329626045a7f40ed
HEAD ist jetzt bei 9ac2e31 Fix warnings


git push -f origin master
Total 0 (delta 0), reused 0 (delta 0)
remote: error: denying non-fast-forward refs/heads/master (you should pull first)
To ssh://user@git.code.sf.net/p/project/code
 ! [remote rejected] master -> master (non-fast-forward)
error: Fehler beim Versenden einiger Referenzen nach 'ssh://user@git.code.sf.net/p/project/code'

如何覆盖远程 SourceForge Git 存储库的 master 分支?

最佳答案

由于 denyNonFastforwards 是服务器端配置,您需要以某种方式访问​​ SourceForge 端的存储库。

作为您的 ticket mentions , 这是用 interactive shell service 完成的,但这假设您可以使用 ssh 打开安全 shell。

Running "sf-help --scm" in the shell will show you your repo paths.
Just tweak the denyNonFastforwards = true to false for a bit, do your push, and then set it back to true (for safety).

但是,像“ssh:连接到主机 shell.sourceforge.net 端口 22:连接被拒绝”这样的消息可能意味着:

  • 它可能在客户端被阻止(检查您是否可以通过 SSH 连接到其他服务,例如 GitHub,即使它不是交互式 session )
  • 或者它可能是 SourceForge 端(但他们的 status page doesn't report any recent incident)中断的结果

仔细检查 SourceForge SSH documentation .

关于git - 在 SourceForge 上强制 Git 推送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31640933/

相关文章:

具有 ssh 访问权限的共享主机上的 Git 存储库 - 多个用户/一个 ssh 帐户

Git:当完全相同的冲突再次发生时,我可以 "cherry-pick" merge 冲突解决方案吗?

git - 通过重命名其中一个文件来解决 git merge 冲突

version-control - 自创的 NuGet 包应该放在版本控制中吗?

java - 如何查看java源代码的修订历史

Git - 排除特定的提交和推送

git - Git 推送到 Azure 的身份验证失败

Git pull ,致命 : loose object

version-control - 如何从TFS删除从工作副本中删除的所有文件?

git - Heroku:如何将不同的本地 Git 分支推送到 Heroku/master