一. 本地结构:
工作区: 你写代码的地方.你写的文件都存在工作区里 工作区把提交到暂存区的命令是: git add 暂存区: 你打算要提交的东西,做一个临时存储的区域,将来可以把数据提交到本地库或者撤回到工作区 暂存区提交到本地库的命令式 git commit 本地库: 存储的是历史版本
二.代码托管中心
想: 咱们都有本地库了代码和版本都在本地库了为什么还需要代码托管中心呢?
首先先了解代码托管中心是干什么的?
代码托管中心的任务时帮我们维护远程库, 那么问题又来了 什么是远程库:
本地库和远程库他们之间的交互方式也分为两种:
1) 团队内部协作:
首先项目经理会将本地库的东西推送到远程库里去 叫做push操作
那如果本地开发人员要想开发是要在本地库开发 但是所有东西都在远程库里,所以你作为开发人员是不是要将远程库的东西克隆到你本地,在本地库里面有了是不是就可以开始写代码,但是你写完的代码是不是也要更新到远程库里去,但是想要更新还不能随意更新,因为这是
经理创建的,你不嫩想要推送什么就推送什么
所以首先要加入项目经理的团队,他批准以后,才能把想要的东西推送到远程去 也是一个push操作
但是项目经理和远程库还不同步这时就可以把东西从远程库拉取到本地库 叫做puli操作
2) 跨团队合作
首先项目经理创建本地库然后推送到远程库里,如果b公司合作开发的话,他不用 直接访问a创建的远程库,可以直接通过这个fork操作,将a远程库的形成了一个复制操作, 复制完了会形成以个新的远程库 b就可以直接访问b的远程库就可以了,这时就可以做一个克隆操作,把远程库的东西通过clone放到b的本地库开发 如果需要提交新东西可以通过push操作放在数据放到远程库就可以了 但是a的远程库和b的远程库里面的内容是不一样的,所以b会把远程库同步更新到a远程库
先做一个拉取申请pull request 然后审核 进行merge(合并)操作 这时已经和并完了 a就可以把远程库的东西取到本地库中了
托管中心种类:
局域网环境下: 可以搭建gitlab服务器作为代码托管中心,Gitlab可以自己去搭建(团队)
外网环境下: 可以有GitHub或者Gitee作为代码托管中心,GitHub或者Gitee是现成的托管中心,不用自己去搭建(跨团队)
图片转载于https://www.bilibili.com/video/BV185411L7xs?from=search&seid=5047268181081631261