当前位置: 首页 > article >正文

git中的多人协作

目录

    • 1.1多人协作
      • 1.1.1创建仓库
      • 1.1.2协作处理
      • 1.1.3冲突处理
    • 1.2分支推送协作
    • 1.3分支拉取协作
    • 1.4远程分支的删除

1.1多人协作

1.1.1创建仓库

新建两个文件夹,不需要初始化为git仓库,直接克隆远程仓库命名testGit1,testGit2

指定本地仓库级别的用户名和邮箱

git config --local user.name '林冲'
git config --local user.name '鲁智深'
git config --local user.email 'linchong@txjava.com'
git config --local user.email 'luzhishen@txjava.com'

在这里插入图片描述

git config --local -l

在这里插入图片描述

git branch -av

在这里插入图片描述

1.1.2协作处理

在testGit中通过鲁智深添加文件并且推送到远程

直接克隆远程仓库,不需要使用命令来初始化本地仓库

git init 
vi B.txt
git add .
git commit -m 'lzs first commit'
git push
git branch -av

在这里插入图片描述

在这里插入图片描述

在testGit1仓库中林冲查看远程状态发现已经过期。

git remote show 

在这里插入图片描述

此时林冲应该从远程仓库来更新拉取

git pull --rebase

在这里插入图片描述

fast-forward表示不需要手工处理冲突直接合并。

ll 
cat B.txt

在这里插入图片描述

1.1.3冲突处理

当两个人修改同一个文件的同一行的时候就会发生冲突

我们使用鲁智深修改B.txt内容后

提交并且推送到远程

vi B.txt
git add .
git commit -m 'lzs first update'
git push

此刻林冲也修改B.txt内容:

vi B.txt
git add .
git commit -m 'lc first update'
git push

我们提交并且推送远程的时候发现出现冲突,推送失败

此刻git要求我们先拉取更新,在林冲仓库中进行操作

git pull -rebase
git push

在这里插入图片描述

我提示中我们发现拉取成功,但是自动合并失败。git建议我们修改冲突后提交。

我们可以修改冲突,此时和svn是一样的。我们保留林冲的,最终B.txt中的内容是冲突解决提交的B.txt中的内容

vi B.txt
git add .
git commit -m '冲突解决'
git push

在这里插入图片描述

推送到远程

在这里插入图片描述

同时鲁智深仓库需要拉取更新

git pull --rebase

搞定

1.2分支推送协作

林冲仓库创建develop分支

git checkout -b develop

在这里插入图片描述

我们发现git push无法把develop推送到远程。

git push

在这里插入图片描述

执行下面的命令,这就是把本地的分支推送到远程分支。

git push --set-upstream origin develop

在这里插入图片描述

我们可以看到远程分支已经推送。

在这里插入图片描述

同时本地也关联了远程develop分支

git branch -av

在这里插入图片描述

除此之外我们可以使用下面命令完成远程分支推送

git push -u origin 分支名
git checkout -b feature
git push -u origin feature

在这里插入图片描述

我们创建分支,并且把分支推送到远程

在这里插入图片描述

分支查看

git branch -av

在这里插入图片描述

1.3分支拉取协作

由于鲁智深已经推送,我们使用林冲的账户来拉取,我们可以看到新建立了分支

git branch -av

在这里插入图片描述

但是我们发现有远程分支,但是没有本地的develop分支。

在这里插入图片描述

这时我们可以创建本地的develop分支,此刻我们也可以修改本地分支的名字

git checkout -b develop origin/develop

我们已经创建分支并且切换到develop上,而且该分支和远程分支develop关联。

在这里插入图片描述

查看

在这里插入图片描述

我们还可以使用另一种方式本地分支的追踪,但是必须要先git pull

git checkout --track origin/feature

在这里插入图片描述

1.4远程分支的删除

我们在鲁智深仓库删除Feature分支,删除之后远程的Feature分支关联还在。

git branch -d feature
git branch -av

在这里插入图片描述

我们也可以删除对应的远程分支

git push origin --delete feature

在这里插入图片描述

在这里插入图片描述

当我们通过另一个用户来查看本地对应的远程分支的时候可以看到远程分支的变化。

在这里插入图片描述

查看origin远程对应的分支

git remote prune origin

在这里插入图片描述


http://www.kler.cn/a/448126.html

相关文章:

  • 【day11】面向对象编程进阶(继承)
  • C# cad启动自动加载启动插件、类库编译 多个dll合并为一个
  • 在安卓Android应用中实现二维码图像的保存与条形码文本合并
  • PyCharm 中打印完整的 DataFrame
  • 线性代数期末总复习的点点滴滴(1)
  • Mybatis中使用MySql触发器报错:You have an error in your SQL syntax; ‘DELIMITER $$
  • U盘结构损坏且无法访问:原因、恢复方案与预防措施
  • 梳理你的思路(从OOP到架构设计)_设计模式Factory Method模式
  • 【RabbitMQ】RabbitMQ保证消息不丢失的N种策略的思想总结
  • 《庐山派从入门到...》板载按键启动!
  • Onvif服务端开发
  • C++ 集合 list 使用
  • 【CSS in Depth 2 精译_085】14.2:CSS 蒙版的用法
  • YOLOv11模型改进-模块-引入多尺度前馈网络MSFN 用于解决噪声
  • MFC/C++学习系列之简单记录7
  • 前端优化之图片
  • 一区牛顿-拉夫逊算法+分解+深度学习!VMD-NRBO-Transformer-GRU多变量时间序列光伏功率预测
  • hive架构简述
  • Android Retrofit2OkHttp3添加统一的请求头Header
  • 基于前端技术UniApp和后端技术Node.js的电影购票系统
  • 基于LabVIEW的USRP信道测量开发
  • Day-03 Vue(生命周期、生命周期钩子八个函数、工程化开发和脚手架、组件化开发、根组件、局部注册和全局注册的步骤)
  • 数智化医院分布式计算框架融合人工智能方向初步实现与能力转换浅析
  • 数位dp-acwing(数字游戏)
  • 基于单片机的步进电机控制系统的设计研究
  • 数据结构 (队列略版)