个人主页:Lei宝啊
愿所有美好如期而遇
前言
上节:Git多人协作(一)
上次我们模拟了多人在一个分支上进行开发,并且是在远程直接新建的分支,而后我们本地进行拉取;本节我们将模拟多人分别在多分支上进行开发,并在本地新建分支推送到远端。
一般来说,如果有多需求需要多人同时进行开发,是不会在一个分支上进行多人开发的,而是一个需求就要创建一个分支。
现在我们模拟有两个需求,博主将在linux和windows下进行模拟。
现在我们在linux下新建一个分支模拟一个功能:
接着创建需求内容,创建func1文件
由于我们远程仓库上没有func1分支,所以我们不能直接进行push,那么我们可以使用
git push origin branch-name 将我们的分支推送到远端。
这个分支也就出现在了我们的远端。
但是我们也要知道这样做,本地仓库也是不会与远程仓库建立连接的。
那么我们在windows下进行开发需求二
在推送各自的分支时,不会有任何冲突,互不影响。
接下来我们假设需求一开发完成,开发二的开发人员有事离开,开发一的人员在linux下帮助开发二的人员进行开发。
我们将远程的func2分支拉取了下来,现在我们新建本地分支func2,并且建立连接。
此时,开发二的人员回来了,在windows下继续开发。
但是他想拉取开发一人员替他开发的代码,发现本地和远程没有连接,pull需要指定或者我们建立连接。
各自功能开发完毕后,我们需要将他们都合并到master分支上,我们先合并开发二
此时我们的master分支上就合并了需求二
现在我们合并需求一
我们切换到func1分支上合并master
实际上我们都是操作远程仓库上的分支,所以在func1分支上合并master后需要推送该分支到远端,然后在远程仓库提交Pull Requests。
现在这两个分支都没有用了,我们在远程仓库删掉这两个分支。
但是很多在远程仓库删除的分支在本地我们仍然可以看到,我们该如何删掉他们呢?
我们使用git remote show origin可以查看到那些远程仓库已经不存在的分支,而且他也提示了我们该如何删除他们。
这样就删除了那些远程仓库不存在的分支。