【发布时间】:2018-06-14 11:27:34
【问题描述】:
我是 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
但没有活动的存储库。谢谢你的帮助!
【问题讨论】:
-
'git push -f' 应该可以解决问题,但是在重写远程存储库中存在的历史记录时必须小心,在大多数情况下,这被认为是不好的做法。
-
git reset --hardoverwritegit history这样它就不允许你推送了。你必须强制推送到 git。使用git push origin master -f
标签: git