【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 命令:

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

相关推荐
JackieDYH14 小时前
Git 与 GitHub 新电脑配置指南(从零开始)
git·github·工具·使用教程
Jeanyia1 天前
GitLab 配套 Git 常用命令
git·gitlab
10mAh1 天前
【Git】误删分支、reset --hard 后提交丢了怎么办?——reflog、fsck 与安全恢复实战
数据库·git·安全·回归
Lydro1 天前
CentOS 7 安装高版本git
git·centos 7
guwentian2 天前
Git Worktree 实战:用并行多 Agent 把开发提速 N 倍
大数据·git·elasticsearch·wroktree
不吃鱼的羊2 天前
Git识别未修改的文件有修改
git
蓝黑墨水2 天前
一个git问题的处理
git
互联网中的一颗神经元2 天前
21 — 额外命令:同时开两个窗口、自动检查哨
git
_道隐_2 天前
git stash save 和 git stash push有什么区别?
git
_道隐_2 天前
git stash如何pop指定的stash change?
git