我通过Git Online编辑了我的GIT存储库.我尝试推送本地代码更改后,出现错误:
Git push failed, To prevent from losing history, non-fast forward updates were rejected.
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
小智 83
如果您确定要推送,请在命令行中添加--force.例如使用git push origin --force(我建议使用命令行,因为您可以通过命令行找到其他用户的更多支持.使用SmartGit可能无法实现这一点.)有关详细信息,请访问此站点:http://help.github.com/遥控器/
小智 21
在推送之前,使用rebase选项进行git pull.这将获得您在线(在您的原点)所做的更改并在本地应用它们,然后在其上添加您的本地更改.
git pull --rebase
Run Code Online (Sandbox Code Playgroud)
现在,你可以推送到远程
git push
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅Git rebase解释和第3.6章Git分支 - 重新定位.
小智 14
我遇到了同样的错误,只需在命令中添加"--force"即可
git push origin master --force
Run Code Online (Sandbox Code Playgroud)
小智 6
您可以将--force-with-lease添加到命令中,它将起作用。
git push --force-with-lease
Run Code Online (Sandbox Code Playgroud)
--force是破坏性的,因为它无条件地用您本地拥有的任何内容覆盖远程存储库。但是--force-with-lease确保您不会覆盖其他人的工作。
在此处查看更多信息。
我遇到了同样的问题。
原因是,我的本地分支不知何故丢失了对远程对应方的跟踪。
后
git branch branch_name --set-upstream-to=origin/branch_name
git pull
Run Code Online (Sandbox Code Playgroud)
并解决合并冲突,我能够推动。
| 归档时间: |
|
| 查看次数: |
171446 次 |
| 最近记录: |