Git:利用Git进行多人协作的场景模拟

简介: Git:利用Git进行多人协作的场景模拟

场景一

Git是一个多人协作下完成的操作,因此Git是需要进行一些多人协作的场景的,那么这里就使用LinuxWindows两个平台进行模拟实现两个用户进行的协作

首先把仓库克隆到本地,再加入两个用户的信息,因为要进行多人协作一定是有两个Gitee的账号的

Linux下完成基本操作:

此时,在Gitee中也同步进行了更新:

那现在切换到Windows下的用户,Windows下用户也想进行这个项目的开发,那么首先要先创建分支拉取仓库中的数据

此时Windows用户下的仓库中就有了Linux用户下更新的内容和信息,修改信息后进行addcommit的操作,此时Gitee上就有了新的提交记录

那么假设此时Linux用户还在进行开发,又进行了一些修改,那么会不会因为Windows用户的提交而导致Linux用户的提交直接被覆盖?

下面用实验进行模拟

解决方法就是利用pull将信息拉取到本地仓库,不同的信息会以冲突的报错进行提示,手动修改后提交即可解决问题,解决后再提交到Gitee即可,而Windows用户下次使用的时候,也需要进行一次pull拉取数据,否则依旧在push的时候会报错,也需要解决访问冲突的问题

那么下面解决怎么把分支进行合并的问题

首先肯定是要进行一次pull操作,将远端仓库中的master拉取到本地中,再在本地中将master分支合并到dev分支,解决掉冲突后再合并到master分支,再push到仓库中

总结一下

当实际在开发时,如果一个分支有两个人在使用时,完成自己的代码后,首先可以尝试一下git push进行推送自己的修改,如果推送失败,就说明远程仓库进行了一定的更新,那么就首先需要进行git pull进行拉取远程仓库进行合并

如果合并有冲突,就进行解决这个冲突,之后进行提交即可

功能开发完毕后,将分支mergemaster中,最后删除分支即可

场景二

一般情况下,如果有需求需要多人同时进行开发,是不会在一个分支上进行开发的,而是一个需求点就创建一个分支,也就是说场景一的情况一般不会出现

那么下面就模拟场景二这个场景:

  • 两个人走两条分支
  • 第一个分支创建feature1文件
  • 第二个分支创建feature2文件
  • 提交到Gitee

那么首先到Linux环境下进行操作:

可以使用命令直接将本地分支提交到远端分支:

git push origin feature1
• 1

此时Gitee中有feature1的分支信息了

此时再切换回Windows用户进行使用:

此时Gitee中也有Windows的更新信息了

那么现在就有三个分支,如何对其他两个分支合并到master分支就是下一步要进行的步骤

如果Windows用户需要Linux用户帮忙开发,可以吗?

答案是可以的,需要设计到切换路径的问题

此时结束后,如果Windows用户想要继续开发,只需要把信息拉取回来再继续开发即可

提示未建立链接,只需要重新建立链接即可

改完信息后上传到Gitee上即可,此时Gitee中关于feature2的分支中就既有Linux开发也有Windows下的开发

合并代码这里采用的是PR申请的写法,整体比较简单,提交申请由审核人员进行审核即可

解决一些后续问题

删除远程分支后但是还能看到远程分支怎么办?

[test@VM-16-11-centos test_git]$ git branch -a
  feature1
* feature2
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/feature1
  remotes/origin/feature2
  remotes/origin/master

此时可以选择使用一个命令

git remote show origin

用以展现远程分支和本地分支之间对应的关系

[test@VM-16-11-centos test_git]$ git remote show origin
* remote origin
  Fetch URL: https://gitee.com/zhaobohan/test_git.git
  Push  URL: https://gitee.com/zhaobohan/test_git.git
  HEAD branch: master
  Remote branches:
    feature1                tracked
    feature2                tracked
    master                  tracked
    refs/remotes/origin/dev stale (use 'git remote prune' to remove)
  Local branches configured for 'git pull':
    feature2 merges with remote feature2
    master   merges with remote master
  Local refs configured for 'git push':
    feature1 pushes to feature1 (up to date)
    feature2 pushes to feature2 (local out of date)
    master   pushes to master   (up to date)

再根据推荐直接删除即可

[test@VM-16-11-centos test_git]$ git remote prune origin
Pruning origin
URL: https://gitee.com/zhaobohan/test_git.git
 * [pruned] origin/dev

这样就完成了两个多人协作的场景模拟,下一篇进行一个项目的模拟开发流程

相关文章
|
3月前
|
API 开发工具 git
git常用的API以及每个的应用场景
【4月更文挑战第5天】Git是流行的分布式版本控制系统,用于代码管理,提供丰富的API。本文概述了Git常用API,如`git init`(初始化仓库)、`git add`(添加到暂存区)、`git commit`(提交)、`git remote add origin`(添加远程仓库)、`git pull`和`push`(同步远程仓库)、`git branch`(分支管理)以及`git checkout`(切换分支或恢复文件)。了解和熟练使用这些API能提升开发效率和代码质量,更多Git功能可参考官方文档。
232 0
|
9月前
|
测试技术 网络安全 开发工具
Git系列之分支与标签的使用及应用场景模拟
Git系列之分支与标签的使用及应用场景模拟
103 0
|
开发工具 git
Git使用不当导致代码丢失的N种场景
背景git作为目前使用最广泛的分布式版本控制软件,集团内基本上所有开发同学都使用它来做代码管理。一个最典型的使用场景,是一个git仓库存在一个master主干分支,多个需求基于master拉自己的开发分支,然后在发布日时,新建一个release分支,然后原先并行的几个开发分支merge到release分支上,最后基于该分支发布上线,上线后release再merge到master主干上,一次发布完成
2581 1
Git使用不当导致代码丢失的N种场景
|
存储 安全 网络安全
Git教程5(bug分支和多人协作及标签管理)
在开发中,会经常碰到bug问题,那么有了bug就需要修复,在Git中,分支是很强大的,每个bug都可以通过一个临时分支来修复,修复完成后,合并分支,然后将临时的分支删除掉。 比如我在开发中接到一个404 bug时候,我们可以创建一个404分支来修复它,但是,当前的dev分支上的工作还没有提交。比如如下:
Git教程5(bug分支和多人协作及标签管理)
|
3月前
|
开发工具 git
Git 远程仓库&多人协作
Git 远程仓库&多人协作
|
3月前
|
存储 Shell 编译器
多人协作使用git如何解决冲突?
多人协作使用git如何解决冲突?
121 0
|
3月前
|
Linux 开发工具 git
Git多人协作(二)
Git多人协作(二)
36 0
|
3月前
|
Linux 开发工具 git
Git多人协作(一)
Git多人协作(一)
43 0
|
8月前
|
测试技术 开发工具 git
【Git】的分支和标签的讲解及实际应用场景
【Git】的分支和标签的讲解及实际应用场景
123 0
|
8月前
|
小程序 Shell 网络安全
git多人协作用户权限配置
关于git的仓库创建及用户配置等一系列的功能很早已经有过经验。 最近需要配置一个多人协作(多个git用户)的一个git环境。 发现了一些问题。
73 0