Git 多人协作以及 版本冲突问题解决

Posted hhh_Moon_hhh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git 多人协作以及 版本冲突问题解决相关的知识,希望对你有一定的参考价值。

Git 多人协作以及 版本冲突问题解决


Git 工 具, 看这篇保姆式的教程就够了

中,我们已经介绍了Git的基本操作,
鉴于里面还有一些细节讲的不够明确,我们写出本文进行进一步的阐述。

上述文章链接如下所示:

https://blog.csdn.net/m0_54218263/article/details/119136764

一、多人协作问题

由于呢,
我只有一台电脑,所以,
我只能创建两个不同的文件夹来模拟两个不同的用户,

如果是多台电脑思路其实是一样的啦。

下面就用两个文件夹来模拟两个不同的用户用户:

两个文件夹模拟两个不同的用户:

1、创建两个不同的文件夹


这两个文件夹分别为用户-1和用户-2

2、初始化

我们以如下图所示的方式模拟两个用户:

这种方式用于多个人、不同的电脑思路是一样的啦:

1)对于用户 - 1

2)对于用户 - 2

由于不同的用户的邮箱一定不一样,名字也不一样,所以需要在这里设置两个邮箱才可以比较好的进行模拟,有了以上的操作以后呢,我们开始远程仓库的建立。

3、配置远程的仓库

首先创建远程仓库,这个我们在 gitee 上面创建远程仓库。

具体步骤大家一定是基本会的

下面是创建好了的一个仓库:

1)给用户 - 1 配置远程仓库

2)给用户 - 2 配置远程仓库

4、创建各自的分支

由于 master 在使用的时候是全局的,意思是说在我们使用 master 分支的时候上传上去到远程仓库的时候会改变这个项目的内容,

但是,有的时候呢,我们的代码还没有写完,或者工作还没有完成,这个时候,是不能直接通过 master 上传给远程仓库的,因为不完整的代码可能会影响到其他的用户的代码工作,

但是,我们又希望我们的代码可以受 Git 的管理,所以需要创建属于自己的分支,我们工作的时候就在自己的分支进行 coding ,没有完工的话上传到自己的那个分支就可以了,等到我们的工作最终完成了,我们把自己的分支合并到 master 中就可以了。

1)用户 - 1 工作
创建分支


直接创建分支的话,是不可以的啦为什么呢?

图片中说:
fatal:Not a valid object name :‘master’

具体含义应该都懂吧,

正确的操作入下所示:


首先与远程仓库同步,然后在进行创建分支

我们需要首先切换到自己的分支在进行工作
具体操作如下图所示:


现在就是在用户 - 1 的分支下面进行的工作。
注意分支已经由 master 变成了 user1 了啦。

工作

保存到缓存区

保存到历史区并且提交版本

上传到远程仓库

这里需要注意,我们上传代码到远程仓库的时候,我们在哪一个分支就要写哪一个分支的名字,如下图:
(这里是上传了 user1 的分支,master 分支中是没有的啦)

工作完成

假设,现在,我们的工作完成了,那么需要向 master 提交全部代码了:
流程:
1、切换到master
2、合并
3、上传master

1、切换到master 和 2、合并

这样才会把 user1 的内容放在 master 里面,否则 master 里面是没有内容的啦。
3、上传master

这样用户 - 1 的工作就完成了啦。

下面看一下用户 - 2

2)用户 - 2 工作

这里就是一定要注意同步!!!!

在用户 - 2 开始工作之前,已经有人(用户- 1)进行了代码的上传值远程仓库,所以说,用户 - 2,必须先同步远程仓库

就是

git pull origin master 


为了确认同步完成,可以在输入一遍命令,:

创建并且切换到自己的分支

进行工作


上传到自己的分支

首先在工作完成之前一定要上传到自己的分支
首先是到缓存区以及提交到本地仓库:

然后上传到远程仓库

工作完成

假设我们现在工作也完成了

首先切换分支并且进行合并分支

上传到远程仓库

在我们上传到远程仓库之前,有可能别的用户已经上传了代码,为了防止出现版本问题,我们需要先进行拉取,同步以后在进行上传。


好的,同步没有问题了,我们上传

好的,上传成功了啦

到此,用户 - 2 的工作也已经完成了并且上传完毕了。。

于是,我们暂时先认为工作完成了啦。

二、版本冲突问题

在上面的案例的叙述值中,我们已经可以看出来,
在多人合作的时候,
因为工作完成的早晚不一样,
提交工作成果 的 时间不一样,
从而导致不同的用户在使用的时候会产生版本冲突问题。

同时,我们也看到了,想要避免版本冲突的问题呢,我们需要在每次提交自己的代码之前首先进行同步,也就是说,先同步远程仓库,在进行上传自己的工作内容到远程仓库了啦。

还有就是注意利用好分支这个操作,分支主要是为了是自己的工作与别人的工作相互之间不会干扰,提高工作的独立性,以免因为别人没有完成工作便提交使得自己没办法正确运行等等,所以分支可以很好的进行每个人的自行管理,避免相互之间不必要的干扰产生。

以上即就是我们的多人协作以及版本冲突问题解决的介绍,希望对大家有一点的的帮助了啦。。。。。

以上是关于Git 多人协作以及 版本冲突问题解决的主要内容,如果未能解决你的问题,请参考以下文章

git服务器创建,冲突解决

Git冲突解决

Git冲突解决

多人协作多版本开发冲突的正确解决姿势

多人协作多版本开发冲突的正确解决姿势

多人协作多版本开发冲突的正确解决姿势