歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Git協同工作之——非快進式推送

Git協同工作之——非快進式推送

日期:2017/2/28 14:29:47   编辑:Linux教程

非快進推送(non-fast-forwardupdates)在遠程版本庫和當前版本庫內容不一致時推送所致,引起原因一般為在多成員協同工作下,其他用戶在當前用戶版本庫上次commit和本次commit之間向遠程版本庫執行了推送所致。

出現非快進式推送的日志:

圖1

這是我們可以查看遠程版本庫和當前版本庫的commit哈希值。

進入到.git目錄下查看本地版本庫最新commit信息:

圖2

查看遠程版本庫commit信息:

圖3

可以發現二者的不同,即出現了“非快進式推送”。

解決方式:

  1. 強制推送。

使用gitpush origin master --force或gitpush 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 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved