你好! Git——如何进行多人协作

news2024/11/15 12:02:52

多人协作(5)

  • 一、标签管理
  • 二、多人协作
    • 2.1 场景一(这种方式不常见)
    • 2.2 场景二(常见)

一、标签管理

标签 tag ,可以简单的理解为是对某次 commit 的⼀个标识,相当于起了⼀个别名。

  1. 创建标签
    创建标签的指令(给最新的提交打上标签):
git tag v1.0

给指定的commit id打标签:

git tag v0.9 commit id号

给指定的commit id进行描述:

git tag -a v0.8 -m "描述的信息" 2331213(指定的commit id)//没有写指定的commit id就把最新的提交打上标签

在这里插入图片描述

  1. 查看标签

查看所有存在的标签:

git tag

查看标签的描述:

git show v0.8

在这里插入图片描述

  1. 删除标签

删除标签指令:

git tag -d v0.8

在这里插入图片描述

  1. 推送标签到远程仓库
    推送指定的标签:
git push origin v0.8

在这里插入图片描述
推送所有的标签

git push origin --tags

删除远程仓库的标签:

git push origin :v0.8//记得先把本地的标签删掉(git tag -d v0.8),在删远程的标签

在这里插入图片描述

二、多人协作

2.1 场景一(这种方式不常见)

目标:远程master分支下file.txt文件新增代码“aaa”,“bbb”
实现:由开发者1新增“aaa”,由开发者2新增“bbb”
条件:在一个分支下协作完成
在这里插入图片描述

  1. 先要创建一个分支(远程,本地都可以)
    在这里插入图片描述
  2. 远程分支与本地分支进行连接

查看远程分支:

git branch -r

在这里插入图片描述
查看本地分支:

git branch

在这里插入图片描述
查看远程和本地分支:

git branch -a

在这里插入图片描述

本地分支与远程分支进行连接:

git checkout -b dev origin/dev

在这里插入图片描述

查看远程和本地分支是否建立连接:

git branch -vv

在这里插入图片描述

  1. 多人协作,把远程仓库克隆到windows系统里。

在windows窗口里输入:

git clone https://gitee.com/big-ll/remote-gitcode.git

在这里插入图片描述
已经克隆成功了
在这里插入图片描述

  1. 开发者1新增代码“aaa”,添加到远程仓库
    在这里插入图片描述
  2. 开发者2新增代码添加到远程仓库

打开了终端:
在这里插入图片描述
创建分支并切换(不与远程仓库连接):
在这里插入图片描述
分支与远程仓库连接:

在这里插入图片描述
在这里插入图片描述
我们把修改的代码进行提交,发现报错(原因是与远程仓库起冲突):
在这里插入图片描述
解决冲突,并提交:
1.先把远程仓库的内容拉取下来,解决冲突:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.提交代码:
在这里插入图片描述
在这里插入图片描述

  1. 将内容合并进master分支

在这里插入图片描述

1.远程仓库进行合并分支
在这里插入图片描述
内容填写完毕就可以提交了
在这里插入图片描述

2.本地仓库进行合并分支
在这里插入图片描述
远程仓库已经合并完成;
在这里插入图片描述

总结⼀ 下,在同⼀分⽀下进⾏多⼈协作的⼯作模式通常是这样:
• ⾸先,可以试图⽤ git push origin branch-name 推送⾃⼰的修改;
• 如果推送失败,则因为远程分⽀⽐你的本地更新,需要先⽤ git pull 试图合并;
• 如果合并有冲突,则解决冲突,并在本地提交;
• 没有冲突或者解决掉冲突后,再⽤git push origin branch-name推送就能成功!
• 功能开发完毕,将分⽀ merge 进 master,最后删除分⽀。

记得把dev分支删除掉。

2.2 场景二(常见)

目标:远程master分支下新增function1和function2文件
实现:由开发者1新增function1,由开发者2新增function2
条件:在不同分支下协作完(各自让某一个功能私有某一个分支)

  1. 开发者1创建一个分支,写好功能,然后提交分支,把分支推送给远程仓库(与远程仓库连接)
git branch
git checkout -b function1
vim func1
git add .
git commit -m "add func1"
git push origin function1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 开发者2创建一个分支,写好功能,然后提交分支,把分支推送给远程仓库(与远程仓库连接)
    代码:
与开发者1一样

