之前都是在自己的本地创建本地仓库供自己使用,团队协作开发模式下,流程上有一些区别。
一、团队协作的开发流程:
中央仓库的创建
一般是由团队技术LEADER或指定的人完成的,仓库中默认是有一些初始化文件的。中央仓库可能在:GitHub、Coding、自己公司的git仓库服务平台、自己公司的服务器等。
基于GitHub如何创建一个远程仓库,登陆github帐号以后,点击绿色图标New respository按钮(或者点击头像旁边的加号,也会出现New respository)。点击之后,Repository name是给新仓库取一个名字,Description是你对仓库的描述,选择Public,点击Create respository按钮。然后会显示远程仓库的地址。为远程仓库添加基础的信息(作为LEADER)
(1)在自己本地创建一个本地仓库, 把一些基础内容都放在仓库中
(2)把新增加的信息提交到本地仓库历史区
(3)让本地仓库和远程仓库保持关联
(4)把本地仓库历史区的信息同步(推送)到远程仓库上
(5)让本地仓库与远程仓库保持关联git remote add 名字(一般都叫作origin) 远程仓库地址 //进行仓库关联 git remote rm 名字 //移除关联 git remote -v //查看当前仓库与哪些远程仓库保持关联
(6)让本地仓库历史区信息与远程仓库信息保持同步
git push origin master //将本地信息推送到远程上,origin是我们本地和远程仓库关联的那个名字(可变)。此时会要求输入github账号的名称和密码 git pull origin master //将远程的拉取到本地,master是远程仓库的主分支(可变)
创建远程仓库完成之后,我们如果想要把远程内容拉取下来,我们可以clone or download,然后复制链接,然后在桌面git bash here,然后输入如下命令,此时你会发现在桌面上多了一个文件夹,名字就是你取的新的文件名,然后进入这个文件夹,然后输入git remote -v,你会发现这个本地仓库会与远程仓库自动关联。这做我们做到了三点:创建了本地仓库、将远程仓库的东西拉取到了本地、将本地仓库与远程仓库进行了关联。
git clone 链接 取一个文件名
二、无分支管理模式
所有人都是用的是master分支,每天上班的第一件事情,以及每天提交自己代码 的时候,第一件事情就是先拉取。
git pull origin master git add . / git commit -m '' / git push origin master
如果拉取下来,远程仓库和本地仓库不是同一个文件同一行代码冲突,git会自动依赖于 Fast-forward模式进行合并,自动合并后,我们重新提交即可。
如果拉去下来,远程仓库和本地仓库同一个文件同一行代码冲突,找到冲突文件,留下自己想要的代码,不管之前是否commit过,都要重新commit,然后push。
三、单独分支管理模式
每天第一件事情就是把远程master内容拉取到本地master上(提交之前也是),每个人在自己的本地仓库中,先进行分支创建和切换。
git branch //查看当前存在分支 \* master //*代表当前在哪个分支上 git branch dev //创建一个叫做dev的分支,当创建到某个分支的时候,会把master分支上的信息同步到这个dev分支上 git checkout dev //切换到dev分支上 git checkout -b dev 创建并且切换到这个分支上
正常的开发和提交,但所有的操作都是在自己的分支上。
把自己本地本地分支中的内容,合并到自己本地master分支上。
git stash 暂存文件 //(分只有更改,不能直接切换分支,需要把修改的内容暂存) //先切换到master分支上 git stash pop //还原在世存储的内容 git merage dev //把dev分支合并到master分支上(有冲突则按照之前的规则修改)
删除本地创建的分支
(1)下一次重新创建分支时,可以让分支与master统一
(2)远程仓库中不记录任何的分支信息,防止冲突git branch -D dev //删除dev分支(删除的时候需要先切换到其他分支才可以删除) git log --graph / --online //两个都可以
将本地master分支中的内容提交到远程仓库中