Git 的使用与实践
这是我参与「第三届青训营 -后端场」笔记创作活动的的第4篇笔记
(一)相关参考学习资料地址
1)Git 安装
2)Git 基本命令学习
学习 Git Add / Commit / clone 等命令
(二)课堂笔记
2.1 Git 是什么?
2.1.1 版本控制
1)本地版本控制
- 依托于本地磁盘进行版本控制
2)集中式版本控制
- 存在一个统一的远端服务器,用于版本控制,本地不存储版本控制
3)分布式版本控制
- 每个库都拥有所有的版本控制信息,远端服务器用于不同库之间进行版本信息同步
2.1.2 衍生平台
- Gitlab github.com/
- Github gitlab.com/gitlab-org
- Gerrit android-review.googlesource.com/q/status:op…
还有 bitbucket, Coding, 码云 等一系列平台
2.2 Git 命令基本使用方式和原理
2.2.1 Git 配置
-
Git Config:分成本地,用户,系统基本的配置
-
Git Remote:分成 SSH 和 HTTP 两种协议实现,不同协议有不同的免密配置方式
2.2.2 代码提交
-
Git Add:将代码从工作区提交到暂存区
-
Git Commit:将暂存区代码提交到 Git 存储
2.2.3 分支管理与命名
2.2.4 Git 存储基本概念
-
1)Ref
- Tag 仓库标签
- Branch 仓库分支
-
2)Object
- Blob 存储文件内容信息
- Tree 存储目录树信息
- Commit 存储提交信息
- Tag 存储附注标签信息
2.2.5 代码同步
-
Git Clone:将代码从远端拉取到本地
-
Git Fetch & Git Pull:将远端仓库代码同步到本地仓库
-
Git Push:将本地代码同步到远端仓库
2.3 Git 研发流程
- 创建本地仓库 git init
git init
- 链接本地仓库与远端仓库
git remote add origin
origin 默认是远端仓库别名 url 可以是可以使用https或者ssh的方式新建
- 检查配置信息
git config --list
- Git user name 与email
git config --global user.name "yourname"
git config --global user.email "your_email"
- 生成SSH密钥
ssh-keygen -t rsa -C "这里换上你的邮箱"
cd ~/.ssh 里面有一个文件名为id_rsa.pub,把里面的内容复制到git库的我的SSHKEYs中
- 常看远端仓库信息
git remote -v
- 远端仓库重新命名
git remote rename old new
- 提交到缓存区
git add . 全部上传到缓存区
git add 指定文件
- 提交到本地仓库
git commit -m 'some message'
- 提交远程仓库
git push <远程主机名> <本地分支名>:<远程分支名>
- 查看分支
git branch
- 创建新分支
git branch
- 切换分支
git checkout
- 创建分支并切换
git checkout -b
- 删除分支
git branch -d
- 删除远程分支
git push -d
- 切换分支
git checkout