感谢支持
我们一直在努力

Git协同工作之——非快进式推送

非快进推送non-fast-forwardupdates)在远程版本库和当前版本库内容不一致时推送所致,引起原因一般为在多成员协同工作下,其他用户在当前用户版本库上次commit和本次commit之间向远程版本库执行了推送所致。

出现非快进式推送的日志:

1

这是我们可以查看远程版本库和当前版本库的commit哈希值。

进入到.git目录下查看本地版本库最新commit信息:

2

查看远程版本库commit信息:

3

可以发现二者的不同,即出现了“非快进式推送”。

解决方式:

  1. 强制推送。

使用gitpush origin master –forcegitpush origin master -f

但是这种方式存在覆盖掉其他人提交的危险,当确定不会影响到其他人提交的情况下可以使用,比如使用gitcommit –amend修改提交日志等情况。

  1. 首先执行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

赞(0) 打赏
转载请注明出处:服务器评测 » Git协同工作之——非快进式推送
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