Git是什么?
Git是目前世界上最先进的分布式版本控制系统。
划重点
1、Git跟踪并管理的是修改,而非文件
2、commit只会提交暂存区里的内容,而工作区的修改内容不会被提交。
3、SSH支持的原生Git协议速度最快(比https速度快)
操作指令
- 基础
- 新建Git仓库
git init
- 添加Git管理的指定文件或文件夹
git add name.type
- 添加git仓库同级的所有文件给git仓库
git add .
- 提交给本地Git仓库
git commit -m"修改的内容"
- 查看提交的版本
- 查看提交的版本(详细)
git log
- 查看提交的版本(摘要)
git log --pretty=oneline
- 查看仓库当前的状态
git status
- 查看某个文件修改的内容
git diff name.type
- 查看某个文件在工作区和版本库里面最新版本的区别
git diff HEAD -- name.type
- 撤销修改
- 丢弃工作区的修改
git checkout -- name.type
- 丢弃暂存区的修改(放回到工作区,git reset :退回版本,HEAD:最新版本)
git reset HEAD name.type
- 如果commit后的当前版本想丢弃,就回到上个版本就好了。指令见
时光机穿梭
-->退回到上个版本
- 删除工作区的文件
git rm name.type
- 时光机穿梭
- 退回到上个版本
git reset --hard HEAD^
- 从当前退回到第n个版本
git reset --hard HEAD-n
- 回到指定commit id(退回过去之后,可以通过该方式再回到未来,commit id 写前几位也是可以的,位数写的少了容易找错,越详细越不会搞错)
git reset --hard 5e41bb86db9e1facbe42fb0bd6336d1e6c4f06d7
- 打印执行过的Git指令历史(假设回到了过去,然后终端窗口也关闭了,这个时候可通过这个命令找到会退回前的commit id)
git reflog
原理图
- git add & commit
- git add
将工作区的内容添加至暂存区 -
git commit
将暂存区的内容添加至主分支
git add & commit 原理图
- git add
相关名词
- 工作区
工作区在电脑里能看到的目录。Git工作区
指的是包含.git仓库的那个文件夹。(例:fileA是一个文件夹,fileB是fileA里的一个文件夹,fileB里有个.git的仓库,那么fileB就是Git工作区,注意,fileA可不是Git工作区。哪个文件夹里有.git仓库,就是Git工作区
) - .git内的文件
- index 又称为stage Git名词为
暂存区
- master
主分支
由Git仓库主动创建 - HEAD
指针
用来标识当前所在的分支 - config
仓库配置文件
集合仓库的配置
- index 又称为stage Git名词为
网友评论