开发者2与开发者1的方式一样:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
经过上面的操作,两位开发者都可以在自己的分支上去写代码。

  1. 如果⼩伙伴突然⽣病了,但需求还没开发完,需要你帮他继续开发,于是他便把 function2分⽀名告诉你了。 这时你就需要在⾃⼰的机器上切换到function2分⽀帮忙继续开发。

git pull
1.拉取分支内的内容
2.拉取仓库的内容(git push origin function2)每一次都要这个操作

要做的操作如下:

# 必须先拉取远端仓库内容
git pull
# 创建本地分支并切换,与远程仓库连接
git checkout -b function2 origin/function2
//对文件进行开发,然后提交
vim func2
git add func2
git commit -m "modify func2"
#把我们开发的内容推送到远程仓库
git push origin function2

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
如果同事没病了,需要继续开发程序:
先要从远端仓库拉取数据(前提是要与远端仓库建立连接)

git pull
git branch --set-upstream-to=origin/function2 function2
git pull

在这里插入图片描述
在这里插入图片描述
继续开发,开发完毕后,提交修改信息,并推送数据
在这里插入图片描述
在这里插入图片描述

  1. 多人开发,将内容合并到master分支上

1.在远程仓库里将function2合并到master分支
在这里插入图片描述
在这里插入图片描述
2.在本地仓库里将master分支拉取下来,然后合并master分支
需要先切换到master分支上,然后拉取远程仓库里的内容

git branch --set-upstream-to=origin/function1 function1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
切换到function1分支,然后合并master分支,并提交,推送function1分支
在这里插入图片描述
3.在远程仓库里将function1与master分支合并
在这里插入图片描述
在这里插入图片描述
各个开发人员的文件都在master分支里了
在这里插入图片描述

3.画图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1974146.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【给嵌入式新人的几条建议(共勉):三-C语言基础怎么补?】

给嵌入式新人的几条建议(共勉):三-C语言基础怎么补? 前言1、先回答一个问题,对C语言的害怕到底在哪?(纠正认知)2、C语言基础,要补全部吗?No2.1 先看下自己属于…

深耕编程语言18年,对话 Rust、TypeScript、Nushell 核心贡献者 Sophia Turner | Open AGI Forum

作者 | Annie Xu 采访 | 卢威 责编 | Echo Tang 出品丨GOSIM 开源创新汇 编程语言的种类令人眼花缭乱,但成功的、常用的编程语言却是凤毛麟角。在深耕编程语言研发 18 年的 Sophia June Turner 看来,编程语言成功的关键在于其研发团队的透明度和机制建…

Azure OpenAI Embeddings vs OpenAI Embeddings

题意:Azure OpenAI 嵌入与 OpenAI 嵌入的比较 问题背景: Is anyone getting different results from Azure OpenAI embeddings deployment using text-embedding-ada-002 than the ones from OpenAI? Same text, same model, and the results are cons…

Learning vtkjs之Calculator

过滤器 公式计算器 Calculator 介绍 The Calculator filter is a fast way to add derived data arrays to a dataset. These arrays can be defined over points, cells, or just field data that is “uniform” across the dataset (i.e., constant over all of space). Va…

【小尘送书-第十六期】码农职场:IT人求职就业手册

大家好,我是小尘,欢迎你的关注!大家可以一起交流学习!欢迎大家在CSDN后台私信我!一起讨论学习,讨论如何找到满意的工作! 👨‍💻博主主页:小尘要自信 &#x1…

【JVM】垃圾回收机制、算法和垃圾回收器

什么是垃圾回收机制 为了让程序员更加专注于代码的实现,而不用过多的考虑内存释放的问题,所以在Java语言中,有了自动的垃圾回收机制,也是我们常常提及的GC(Garbage Collection) 有了这个垃圾回收机制之后,程序员只需…

华为路由常见 LSA 类型的产生及作用域和字段详细解读

华为路由常见 LSA 类型的产生及作用域 类型名称描述1路由器 LSA(Router LSA)每个设备都会产生,描述了设备的链路状态和开销。该 LSA 只能在接口所属的区域内泛洪2网络 LSA(Network LSA)由 DR 产生,描述该 …

在cPanelWHM中如何重置 MySQL 用户帐户密码

更改MySQL用户账户密码非常简单。服务器管理员可以在WHM中编辑任何MySQL用户的帐户。cPanel用户可以编辑其帐户管理的数据库的密码。 在WHM中更改MySQL用户帐户密码 打开WHM,在侧边菜单中的SQL服务下选择“Change MySQLUser Password”。Hostease的服务器产品提供稳…

