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 多人协作以及 版本冲突问题解决相关推荐

  1. Git多人协作工作流程

    前言 之前一直把Git当做个人版本控制的工具使用,现在由于工作需要,需要多人协作维护文档,所以去简单了解了下Git多人协作的工作流程,发现还真的很多讲解的,而且大神也已经讲解得很清楚了,这里就做一个简 ...

  2. 使用NPOI时ICSharpCode.SharpZipLib版本冲突问题解决

    使用NPOI时ICSharpCode.SharpZipLib版本冲突问题解决 参考文章: (1)使用NPOI时ICSharpCode.SharpZipLib版本冲突问题解决 (2)https://ww ...

  3. Git多人协作开发流程

    Git多人协作开发流程 一.新建仓库 1.仓库名称:total 2.路径 3.仓库介绍:这是张三.李四.王五等多人的公共仓库,他们自身的文件夹分别代表他们自己的本地代码. 二.命令行操作执行 1.gi ...

  4. git多人协作冲突解决方法

    http://www.trinea.cn/dev-tools/git-skill/ http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361 ...

  5. Git 多人协作(7)

    你从远程仓库克隆代码时,实际上Git自动把本地的master分支和远程的master分支对应关联起来,远程仓库默然名称是origin 查看远程库的信息 使用 git remote 查看远程库的详细信息 ...

  6. 一、Git 多人协作模拟实战

    @Author:Runsen. 现在很多公司多人协作时代码都是使用 Git 进行集中管理,那么如何在多人协作过程中使用好 Git 也是工作的必备技能,本文主要介绍在需要多人协作开发项目中 Git 工作 ...

  7. 【转】Windows7 下安装 JDK 7 时版本冲突问题解决

    原文网址:http://wxl24life.iteye.com/blog/1966058 自己电脑上一直用的 JDK 版本是 1.6,今天决定更新到 1.7,在安装 JDK 1.7 后,控制台输入 j ...

  8. 安装mysql冲突_Linux下安装mysql版本冲突问题解决

    由于在使用的linux服务器上已经安装了一个较低版本的mysql server,使用rpm包进行安装时,提示版本冲突,安装不能继续进行. 由于旧的数据不想要了,解决办法是这样的: 1. 先把系统里安装 ...

  9. git多人协作使用命令常见错误

    1.上传文件常见错误 %1.提交文件的时候出现nothing to commit ,working tree clean 这个错误的时候,说明你的文件没有发生改变,这个时候你就要看看是不是在你克隆下来 ...

最新文章

  1. 经典题---数组改“貌”
  2. Sql获取表信息(包括结构及字段说明)
  3. 格式化输出浮点型变量
  4. 动手学习_动手选择值
  5. 图灵计算机模型意义,图灵机有什么意义_学习图灵机模型中遇到的问题
  6. 使用dex2jar和luyten查看apk中的class代码
  7. 一门从业4年都没能用上的优化技术
  8. BZOJ 1911: [Apio2010]特别行动队 [斜率优化DP]
  9. centos7安装MySql(yum方式)
  10. 设计模式学习(四)工厂模式
  11. excel快速选择多行数据
  12. 计算机局域网组网技术的核心技术,自考“局域网技术与组网工程”模拟题(6)
  13. error: Microsoft Visual C++ 9.0 is required (Unabl
  14. Java多线程案例之线程池
  15. API 接口测试,用这个开源的工具准没错
  16. 【内网穿透服务器】使用Frp外网访问内网FTP服务器(以访问内网samba服务为例)
  17. sas简单描述统计分析和散点图
  18. java基础入门-ZipOutputStream打包下载
  19. 华为云CDN加速,真正的六边形战士
  20. 商圈热点事件:极智嘉拟科创板上市、小鹅通D轮融资……

热门文章

  1. 联想服务器控制口登录地址_常用服务器管理口IP及账号密码(欢迎补充)
  2. 高中会考 计算机网络技术考试,2020年高中信息技术会考真题5附带答案已排版可打印共计20套...
  3. 【选择恐惧症】需不需要通用设计?
  4. 为什么浏览器扩展会如此危险?
  5. 转载:组态软件测评∣WinCC、Citect、LabVIEW、InTouch、Ingnition,你更喜欢用哪个?
  6. vue更换网页上的标题(Vue-mete)
  7. Linux Joystick driver v2.0.0
  8. 大数据可视化之气象数据可视化(雷达、云图、落区、等值面)
  9. ​PDF虚拟打印机(pdfFactory) v5.12 官方版
  10. PTA——7-4 有课几何