作者回复: 举个例子,本地分支往远端分支做push,如果远端分支不是本地分支的祖先,那它俩就不是 fast forward 了。反之,它俩就是fast forward的关系。
作者回复: fetch不会拉到工作区的,只是把本地的远端分支和服务端对应的远端分支保持一致。 建议你执行fetch测试一下。
作者回复: 影响:本地分支直接push到对应的远端分支,报非fastforward的❌。 我们把fastforward通俗地说:commit和commit之间,子commit有一个箭头指向父commit,用这种方式,版本演变的历史就会形成一幅带方向的图。把commit比做人的话,孙子和爷爷之间,儿子和爸爸之间就是fastforward的关系,而堂兄之间就不是fastforward的关系了。 官网解释:fastforward是merge的一种特殊类型,你把A分支合入到B分支的时候,恰好B分支指向的commit是A分支的祖先,在这种情况下,我们无需额外创建一个merge的commit,而只需把B分支指向A分支对应的commit就行。
作者回复: 我们的做法是:为对外合作项目单独搭建了一个gitlab,公司内部员工用内网域名,合作方用外网域名,并且为外网IP设置了白名单,只有授权的IP才能访问公司的gitlab
作者回复: 👍
作者回复: 1)先把远端的分支 fetch到本地,然后,再执行 rebase 。 2)直接 git pull --rebase 。
作者回复: remote add的方式是在当前路径下已经是git仓库的时候用的,为了让该git仓库可以push/pull不同的远端
作者回复: hi,估计您把公钥贴到仓库的deploy keys里面了,我们应该放到个人profile里SSH的设置中。
作者回复: windows系统,我安装了msysgit,鼠标右键会有个 git bash(模拟linux的交互窗口)。在这个里面建公私钥吧 。
作者回复: 删掉一个多余的即可。大家可以用 git remote -h 看看该命令的使用说明,用 git remote remove github 就能把github删掉了。