如何恢复硬件并再次提交到服务器

时间:2018-06-14 11:27:35

标签: git

我是git新手,这就是我所做的: 我已经使用git hook工作ngnix服务器,我正在通过git push production master命令推送我的项目。

现在我将set1提交推送到服务器,稍后我会在计算机上将其恢复,所以我尝试再次推送以前的版本:set0

我的服务器回复我:

To ssh://website/var/repo/site.git ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'ssh://root@website/var/repo/site.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.

我现在该怎么办?我想在服务器上恢复我的set1更改。

我在服务器上的配置位于post-receive文件中: #!/bin/sh git --work-tree=/var/www/laravel --git-dir=/var/repo/site.git checkout -f

但没有活动存储库。谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

显示错误是因为由于上次提交不匹配,您的本地分支现在与服务器不同步。

因此,如果要在还原最后一次提交后进行推送,请使用以下命令:

  

git push production master -f

-f表示强制推送,无论提交哈希不匹配。

编辑:另外,在推动之前,您可以使用--force-with-lease更安全。

  

- force-with-lease有效地只允许你强制推送,如果没有其他人在过渡期间将更改推送到遥控器。它是 - 强制安全带。

如果您有兴趣进一步了解它,请阅读this相同

的美妙解释