Git 多人协作以及 版本冲突问题解决
Git 多人协作以及 版本冲突问题解决
文章目录
- Git 多人协作以及 版本冲突问题解决
- 一、多人协作问题
- 1、创建两个不同的文件夹
- 2、初始化
- 1)对于用户 - 1
- 2)对于用户 - 2
- 3、配置远程的仓库
- 1)给用户 - 1 配置远程仓库
- 2)给用户 - 2 配置远程仓库
- 4、创建各自的分支
- 1)用户 - 1 工作
- 创建分支
- 工作
- 保存到缓存区
- 保存到历史区并且提交版本
- 上传到远程仓库
- 工作完成
- 2)用户 - 2 工作
- 创建并且切换到自己的分支
- 进行工作
- 上传到自己的分支
- 工作完成
- 二、版本冲突问题
在
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多人协作的工作流程,发现还真的很多讲解的,而且大神也已经讲解得很清楚了,这里就做一个简 ...
- 使用NPOI时ICSharpCode.SharpZipLib版本冲突问题解决
使用NPOI时ICSharpCode.SharpZipLib版本冲突问题解决 参考文章: (1)使用NPOI时ICSharpCode.SharpZipLib版本冲突问题解决 (2)https://ww ...
- Git多人协作开发流程
Git多人协作开发流程 一.新建仓库 1.仓库名称:total 2.路径 3.仓库介绍:这是张三.李四.王五等多人的公共仓库,他们自身的文件夹分别代表他们自己的本地代码. 二.命令行操作执行 1.gi ...
- git多人协作冲突解决方法
http://www.trinea.cn/dev-tools/git-skill/ http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361 ...
- Git 多人协作(7)
你从远程仓库克隆代码时,实际上Git自动把本地的master分支和远程的master分支对应关联起来,远程仓库默然名称是origin 查看远程库的信息 使用 git remote 查看远程库的详细信息 ...
- 一、Git 多人协作模拟实战
@Author:Runsen. 现在很多公司多人协作时代码都是使用 Git 进行集中管理,那么如何在多人协作过程中使用好 Git 也是工作的必备技能,本文主要介绍在需要多人协作开发项目中 Git 工作 ...
- 【转】Windows7 下安装 JDK 7 时版本冲突问题解决
原文网址:http://wxl24life.iteye.com/blog/1966058 自己电脑上一直用的 JDK 版本是 1.6,今天决定更新到 1.7,在安装 JDK 1.7 后,控制台输入 j ...
- 安装mysql冲突_Linux下安装mysql版本冲突问题解决
由于在使用的linux服务器上已经安装了一个较低版本的mysql server,使用rpm包进行安装时,提示版本冲突,安装不能继续进行. 由于旧的数据不想要了,解决办法是这样的: 1. 先把系统里安装 ...
- git多人协作使用命令常见错误
1.上传文件常见错误 %1.提交文件的时候出现nothing to commit ,working tree clean 这个错误的时候,说明你的文件没有发生改变,这个时候你就要看看是不是在你克隆下来 ...
最新文章
- 经典题---数组改“貌”
- Sql获取表信息(包括结构及字段说明)
- 格式化输出浮点型变量
- 动手学习_动手选择值
- 图灵计算机模型意义,图灵机有什么意义_学习图灵机模型中遇到的问题
- 使用dex2jar和luyten查看apk中的class代码
- 一门从业4年都没能用上的优化技术
- BZOJ 1911: [Apio2010]特别行动队 [斜率优化DP]
- centos7安装MySql(yum方式)
- 设计模式学习(四)工厂模式
- excel快速选择多行数据
- 计算机局域网组网技术的核心技术,自考“局域网技术与组网工程”模拟题(6)
- error: Microsoft Visual C++ 9.0 is required (Unabl
- Java多线程案例之线程池
- API 接口测试,用这个开源的工具准没错
- 【内网穿透服务器】使用Frp外网访问内网FTP服务器(以访问内网samba服务为例)
- sas简单描述统计分析和散点图
- java基础入门-ZipOutputStream打包下载
- 华为云CDN加速,真正的六边形战士
- 商圈热点事件:极智嘉拟科创板上市、小鹅通D轮融资……
热门文章
- 联想服务器控制口登录地址_常用服务器管理口IP及账号密码(欢迎补充)
- 高中会考 计算机网络技术考试,2020年高中信息技术会考真题5附带答案已排版可打印共计20套...
- 【选择恐惧症】需不需要通用设计?
- 为什么浏览器扩展会如此危险?
- 转载:组态软件测评∣WinCC、Citect、LabVIEW、InTouch、Ingnition,你更喜欢用哪个?
- vue更换网页上的标题(Vue-mete)
- Linux Joystick driver v2.0.0
- 大数据可视化之气象数据可视化(雷达、云图、落区、等值面)
- ​PDF虚拟打印机(pdfFactory) v5.12 官方版
- PTA——7-4 有课几何