【问题标题】:git push falsely claims 'Everything up-to-date'git push 错误地声称“一切都是最新的”
【发布时间】:2012-02-15 13:06:48
【问题描述】:

我已经配置了 git,以便我可以使用公钥通过 SSH 将本地开发存储库推送到我的 Web 服务器。服务器上的裸存储库设置了一个 post-receive 挂钩,可将所有文件检出到正确的位置。

这一切都很好,直到今天我手动更改了服务器上某些文件的权限。尝试命令后

git 推送网页

再次,它给了我很多权限错误,因为它无法访问远程存储库文件。所以我把权限改回原来的样子,然后再试一次。但是,现在它显示“一切都是最新的”,但我的服务器上还没有更新的版本。

我能做些什么来解决这个问题?

【问题讨论】:

    标签: git ssh git-push


    【解决方案1】:

    可能是由于您提到的权限问题,repo 已更新并且 post-receive 失败。最简单的修复方法是再提交一次并推送。或者在服务器上自己运行 post-receive。

    请注意,post-receive 不会影响推送的结果,因此即使推送失败,推送仍然会完成。这就是你观察这个的原因。

    【讨论】:

    • 澄清一下:“一切都是最新的”是 Git 说的,是的,你已经将最新的提交推送到这个裸存储库中。它与你的钩子没有任何关系,它只在推动改变事情后运行。你的 push 没有改变任何东西,所以你的 hook 没有运行,所以你的 web 服务器上没有任何东西被检查出来。
    • 谢谢,我所做的是手动运行 post-receive 钩子,然后复制丢失的文件。
    猜你喜欢
    • 2011-06-17
    • 2010-11-03
    • 2011-02-25
    • 2018-05-31
    • 1970-01-01
    • 2014-03-23
    • 2018-10-06
    • 2019-08-01
    • 1970-01-01
    相关资源
    最近更新 更多