git基础
1、git的特点
- 存储能力强
- 性能高
- 开源
- 易做备份
- 支持离线操作
- 易定制工作流程
2、git的安装
- https://git-scm.com/book/zh/vz/起步-安装-Git
- sudo apt install git-all
- git --version
3、git使用前的最小配置
- 配置user.name和user.email
✔ 【git config --global user.name '用户名'】
✔ 【git config --global user.email '用户邮箱'】
- config的三个作用域
- local参数优先级高于global
4、建git仓库以及添加文件
git add 文件名 /*添加文件到暂存区*/
git status /*查看状态*/
git commit -m '对本次提交的说明' /*将暂存区里的改动提交到本地版本库*/
- git reset --hard 重置(清空暂存区)
5、文件重命名的两种方式
/*将文件readme重命名为readme.md*/
mv readme readme.md /*工作目录下*/
git status
git add readme.md /*添加readme.md*/
git rm readme /*删除readme*/
git status
/*上述方法的简化方式*/
git mv readme readme.md /*工作目录下*/
git status
6、利用git log查看版本演变历史
git log --online /*简洁查看(查看的是当前分支)*/
git log --all /*查看所有分支历史*/
git log --all --graph /*图形化显示所有分支历史*/
git log -n2 --online /*简洁查看最近的两次变动*/
git branch -v /*查看本地多少分支*/
git log --online 分支名 /*简洁查看某分支*/
git help --web log /*web查看git-log的帮助手册*/
gitk /*利用图形化工具查看版本历史,若工具的view不起作用,切会命令行再切回来即可*/
7、.git目录
- HEAD、config(配置文件,3中设置的用户名及邮箱可在此更改)、refs(引用)、objects
git checkout 分支名 /*切换分支(工作目录下使用)*/
cat .git/config /*查看内容*/
git cat-file -t 哈希值 /*-t查看类型*/
git cat-file -p 哈希值 /*-p查看内容*/
8、commit/tree/blob三个对象之间的关系
- 一个commit仅对应一个tree(存放commit的快照)
- blob指具体的文件,tree指文件夹
- 只要文件内容相同,不管文件名是否一致,均存为一个blob
9、分离头指针
- 某个变更没有基于分支去做