Git fast forward提交

多人协同开发,使用Git经常会看到警告信息包含术语:fast forward, 这是何义?

简单来说就是提交到远程中心仓库的代码必须是按照时间顺序的。

比如A从中心仓库拿到代码后,对文件f进行了修改。然后push到中心仓库。

B在A之前就拿到了中心仓库的代码,在A push成功之后也对f文件进行了修改。这个时候B也运行push命令推送代码。

会收到一个类似下面的信息:

[plain]
chenshu@sloop2:~/work/189/appengine$ git push 
To ssh://csfreebird@10.112.18.189:29418/appengine.git 
 ! [rejected]        master -> master (non-fast-forward) 
error: failed to push some refs to 'ssh://csfreebird@10.112.18.189:29418/appengine.git' 
To prevent you from losing history, non-fast-forward updates were rejected 
Merge the remote changes (e.g. 'git pull') before pushing again.  See the 
'Note about fast-forwards' section of 'git push --help' for details. 

提醒你非快进方式的更新被拒绝了,需要先从中心仓库pull到最新版本,merge后再push.


fast forward能够保证不会强制覆盖别人的代码,确保了多人协同开发。尽量不要使用non fast forward方法提交代码。

代码来源

多人协同开发,使用Git经常会看到警告信息包含术语:fast forward, 这是何义?

简单来说就是提交到远程中心仓库的代码必须是按照时间顺序的。

比如A从中心仓库拿到代码后,对文件f进行了修改。然后push到中心仓库。

B在A之前就拿到了中心仓库的代码,在A push成功之后也对f文件进行了修改。这个时候B也运行push命令推送代码。

会收到一个类似下面的信息:

[plain]
chenshu@sloop2:~/work/189/appengine$ git push 
To ssh://csfreebird@10.112.18.189:29418/appengine.git 
 ! [rejected]        master -> master (non-fast-forward) 
error: failed to push some refs to 'ssh://csfreebird@10.112.18.189:29418/appengine.git' 
To prevent you from losing history, non-fast-forward updates were rejected 
Merge the remote changes (e.g. 'git pull') before pushing again.  See the 
'Note about fast-forwards' section of 'git push --help' for details. 

提醒你非快进方式的更新被拒绝了,需要先从中心仓库pull到最新版本,merge后再push.


fast forward能够保证不会强制覆盖别人的代码,确保了多人协同开发。尽量不要使用non fast forward方法提交代码。

代码来源:www.2cto.com/kf/201208/151575.html

另外可参考下面的一些信息:

www.cnblogs.com/xwdreamer/archive/2012/05/29/2523958.html

www.linuxidc.com/Linux/2012-04/58985.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值