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

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.lryc.cn/news/507902.html

相关文章:

  • 解决新安装CentOS 7系统mirrorlist.centos.org can‘t resolve问题
  • RK3588 , mpp硬编码yuv, 保存MP4视频文件.
  • Elasticsearch:什么是查询语言?
  • 均值聚类算法
  • MySQL 中快速插入大量数据
  • 腾讯云智能结构化OCR:以多模态大模型技术为核心,推动跨行业高效精准的文档处理与数据提取新时代
  • 最大似然检测在通信解调中的应用
  • SKETCHPAD——允许语言模型生成中间草图,在几何、函数、图算法和游戏策略等所有数学任务中持续提高基础模型的性能
  • [JAVA备忘录] Lambda 表达式简单介绍
  • [python]使用flask-caching缓存数据
  • 裸机按键输入实验
  • GaussDB运维管理工具(二)
  • 【HarmonyOS之旅】HarmonyOS开发基础知识(一)
  • Mysql数据究竟是如何存储的
  • STM32单片机使用CAN协议进行通信
  • Docker 入门:如何使用 Docker 容器化 AI 项目(二)
  • MVVM、MVC、MVP 的区别
  • 【Verilog】期末复习
  • C#都可以找哪些工作?
  • 机器学习Python使用scikit-learn工具包详细介绍
  • 蓝桥杯真题 - 扫雷 - 题解
  • vue3项目结合Echarts实现甘特图(可拖拽、选中等操作)
  • Log4j2 插件的简单使用
  • Linux之RPM和YUM命令
  • 读取硬件板子上的数据
  • Cesium 实例化潜入潜出
  • java引入jedis并且关于开放redis端口问题
  • 【人工智能】用Python实现情感分析:从简单词典到深度学习方法的演进
  • 关系型数据库的完整性和一致性
  • 设计模式の命令访问者迭代器模式