Git 多人协作以及 版本冲突问题解决
Posted 江 月
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 多人协作以及 版本冲突问题解决的主要内容,如果未能解决你的问题,请参考以下文章