Git
下载官网:git-scm.com
分布式管理git 存储的是版本的索引号
git 最基础的本地结构 有三个地方
这三个地方和远程没有关系,只和自己的本地git有关系
工作区:就是自己当前的workspace 写代码的地方,就使增删改查代码或者文件的地方
暂存区:暂时理解成中间过渡区域吧
本地库:可以认为就是本地的一个个的最终版本,相当于等着上桌的一道道菜
1)本地工作空间-----> 2)暂存区(缓存区)------> 3)本地仓库
本地-----> git add -----> 暂存区(stage)
暂存区----->git commit -m"注释" ----->本地仓库
如图:
还有两个类似的东西就是:
远程库:理解为远程类型的“本地库”
代码管理中心:基本就是 远程库;常见的 有gitlib 和github gitee(码云)
gitlib 需要自己搭建,github和gitee 不需要自己搭建
一般本地库 和 远程库需要交互
本地库合理远程库交互的方式分两种情况:
1)团队内部合作,就是公司自己人用
如图:
2)跨团队合作,需要和别的公司团队合作
step1:最开始的时候远程库1肯定是啥都没有,所有东西都在A公司Boss的本地库里面,然后boss把所有文件代码push到远程库1
step2:B公司员工用自己的远程库2forkA公司远程库的代码文件(fork不是命令,是github的一个功能)
step3:B公司员工从自己的远程库2 把代码文件clone 到自己的本地库
step4:B公司员工在修改变更代码文件以后,按照之前的git逻辑push到远程库中
step5:B公司的远程库2想要将代码合并到远程库1中需要提交pull request 请求,然后等待A公司审核,并且meger到自己的远程库1中
step6:远程库1和远程库2的代码meger完以后,A公司的员工就可以在pull文件代码到自己的本地库
关于fork和clone和pull 的区别
git常用命令:
git init
初始化本地库(先要进入到 test文件夹里面,在哪里初始化 哪里就是你的git本地库)
创建完以后,该目录下会多出一个.git文件夹,不过是隐藏的
如果要和 别的项目组进行合作 远程交互的话,那么我就先需要初始化本地库,然后进行 push的操作
初始化操作 进入到 git bash 里面执行命令 git init
然后开始写代码,
写完代码以后此时代码还没有和git发生关系,如果要发生关系的话需要执行 git add +代码 进入缓存区,然后执行 git commit + 代码进入到本地库
这个时候就发生关系了
git config --global user.name "testMan"
设置一个全局的用户名 testMan
git config --global user.email "testMan@qq.com"
设置一个全局的邮箱 testMan testMan@qq.com
git add + 提交的东西名称