【Git】原理及使用(七) (多人协作 [下])
一般情况下如果有多需求需要多人同时进行开发是不会在一个分支上进行多人开发的而是一个需求或一个功能点就要创建一个 feature 分支。现在同时有两个需求需要你和你的小伙伴进行开发那么你们俩便可以各自创建一个分支来完成自己的工作。在上个部分我们已经了解了可以从码云上直接创建远程分支其实在本地创建的分支也可以通过推送的方式发送到远端。在这个部分我们就来用一下这种方式。• 对于你可以进行以下操作• 对于小伙伴可以进行以下操作此时在本地你看不见他新建的文档他看不见你新建的文档。并且推送各自的分支时并没有任何冲突你俩互不影响用起来很舒服再来看下远端码云上此时的状态正常情况下你俩就可以在自己的分支上进行专业的开发了但天有不测风云你的小伙伴突然生病了需求还没开发完需要你帮他继续开发于是他便把feature-2分支名告诉你了。这时你就需要在自己的机器上切换到feature-2分支帮忙继续开发要做的操作如下切换成功后便可以看见feature-2分支中的function2文件了接着就可以帮小伙伴进行开发推送成功这时你的小伙伴已经修养的差不多可以继续进行自己的开发工作那么他首先要获取到你帮他开发的内容然后接着你的代码继续开发。或者你已经帮他开发完了那他也需要在自己的电脑上看看你帮他写的代码Pull无效的原因是小伙伴没有指定本地feature-2分支与远程origin/feature-2分支的链接根据提示设置feature-2和origin/feature-2的链接即可拉取成功目前小伙伴的本地代码和远端保持严格一致。你和你的小伙伴可以继续在不同的分支下进行协同开发了。各自功能开发完毕后不要忘记我们需要将代码合并到master中才算真正意义上的开发完毕。由于你的小伙伴率先开发完毕于是开始merge1.切换至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 命令这样就删除了那些远程仓库不存在的分支。对于本地仓库的删除之前的已经学过了大家可以自行操作。