非快進推送(non-fast-forwardupdates)在遠程版本庫和當前版本庫內容不一致時推送所致,引起原因一般為在多成員協同工作下,其他用戶在當前用戶版本庫上次commit和本次commit之間向遠程版本庫執行了推送所致。
出現非快進式推送的日志:
圖1
這是我們可以查看遠程版本庫和當前版本庫的commit哈希值。
進入到.git目錄下查看本地版本庫最新commit信息:
圖2
查看遠程版本庫commit信息:
圖3
可以發現二者的不同,即出現了“非快進式推送”。
使用gitpush origin master --force或gitpush origin master -f。
但是這種方式存在覆蓋掉其他人提交的危險,當確定不會影響到其他人提交的情況下可以使用,比如使用gitcommit –amend修改提交日志等情況。
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 的下載地址:請點這裡