NeRF学习——复现训练中的问题记录

代码复现的框架是基于:pengsida 的 Learning NeRF 希望各位可以通过学习 NeRF-Pytorch 的源码来自己复现一下试试看! 文章目录 1 Windows bug1.1 DataLoader 的多进程 pickle1.2 imageio 输出图片1.3 I/O 2 训练问题2.1 Evaluate 显存爆炸2.2 尝试一2.…

基于VScode和C++实现Protobuf数据格式的通信

目录 1. Protobuf 概述1.1 定义1.2Protobuf的优势 2. Protobuf 语法3、序列号和反序列化3.1 .pb.h 头文件3.2 序列化3.3 反序列化 4、测试用例 Protobuf详细讲解链接 1. Protobuf 概述 1.1 定义 protobuf也叫protocol buffer是google 的一种数据交换的格式,它独立…

递归题解集

目录 递归: 一、汉诺塔问题 1.题目链接:面试题 08.06. 汉诺塔问题 2.题目描述: 3.解法:(递归) 🌵算法思路: 🌵算法流程: 🌵算法代码&…

掌握SEO站外推广优化的五大绝招

对于网站运营者和数字营销人员来说,SEO站外推广是提升网站流量和排名的重要手段。以下是五个有效的SEO站外推广优化方法,希望对大家有所帮助。 1. 高质量的外链建设 高质量的外部链接(Backlinks)是搜索引擎排名的重要因素之一。…

Openboxes开发环境配置及本地化、API测试

目录 Openboxes简介 开发环境配置及启动 更新中文多语言配置 API测试 Openboxes简介 Openboxes是一款开源的仓库管理软件,提供了库存管理、采购管理、销售管理等功能,可以帮助用户高效地管理仓库及库存。并提供了丰富的API接口。系统基于java8 和Gr…

关于微信,qq小程序的登录,数据库-前端-接口解析

一、背景 当我们在对接微信平台,开发微信小程序时,用户标识是必不可少的。用户标识贯通了整个开发过程,所以获取到唯一的用户标识是必须的。 二、多平台兼容 因为考虑到一次开发,可多端运行,需要考虑兼容多平台兼…

SAP 财务管理系统 —— 企业财务智能化的领航者

在当今数字化时代,企业财务管理的智能化已成为推动企业持续增长的关键因素。SAP 财务管理系统通过智能化技术,帮助财务部门提高收入、控制成本并降低财务风险,释放财务数字化转型的价值。财务 ERP 作为 SAP 的核心组成部分,将帮助…

【机器学习】成本函数在逻辑回归中的形式以及逻辑回归的成本函数

引言 在机器学习中,逻辑回归是一种用于二分类问题的线性回归的扩展。逻辑回归的成本函数是用来评估模型预测结果与实际结果之间差异的函数 文章目录 引言一、成本函数在逻辑回归中的形式1.1 成本函数的具体形式1.1.1 对于单个训练样本 二、逻辑回归的成本函数实现2.…

股指期货的期现套利及其作用是什么?

股指期货市场提供了一种独特的投资机会,即通过期现套利策略来捕捉无风险利润。这种策略基于股指期货与对应的现货指数之间的价格差异。当这种差异超出正常范围时,投资者可以利用套利操作来实现稳定收益。 期现套利的核心在于同时买入现货指数的代表性投…

STM32DMA数据传输

我估计大多数人学这么久连听说都没听说过DMA,更不用提知道它是干嘛的。其实DMA的本质就是一个数据的搬运工。平常的时候当我们没有配置的时候,一直都是CPU在搬运数据,但是这个活又累又没有技术含量,所以DMA的重要性还是有的。 目…

centos8.5.2111切换阿里云镜像

备份 mv /etc/yum.repos.d/CentOS-Linux-BaseOS.repo /etc/yum.repos.d/CentOS-Linux-BaseOS.repo.backup下载最新的源 wget -O /etc/yum.repos.d/CentOS-Linux-BaseOS.repo http://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo更改第二个配置文件 cd /etc/yum.repo…

自定义CustomRatingBar控件

通过自定义RatingBar的样式实现⭐️⭐️⭐️指示器的方式功能过于受限,而且显示的样式阴影会受到影响。 系统自带显示: 自定义样式: 因此简单自一个符合要求的 CustomRatingBar 支持设置星星数量支持设置星星Rating(float)支持设置空显示…