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

Git远程仓库的多人协作

目录

一.项目克隆

二.多人协作

1.创建林冲仓库

2.协作处理

3.处理冲突

三.分支推送协作

四.分支拉取协作

五.远程分支的删除


一.项目克隆

我们可以把远程项目克隆到本地形成一个本地的仓库

git clone https://github.com/txjava-teach/txjava-code.git

//链接你自己的远程仓库url

我们可以发现克隆下来的仓库和远程仓库的名字一致

进入仓库可以看到.git的配置文件和远程代码

.git中的配置可以看到目前的分支为master,远程别名是origin,关联合并的是远程分支的master

注意:我们也可以克隆远程项目自己定义仓库名字

git clone https://github.com/txjava-teach/txjava-code.git testGit2

二.多人协作

1.创建林冲仓库

克隆远程仓库命名testGit1.

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

git config --local user.name '林冲'

git config --local user.email 'linchong@txjava.com'

2.协作处理

在testGit中通过鲁智深添加文件并且推送到远程(这里的鲁智深仓库是之前创建好的仓库)

(这里是一台电脑打开两个仓库模拟多人协作的过程)

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

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

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

3.处理冲突

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

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

提交并且推送到远程

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

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

此刻git要求我们先拉取更新

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

我们可以修改冲突,此时和svn是一样的。我们保留林冲的

推送到远程

搞定

三.分支推送协作

创建develop分支

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

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

git push --set-upstream origin develop

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

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

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

git push -u origin 分支名

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

分支查看

四.分支拉取协作

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

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

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

git checkout -b develop origin/develop

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

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

git checkout --track origin/featurel

五.远程分支的删除

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

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

git push origin --delete feature

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

查看origin远程对应的分支

git remote prune origin


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

相关文章:

  • 如何用gpt来分析链接里面的内容(比如分析论文链接)和分析包含多个文件中的一块代码
  • AIDD - 探索语言模型在药物分子生成方面的应用
  • vuex如何进行状态管理?
  • 脑肿瘤检测数据集,对9900张原始图片进行YOLO,COCO,VOC格式的标注
  • 模型 课题分离
  • 法学硕士,有哪些专业可以申请呢?
  • msvcp140.dll丢失问题汇总,有效解决msvcp140.dll错误问题
  • 大数据之——(分布式集群式) VWare、Ubuntu、CentOs、Hadoop安装配置
  • 饮酒会给心脏带来哪些改变?
  • windows11家庭版安装docker无法识别基于wsl2的Ubuntu
  • Linux字符设备驱动开发的三种方式(分析+对比+示例)
  • Ubuntu 24.04.1 解决部分中文字符(门、径)显示错误的问题
  • 学python还是学java?哪个相对来说比较容易上手?
  • Python 面向对象编程 五(结束)组合
  • 【C++】模板与泛型编程(一):定义模板,模板参数
  • oracle: create new database
  • JavaScriptEs6 - String类和Array类扩展内容
  • ThinkPHP接入PayPal支付
  • 一个比RTK或redux更轻量级更易使用的 React 第三方状态管理工具库的配置与使用
  • 云手机方案总结
  • 代码随想录day25 回溯4
  • C++ 23版的最新特性
  • WebService简介
  • 建筑工地AI安全检测系统:YOLO11数据标注训练与PyQt5界面设计应用开发
  • 契约锁数智化合同大会全国巡展启动,助力合同管理全程数字化转型
  • 【FAQ】HarmonyOS SDK 闭源开放能力 — Vision Kit(2)