news 2026/1/1 7:14:06

Git——多人协作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Git——多人协作

1. git协作仓库前提

加入协作项目(如下图)之后,一般不在他人的库里边进行操作,因为这样会直接改变这个库。

应该在这个库的基础上 forked 一个属于自己账户的远程库,在 forked 的库上进行克隆等操作

2. 项目克隆

项目克隆(Project Cloning)是指将一个已有的项目完整复制到本地或其他位置的过程。这个过程会保留原始项目的所有文件、提交历史记录和分支信息。

# HTTPS git clone <repository-url> # SSH git clone git@github.com:username/repository.git # 克隆分支 git clone -b <branch-name> <repository-url> # 递归克隆(包含子模块) git clone --recursive <repository-url>

例如:

git clone https://gitee.com/kongkongk/team-test.git

然后本地文件夹中就会出现你所克隆的项目文件夹

克隆参数说明

参数说明
--depth <n>浅克隆,只获取最近的n次提交
--single-branch只克隆指定的单个分支
--no-checkout克隆后不自动检出工作副本
--mirror创建完全镜像克隆(包含所有引用)

应用场景

  • 新成员加入项目:团队成员可以通过克隆快速获取项目代码

  • 备份项目:克隆可以作为项目备份的一种方式

  • 代码审查:克隆后可以在本地进行代码审查和测试

  • 项目迁移:将项目从一个代码托管平台迁移到另一个平台

注意事项

  • 克隆前确保有访问仓库的权限

  • 大型项目克隆可能需要较长时间

  • 网络不稳定时建议使用--depth 1进行浅克隆

  • 私有仓库克隆需要提供认证信息(用户名/密码或SSH密钥)

3. 多人协作

(1)创建用户1库和用户2库

克隆远程仓库team-test,指定本地仓库级别的用户名和邮箱

同上,另建一个新的仓库user2库

(2)协作处理

在 team-test 中通过 user1 添加文件 t1.txt ,并且推送到远程

推送成功后,远程仓库会显示 t2.txt

此时,在 test2 仓库中 user2 查看远程状态发现已经过期,上面是创建 user2 时查看的,下边的提交完 t2.txt 之后查看的

user2 应该从远程仓库来更新拉取,fast-forward 表示不需要手工处理冲突直接合并

(3)冲突处理

当两个人修改同一个文件的同一行的时候就会发生冲突,这里使用user1修改 t1.txt 内容后提交并且推送到远程

此刻 user2 也修改 t1.txt 内容,提交并且推送远程的时候发现出现冲突,推送失败,git 要求 user2 先拉取更新

提示中发现拉取成功,但是自动合并失败,git建议修改冲突 t1.txt 后提交,这里保留 user2 的修改并推送到远程

4. 提交代码到协作项目库

自己的远程库完成之后,提交至多人协作的远程库,经小组审核测试后同步给其他协作者

点击 Pull Requests,新建 Pull Requests

填写日志完成之后,点击创建 Pull Requests

等待审查和测试即可

若有其他协作者进行了上述提交同步申请并审核通过提交完成,自己项目也可以同步

点击 “确定” 即可

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/23 13:23:51

24、GNOME开发:声音、分数、窗口与界面组件详解

GNOME开发:声音、分数、窗口与界面组件详解 1. 声音处理 在GNOME应用程序中,有一个基础的API可用于将声音附加到事件上。在不支持声音的系统中,这些功能不会产生不良影响。但需要注意的是,虽然可以在应用中用声音装饰事件,但不要过度依赖声音来保证程序的可用性,因为有…

作者头像 李华
网站建设 2025/12/23 20:48:55

26、GNOME开发中的实用组件与功能详解

GNOME开发中的实用组件与功能详解 1. GnomeDateEdit组件 GnomeDateEdit 组件包含一个下拉日历和一个带有选项菜单的时间框。它有以下可用属性: - dateedit - flags :是以下选项的按位或操作。 - GNOME_DATE_EDIT_SHOW_TIME :除日期外还显示时间。在当前实现中,省略…

作者头像 李华
网站建设 2025/12/23 15:20:47

Octo论文详解

论文&#xff1a;Octo&#xff1a;An Open-Source Generalist Robot Policy 1. 引言 机器人领域构建“通用策略模型”面临多重挑战&#xff0c;包括处理不同的机器人结构、传感器设置、动作空间、任务规格和环境条件等&#xff0c;考虑设计和开发一个具备广泛适应性的机器人策略…

作者头像 李华
网站建设 2025/12/24 12:48:55

基于python+django的学生就业管理的招聘系统(源码+lw+部署文档+讲解等)

课题介绍本课题聚焦校园就业招聘中信息不对称、流程管理低效的痛点&#xff0c;设计并开发基于PythonDjango的学生就业管理与招聘系统。系统以Python作为核心开发语言&#xff0c;依托Django框架搭建高效稳定的后端服务架构&#xff0c;负责处理多角色权限管控、招聘信息发布、…

作者头像 李华
网站建设 2025/12/24 9:59:43

JVM 之 内存溢出实战【OOM? SOF? 哪些区域会溢出?堆、虚拟机栈、元空间、直接内存溢出时各自的特点?以及什么情况会导致他们溢出?并模拟溢出】

实战&#xff1a;OutOfMemoryError异常 除了程序计数器外&#xff0c;堆、虚拟机栈、元空间、直接内存都有发生OOM的可能 下面我们演示下引起各区域OOM的情况&#xff0c;及观察下其异常表现&#xff0c;进而初步总结各异常时的调优策略 JVM调优实例&#xff1a; 堆&#xff1a…

作者头像 李华
网站建设 2025/12/24 10:26:51

磁链观测器实战:从仿真到代码的闭环之旅

磁链观测器(仿真&#xff0b;闭环代码参考文档&#xff09; 1.仿真采用simulink搭建&#xff0c;2018b版本 2.代码采用Keil软件编译&#xff0c;思路参考vesc中使用的方法&#xff0c;自己编写的代码能够实现0速闭环启动&#xff0c;并且标注有大量注释&#xff0c;方便学习。 …

作者头像 李华