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

Git【多人协作一】

目前基本上可以完成的工作如下基本完成Git的所有本地库的相关操作git 基本操作分支理解版本回退冲突解决等等申请码云账号将远端信息clone到本地以及推送和力量去。但是还有一个特别重要的事情实现多人协作开发为了做这件事情我们需要先准备工作。一、准备阶段搭建多人协作环境1.1 开发者一将项目clone到指定目录在gitee上新建dev远程分支供我们使用 :创建成功创建成功的远程分支是可以通过Git 拉取到本地来 以完成本地开发工作 。Git 里的git push/git pull本质是本地 ↔ 远程仓库的同步操作。1. 如果本地分支和远程分支没有建立「追踪关系」Git 就不知道要把代码推到哪个远程仓库要推到哪个远程分支所以第一次推送时必须写全命令git push origin master2. 克隆仓库时会自动建立连接当你用git clone拉取一个仓库时本地会自动创建master或main分支这个本地分支会自动追踪远程仓库里同名的origin/master分支相当于 Git 已经记住了「本地 master ↔ 远程 origin/master」的对应关系3. 建立连接后push 可以简化写法1.2 开发者二在windows环境下在clone同一个项目仓库 来模拟多人开发的开发者按住Shift键同时在文件夹空白处右键单击。在弹出的菜单里你会看到在终端中打开Windows 11 推荐默认就是 PowerShell或者Open PowerShell window hereWindows 10 经典选项点击后PowerShell 会直接打开且当前路径就是D:\git。二、创建远程开发分支在实际开发中我们通常不会直接在主分支master上干活因为master应该始终保持稳定。正确的做法是基于master创建一个dev分支所有开发都在dev上进行。2.1 在Gitee上创建dev分支在远程仓库页面点击“分支” - “新建分支”分支名输入dev基于master创建。【上面已经完成】2.2 拉取远程dev分支到本地开发者A和B都需要拉取这个新分支git pull此时运行git branch -r应该能看到origin/dev。也可以直接clone下来 我们上面已经克隆了下来2.3 创建本地dev分支并关联在本地创建dev分支并与远程dev分支关联git checkout -b dev origin/dev这条命令会创建本地dev分支切换到dev分支设置本地dev分支跟踪远程origin/dev三、模拟并行开发与冲突解决假设你们要共同开发一个file.txt文件。开发者A先写了一个功能并推送开发者B随后也修改同一个文件推送时就会遇到冲突。这是团队协作中最常见的情况我们来一步步模拟。3.1 开发者A添加第一个功能并推送在dev分支上编辑file.txtvim file.txt内容如下hello git aaa然后提交并推送git add file.txt git commit -m first function git push origin dev推送成功。此时远程dev分支已经包含了第一次提交。3.2 开发者B在未拉取的情况下修改文件开发者B没有执行git pull直接修改本地的file.txt内容可能基于旧的版本hello git bbbb然后提交并尝试推送git add file.txt git commit -m second function git push origin dev此时Git会拒绝推送并提示! [rejected] dev - dev (fetch first)error: failed to push some refs to gitgitee.com:hyb91/git_teaching.githint: Updates were rejected because the remote contains work that you dohint:not have locally. This is usually caused by another repository pushinghint: to the same ref.You may want to first integrate the remote changeshint: (e.g., git pull ...) before pushing again.意思是远程分支有新的提交而你没有拉取所以推送被拒绝。3.3 开发者B拉取并解决冲突按照提示先拉取最新代码git pull origin devGit会自动尝试合并但发现file.txt有冲突提示Auto-merging file.txtCONFLICT (content):Merge conflict in file.txtAutomatic merge failed; fix conflicts and then commit the result.此时打开file.txt你会看到Git用特殊标记标出了冲突hello git HEADbbbaaa 305f78a... first function你需要手动编辑这个文件决定保留哪些内容。例如我们保留两个功能hello gitaaabbb保存后告诉Git冲突已解决这次推送成功。至此两位开发者已经完成了第一次并行开发与冲突解决。不断的git pull/add/commit/push,遇到了冲突就使用我们之前讲的冲突处理解决掉冲突。四、将开发分支合并到主分支当dev分支上的功能开发完成测试通过后就需要将dev分支合并到master分支。这是项目上线前的关键步骤。4.1 确保本地master是最新的git checkout master git pull origin master切换至master分支 pull 一下保证本地的 master是最新内容。合并前这么做是一个好习惯~4.2 却换dev分支处理冲突切换至dev分支合并master分支 这么做是因为如果有冲突可以在dev分支上进行处理而不是在master上解决冲突 ~git checkout dev git merge master4.3 切换至master分支合并dev分支git checkout master git merge dev cat file.txt4.4 将master分支推送至远端git status git push origin master git status此时查看远端仓库master已经是最新代码了此时dev 分支对于我们来说就没用了 那么 dev 分支就可以被删除掉。我们可以直接在远程仓库中 将dev分支删除掉总结一下在同一分支进行多人协作的工作模式通常是这样首先可以试图用 git push origin branch-name推送自己的修改如果推送失败 则因为远程分支比你的本地更新更早需要先用git pull 试图合并如果合并有冲突解决冲突并在本地提交没有冲突或者解决掉冲突后再用git push origin branch-name推送就能成功功能开发完毕将分支merge进master 最后删除分支

