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

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

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

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

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

 

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


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

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

相关文章:

  • 2021-07-26
  • 2022-12-23
  • 2022-02-19
  • 2022-01-21
  • 2021-11-11
  • 2021-07-27
  • 2022-12-23
  • 2022-02-02
猜你喜欢
  • 2022-12-23
  • 2021-04-30
  • 2021-06-04
  • 2021-08-08
  • 2021-10-14
相关资源
相似解决方案