gitlab-我们为什么要建立分支

一般操作都是把远程仓库同步到本地【git pull】

然后,在在本地做修改,修改好了然后提交到远程。同步操作应该是【新增】操作。

但是,有一种特殊情况,就是

探究课题

A,B同时对远程仓库做了git pull,且A、B都做了修改。

此时B提交了?那么A还能继续提交吗?

进行实验

用户A:

gitlab-我们为什么要建立分支

 

用户B:

gitlab-我们为什么要建立分支

实验结果

解析:从B用户的提交中大致可以知道:提交被拒绝,因为远程分支有一些内容是你本地没有的。

实验结论

所以,这个道理告诉我们要建立分支!!!

实验拓展

好,我们接着帮B用户去解决他遇到的问题:

方法一:B用户现在去建立一个分支,然后提交,再merge到主分支

方法二:B用户直接强制提交【git pull -f】,这个就比较暴力了,A用户提交的内容将会消失。【不建议这样做】

//注:f<=>force强制

方法一探究

现在,我们通过建立分支去解决这个问题:

gitlab-我们为什么要建立分支

最后,在回到主分支把代码pull下来就能看到两个文件了!

=================================

接着往后说一点:

现在,删除一个文件,显然是可以的。只要你当前的状态与远程分支一致,就可以正常增、删、改。这也是为什么要先pull远程分支,然后再操作。

gitlab-我们为什么要建立分支

方法二探究

然后,我们再来看下,用户B强制提价的实验:

A,B都是与主分支同步。

A用户,提交了一个自己的文件

gitlab-我们为什么要建立分支

此时,我们的B用户,不pull代码,然后提交,提交肯定是失败了,所以我们用git pull -f强制提交【由于master是保护分支,所以先去网页版取消了保护】

gitlab-我们为什么要建立分支

最终可以看到远程分支的内容

gitlab-我们为什么要建立分支