gitlab-我们为什么要建立分支
一般操作都是把远程仓库同步到本地【git pull】
然后,在在本地做修改,修改好了然后提交到远程。同步操作应该是【新增】操作。
但是,有一种特殊情况,就是
探究课题
A,B同时对远程仓库做了git pull,且A、B都做了修改。
此时B提交了?那么A还能继续提交吗?
进行实验
用户A:
用户B:
实验结果
解析:从B用户的提交中大致可以知道:提交被拒绝,因为远程分支有一些内容是你本地没有的。
实验结论
所以,这个道理告诉我们要建立分支!!!
实验拓展
好,我们接着帮B用户去解决他遇到的问题:
方法一:B用户现在去建立一个分支,然后提交,再merge到主分支
方法二:B用户直接强制提交【git pull -f】,这个就比较暴力了,A用户提交的内容将会消失。【不建议这样做】
//注:f<=>force强制
方法一探究
现在,我们通过建立分支去解决这个问题:
最后,在回到主分支把代码pull下来就能看到两个文件了!
=================================
接着往后说一点:
现在,删除一个文件,显然是可以的。只要你当前的状态与远程分支一致,就可以正常增、删、改。这也是为什么要先pull远程分支,然后再操作。
方法二探究
然后,我们再来看下,用户B强制提价的实验:
A,B都是与主分支同步。
A用户,提交了一个自己的文件
此时,我们的B用户,不pull代码,然后提交,提交肯定是失败了,所以我们用git pull -f强制提交【由于master是保护分支,所以先去网页版取消了保护】
最终可以看到远程分支的内容