相关文章:

Git【多人协作一】

目前,基本上可以完成的工作如下:基本完成Git的所有本地库的相关操作,git 基本操作,分支理解,版本回退,冲突解决等等申请码云账号,将远端信息clone到本地,以及推送和力量去。但是&…...

原神帧率解锁终极指南:3步轻松突破60FPS限制,享受极致流畅体验

原神帧率解锁终极指南:3步轻松突破60FPS限制,享受极致流畅体验 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 还在为原神60帧限制而苦恼吗?高端显卡却…...

Alerter终极声音设置指南:为Android通知添加音频反馈的完整教程

Alerter终极声音设置指南:为Android通知添加音频反馈的完整教程 【免费下载链接】Alerter Tapadoo/Alerter: 是一个简单易用的 Android 通知和进度条控件库。适合对 Android 开发、用户界面以及想要在 Android 应用中显示通知和进度条的开发者。 项目地址: https:…...

qstock量化分析:3行代码实现多市场数据获取与可视化

qstock量化分析:3行代码实现多市场数据获取与可视化 【免费下载链接】qstock qstock由“Python金融量化”公众号开发,试图打造成个人量化投研分析包,目前包括数据获取(data)、可视化(plot)、选股(stock)和量化回测&…...

3dsconv高效使用指南:从格式难题到批量转换的实用方案

3dsconv高效使用指南:从格式难题到批量转换的实用方案 【免费下载链接】3dsconv Python script to convert Nintendo 3DS CCI (".cci", ".3ds") files to the CIA format 项目地址: https://gitcode.com/gh_mirrors/3d/3dsconv 解决3DS游…...

ClickHouse配置优化实战:关键参数详解与性能调优指南

1. ClickHouse配置优化的核心逻辑 ClickHouse作为一款高性能的OLAP数据库,其配置优化需要遵循三个黄金法则:资源隔离、瓶颈定位和场景适配。我见过太多团队一上来就盲目调整参数,结果反而导致性能下降。正确的做法应该是先理解系统行为&#…...

【Python MCP服务器开发终极模板】:20年架构师亲授源码级解析与高并发优化实战

第一章:Python MCP服务器开发模板概览与核心设计哲学Python MCP(Model-Controller-Protocol)服务器开发模板是一套面向协议驱动、可插拔架构的轻量级服务框架,专为构建高内聚、低耦合的模型交互后端而设计。其核心不依赖于特定Web…...

如何在个人设备上节省97%存储空间:革命性RAG系统LEANN的完整指南

如何在个人设备上节省97%存储空间:革命性RAG系统LEANN的完整指南 【免费下载链接】LEANN RAG on Everything with LEANN. Enjoy 97% storage savings while running a fast, accurate, and 100% private RAG application on your personal device. 项目地址: http…...

PyTorch 2.8镜像代码实例:使用预装torchaudio+FFmpeg实现TTS+视频合成Pipeline

PyTorch 2.8镜像代码实例:使用预装torchaudioFFmpeg实现TTS视频合成Pipeline 1. 环境准备与快速验证 在开始之前,我们先确认环境是否正常工作。这个PyTorch 2.8镜像已经预装了所有必要的组件,包括torchaudio和FFmpeg。 1.1 验证GPU可用性 …...

【Java Web学习 | 第十篇】JavaScript(4) 对象

【Java Web学习 | 第十篇】JavaScript(4) - 对象(Object)深度详解(2026最新版) 恭喜你完成数组与函数进阶! 对象(Object) 是 JavaScript 中最重要、最核心的数据结构。在 Java Web 开发中&…...

终极指南:如何深度探索Alerter的10个隐藏高级功能

终极指南:如何深度探索Alerter的10个隐藏高级功能 【免费下载链接】Alerter Tapadoo/Alerter: 是一个简单易用的 Android 通知和进度条控件库。适合对 Android 开发、用户界面以及想要在 Android 应用中显示通知和进度条的开发者。 项目地址: https://gitcode.com…...

【Java Web学习 | 第九篇】JavaScript(3) 数组+函数

【Java Web学习 | 第九篇】JavaScript(3) - 数组与函数进阶(2026最新版) 本篇对数组和函数进行更深入、实用的讲解,这是 Java Web 开发中处理后端返回数据(JSON 数组/对象列表)和封装业务逻辑的核心技能。 由于你特别…...

GitHub下载加速终极指南:3分钟让你的克隆速度提升100倍

GitHub下载加速终极指南:3分钟让你的克隆速度提升100倍 【免费下载链接】Fast-GitHub 国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~! 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 如果你经常需要…...

PlotJuggler颜色映射终极指南:如何创建惊艳的数据可视化效果

PlotJuggler颜色映射终极指南:如何创建惊艳的数据可视化效果 【免费下载链接】PlotJuggler The Time Series Visualization Tool that you deserve. 项目地址: https://gitcode.com/gh_mirrors/pl/PlotJuggler PlotJuggler是一款功能强大的时间序列数据可视化…...

EC2Instances.info未来发展规划:AI驱动的智能实例推荐系统

EC2Instances.info未来发展规划:AI驱动的智能实例推荐系统 【免费下载链接】ec2instances.info Amazon EC2 instance comparison site 项目地址: https://gitcode.com/gh_mirrors/ec/ec2instances.info EC2Instances.info作为专业的Amazon EC2实例比较平台&a…...

npm新手必看:如何用package.json一键运行本地JS文件(附常见错误排查)

npm新手必看:如何用package.json一键运行本地JS文件(附常见错误排查) 刚接触Node.js生态的开发者,往往会被各种工具和配置文件搞得晕头转向。其中package.json作为项目的"身份证"和"说明书",掌握它…...

终极指南:5分钟掌握TegraRcmGUI Switch注入工具的核心能力

终极指南:5分钟掌握TegraRcmGUI Switch注入工具的核心能力 【免费下载链接】TegraRcmGUI C GUI for TegraRcmSmash (Fuse Gele exploit for Nintendo Switch) 项目地址: https://gitcode.com/gh_mirrors/te/TegraRcmGUI TegraRcmGUI是一款专为Nintendo Switc…...

MMSkeleton部署指南:从开发环境到生产环境的完整迁移

MMSkeleton部署指南:从开发环境到生产环境的完整迁移 【免费下载链接】mmskeleton A OpenMMLAB toolbox for human pose estimation, skeleton-based action recognition, and action synthesis. 项目地址: https://gitcode.com/gh_mirrors/mm/mmskeleton MM…...

如何用Win11Debloat让你的Windows系统速度提升70%:终极优化指南

如何用Win11Debloat让你的Windows系统速度提升70%:终极优化指南 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutt…...

3个秘诀彻底解决机械键盘连击问题:Keyboard Chatter Blocker全攻略

