我有一个git repo,我把它推到服务器上。然后我在服务器上设置了一个post-receive挂钩。我想检查它是否有效。我必须再次承诺,看它是否有效?我真的想在我试图建立这个设置时强行推动,而不是继续进行没有实际价值的提交。它不起作用,我只是不明白。
$ git push --force origin master
Everything up-to-date
答案 0 :(得分:5)
您需要推送较旧的提交才能实现此目的。例如,您可以使用此注释在当前HEAD之前推送提交:
git push --force origin HEAD^:master
在此之后,您可以再次推送HEAD提交:
git push origin master
但是,不要一直推动考虑手动调用挂钩。这通常更容易 - 但是当你认为一切正常时,不要忘记用实际推动进行测试。
答案 1 :(得分:2)
你可以使用一些肮脏的技巧:
git stash save && git push --force origin "stash@{0}:master" && git stash pop
这有三件事:
这将有效地将所有文件推送到远程,而无需创建本地提交。