【Git】原理及使用(七) (多人协作 [下])

一般情况下,如果有多需求需要多人同时进行开发,是不会在一个分支上进行多人开发的,而是一个需求或一个功能点就要创建一个 feature 分支

现在同时有两个需求需要你和你的小伙伴进行开发,那么你们俩便可以各自创建一个分支来完成自己的工作。在上个部分我们已经了解了可以从码云上直接创建远程分支,其实在本地创建的分支也可以通过推送的方式发送到远端。在这个部分我们就来用一下这种方式。

• 对于你,可以进行以下操作:

• 对于小伙伴,可以进行以下操作:

此时,在本地,你看不见他新建的文档,他看不见你新建的文档。并且推送各自的分支时,并没有任何冲突,你俩互不影响,用起来很舒服!!

再来看下远端码云上此时的状态:

正常情况下,你俩就可以在自己的分支上进行专业的开发了!

但天有不测风云,你的小伙伴突然生病了,需求还没开发完,需要你帮他继续开发,于是他便把feature-2分支名告诉你了。这时你就需要在自己的机器上切换到feature-2分支帮忙继续开发,要做的操作如下:

切换成功后,便可以看见feature-2分支中的function2文件了,接着就可以帮小伙伴进行开发:

推送成功:

这时,你的小伙伴已经修养的差不多,可以继续进行自己的开发工作,那么他首先要获取到你帮他开发的内容,然后接着你的代码继续开发。或者你已经帮他开发完了,那他也需要在自己的电脑上看看你帮他写的代码:

Pull无效的原因是小伙伴没有指定本地feature-2分支与远程origin/feature-2分支的链接,根据提示,设置feature-2和origin/feature-2的链接即可:

拉取成功!

目前,小伙伴的本地代码和远端保持严格一致。你和你的小伙伴可以继续在不同的分支下进行协同开发了。

各自功能开发完毕后,不要忘记我们需要将代码合并到master中才算真正意义上的开发完毕。

由于你的小伙伴率先开发完毕,于是开始merge:

1.切换至master,pull一下,保证本地master是最新内容。

2.切换到feature-2分支,合并master分支。

3.切换至master分支,合并feature-2分支。

4.将master分支推送到远端。

此时远程仓库状态:

当你的小伙伴将其代码 merge 到 master 后,这时你也开发完成了,也需要进行 merge 到 master 操作,于是你:

此时远程仓库的状态:

此时, feature-1 和 feature-2 分支对于我们来说就没用了,那么我们可以直接在远程仓库中将两个功能分支删掉:

这就是多人协作的工作模式,一旦熟悉了,就非常简单。

远程分支删除后,本地git branch -a依然能看到的解决办法

当前我们已经删除了远程的几个分支,使用 git branch -a 命令可以查看所有本地分支和远程分支,但发现很多在远程仓库已经删除的分支在本地依然可以看到。例如:

使用命令 git remote show origin ,可以查看remote地址,远程分支,还有本地分支与之相对应关系等信息。

此时我们可以看到那些远程仓库已经不存在的分支,根据提示,使用 git remote prune origin 命令:

这样就删除了那些远程仓库不存在的分支。对于本地仓库的删除,之前的已经学过了,大家可以自行操作。

相关推荐
他们都叫我GPT侠1 小时前
【无标题】
git·github
果汁华1 小时前
CLI 命令行与 Python 框架实战
git·python·github
zzzzzz3102 小时前
我用 AI Agent 重构了日常开发工作流,效果出乎意料
人工智能·git·github
我叫黑大帅16 小时前
git 的 NFD 与 NFC 有什么区别?为什么我有个文件在 NFC 中间不会被当成改动,在 NFD 中就会当成改动
git·面试·github
呆萌很19 小时前
Git push 408 超时、远程断开解决办法
git
Lesile20 小时前
Hands-on Git experience
git
Co_Hui21 小时前
Git 基本使用
git
cooldream200921 小时前
AI 时代,Git 应该怎么学
人工智能·git
柒和远方1 天前
V053: 从 Git 回退到 AI 工程治理:Vibe Coding 的 Harness 工作流与质量阀门
git·vibecoding
炸膛坦客1 天前
Git 和 GitHub:(五)一文给出常用 Git 命令,持续更新中......
git·github