3个秘诀彻底解决机械键盘连击问题:Keyboard Chatter Blocker全攻略 【免费下载链接】KeyboardChatterBlocker A handy quick tool for blocking mechanical keyboard chatter. 项目地址: https://gitcode.com/gh_mirrors/ke/KeyboardChatterBlocker 机械键盘…...

如何3步搭建AI驱动的多智能体股票分析平台?TradingAgents-CN全指南

如何3步搭建AI驱动的多智能体股票分析平台?TradingAgents-CN全指南 【免费下载链接】TradingAgents-CN 基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版 项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN 面对复杂多变的金…...

HighwayEnv完全指南:10分钟快速上手自动驾驶强化学习环境

HighwayEnv完全指南:10分钟快速上手自动驾驶强化学习环境 【免费下载链接】HighwayEnv A minimalist environment for decision-making in autonomous driving 项目地址: https://gitcode.com/gh_mirrors/hi/HighwayEnv HighwayEnv是一个轻量级的自动驾驶决…...

Fish 4.6发布,命令行工具迎来新升级

近日,基于 Rust 语言开发的现代化交互式 Shell Fish 4.6 正式发布。它以智能提示和友好体验著称,此次更新带来细节优化,支持 systemd 环境变量,提升与 Linux 系统集成度。深度集成 systemd2024 年起,systemd 引入三个用…...

smart-mqtt v1.5.4发布,认证能力大升级

smart-mqtt v1.5.4正式发布,此次版本聚焦企业级连接认证能力升级,推出全新高级认证插件,在高性能底座上补齐企业级接入能力,还公布了获取方式与未来规划。版本核心亮点v1.5.4重点通过advanced-auth-plugin让连接认证更适配企业真实…...

【深度验证】ArcGIS Band Collection Statistics相关性分析结果偏差的根源探究

1. 当GIS分析结果与统计软件不一致时 最近在做一个遥感数据分析项目时,我遇到了一个奇怪的现象:同样的数据集,在ArcGIS中使用Band Collection Statistics工具计算出的皮尔逊相关系数,与在Excel和R中计算的结果存在明显差异。起初我…...

别只刷题了!用Python/C++搞定考研机试高频算法(附PIPIOJ真题代码重构与优化)

从暴力解法到优雅实现:Python/C双语言拆解考研机试高频算法 考研机试不仅考察算法理解,更检验工程化编码能力。许多考生能写出正确但冗长的代码,却在时间优化和代码简洁性上失分。本文将用Python和C对比实现六大高频题型,重点分析…...

Docker下Kong+Konga全栈部署避坑指南(附PostgreSQL 9.6配置)

Docker环境下Kong与Konga全栈部署实战指南 引言 在现代微服务架构中,API网关扮演着流量调度与安全管控的关键角色。Kong作为开源API网关的标杆产品,凭借其插件化架构和强大性能,已成为企业级API管理的首选方案。而Konga作为Kong的图形化管理…...

HorizonCalendar与Airbnb设计系统的完美融合:打造iOS应用中的顶级日历体验

HorizonCalendar与Airbnb设计系统的完美融合:打造iOS应用中的顶级日历体验 【免费下载链接】HorizonCalendar A declarative, performant, iOS calendar UI component that supports use cases ranging from simple date pickers all the way up to fully-featured …...

游戏多开检测技术深度解析与实战绕过方案

1. 游戏多开检测技术全景解析 游戏多开检测本质上是一种防止同一程序重复运行的技术手段。我在逆向分析各类游戏客户端时发现,现代游戏通常会采用组合拳式的检测策略,从简单的进程查找到复杂的驱动级验证,防御层级越来越深。对于开发者而言&a…...

DAMO-YOLO智能视觉系统作品集:多场景零售货架检测效果惊艳展示

DAMO-YOLO智能视觉系统作品集:多场景零售货架检测效果惊艳展示 1. 零售视觉检测的新标杆 走进现代零售空间,商品陈列的艺术背后隐藏着复杂的运营挑战。传统的人工巡检方式已经难以满足快节奏零售环境的需求,这正是DAMO-YOLO智能视觉系统大放…...