您的位置:首页 > 其它

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

2014-06-30 21:42 316 查看
非快进推送(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或是通过钩子脚本设置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: