1、Git工作机制
工作区(写代码) =(git add)> 暂存区(临时存储)=(git commit)> 本地库(历史版本)
注意:数据一旦写入到本地库之后就不能篡改了,除非删除本地库;在暂存区就可以撤回
但是放到GitHub上就不能篡改了,GitHub相当于是服务器端的仓库
2、Git和代码托管中心(代码托管中心负责维护远程库)
·局域网
·GitLab
·外网
·GitHub:代码托管中心的远程库
·码云:Gitee,码云还有很多其它的功能
GitLab:局域网的代码托管中心
3、团队内协作
创建者:本地库 =(push)> 远程库
远程库 =(pull)> 本地库
协作者: 远程库 =(clone)> 本地库
本地库 =(push)> 加入团队 > 远程库
4、跨团队协作
创建团队:远程库(创造团队) =(fork复制一份)> 远程库(协作团队)
协作团队: 远程库 =(clone)> 本地库
本地库 =(push)> 远程库
远程库(自己的) =(pull request => 审核 => merge)> 远程库(创建者的)
5、git常见命令
mkdir —— 创建目录
git init —— 初始化仓库
git add 文件名 —— 从工作区加入到缓存区,增加多个文件用空格分开
git commit 文件名 —— 从缓存区加入到本地库
git commit -a —— 直接从工作区加入到本地库
git commit -m “说明” 文件名—— 从工作区加入到本地库并对文件进行说明,不指定文件名就是把文件都提交
git reflog —— 查看版本号信息
git log —— 打印版本号的完整信息 /往上搜索,b往下翻页,空格往上翻页,q退出(less命令)
git log --pretty=oneline —— 打印版本的简化信息(Head 指示我们正在操作的版本)
git reset --hard 版本号 —— 把head的指针指向指定的版本号
git status —— 查看文件当前状态信息
6、分支操作
git branch -v —— 查看分支
git branch hotfix —— 创建分支
git checkout 分支名 —— 切换分支
先切换到分支1,git merge 分支2名 —— 将分支2合并到分支1
产生冲突:将产生冲突的文件的一个git add 文件名;执行git commit -m ”说明“(不能带文件名);再进行分支合并
7、远程库交互
本地库才能与远程库进行交互‘
git remote add origin https://github.com/atguigu2018ubu//aa —— 给远程库的地址取个别名
git remote -v —— 查看远程库的别名地址
git push origin master—— 执行推送,origin为远程地址的别名,master为要推送的分支
git clone 地址 —— 克隆远程库,进行了三个操作:1.克隆远程库;2.本地库初始化;3.为地址创建别名
git push origin master —— 推送消息到远程库,如果不是创建者本人推送需要进行授权才能推送(报错403就是没有权限访问)