非快进推送(non-fast-forwardupdates)在远程版本库和当前版本库内容不一致时推送所致,引起原因一般为在多成员协同工作下,其他用户在当前用户版本库上次commit和本次commit之间向远程版本库执行了推送所致。
出现非快进式推送的日志:
图1
这是我们可以查看远程版本库和当前版本库的commit哈希值。
进入到.git目录下查看本地版本库最新commit信息:
图2
查看远程版本库commit信息:
图3
可以发现二者的不同,即出现了“非快进式推送”。
解决方式:
-
强制推送。
强制推送。
使用gitpush origin master –force或gitpush origin master -f。
但是这种方式存在覆盖掉其他人提交的危险,当确定不会影响到其他人提交的情况下可以使用,比如使用gitcommit –amend修改提交日志等情况。
-
首先执行pull,继续Push,即合并后推送。这才是多成员协同工作推荐的方式。
gitpull
gitpush origin master
其它
当然,在团队协作管理中,也可以禁止非快进式推送,可以通过变量receive.denyNonFastForwards或是通过钩子脚本设置。
在Ubuntu Server上安装Git http://www.linuxidc.com/Linux/2009-06/20421.htm
服务器端Git仓库的创建(Ubuntu) http://www.linuxidc.com/Linux/2011-02/32542.htm
Linux下Git简单使用教程(以Android为例) http://www.linuxidc.com/Linux/2010-11/29883.htm
Git权威指南 PDF高清中文版 http://www.linuxidc.com/Linux/2013-10/91053.htm
Git 的详细介绍:请点这里
Git 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-07/104474.htm