Git
Git的三个分区
工作区 暂存区 Git仓库
全局配置
global
全局配置文件位置
C盘/用户/徐海喆/.gitconfig
查看全局配置项
git config --list --global
查看指定配置项
git config user.name
获取帮助信息
在浏览器获取详细信息
git help config
在终端获取简易信息
git config -h
清空终端
clear
获取本地项目
1. 将尚未进行版本控制的本地目录转换为Git仓库
1. 在项目目录右键打开 Git Bash 2. 执行给 git init 命令将当前的目录转化为 Git 仓库
2. 从其他服务器克隆一个已在的Git仓库
工作区的4种状态
1是未被Git管理 234是已被Git管理
1. 未跟踪
未被Git所管理的文件(新建的文件)
2. 未修改
工作区和Git仓库中的文件内容一致 (目的状态)
3. 已修改
工作区和Git仓库中的文件内容不一致
4. 已暂存
工作区中被修改的文件已被放到暂存区,准备将已修改的文件保存到Git仓库中
检查当前状态
git status
精简方式
git status -s(--short)
未跟踪的文件前面会有两个红色的??
新添加到暂存区的文件前有一个绿色的A
工作区的文件被修改,文件前有一个红色的M (说明已跟踪的工作区文件发生变化,还没有放到暂存区)
跟踪新文件
先跟踪再提交(将工作区的文件放到暂存区)
-
git add index.html 将文件添加到暂存区
-
向暂存区一次性添加多个文件
get add .
提交更新
git commit -m "新建index.html文件" 将暂存区的文件转移到仓库中
暂存已修改的文件
被修改的文件
1.重新追踪已修改的文件(重新加入暂存区) git add 文件名
2.M就变为绿色
提交已暂存的文件
(将暂存区的文件放到Git仓库)
再次运行 git commit -m 即可
撤销对文件的修改
git checkout -- 文件名
危险性较高
将工作区中所修改的文件,还原为暂存区中的文件
取消已暂存的文件
(从暂存区到工作区)
git reset HEAD 文件
git reset HEAD .是取消暂存所有文件
跳过使用暂存区
必须是曾经跟踪过的文件修改后(M),不可以是新建的文件
git commit -a -m
在仓库移除文件
1. 从Git仓库和工作区同时移除文件
git rm -f 文件名
status后显示绿色的D
2 从Git仓库移除,工作区保留相应的文件
git rm --cached 文件名
status后显示绿色的D和?? (??说明又被放到了工作区未被追踪)
忽略文件
创建一个.gitignore的配置文件
-
以#开头的是注释
-
以/结尾的是目录
-
以/开头的是防止递归
-
以!开头的表示取反
-
使用glob模式进行文件和文件夹的匹配(glob是指简化了的正则表达式)
glod模式
所谓的glob模式是指简化了的正则表达式:O
-
星号*匹配零个或多个任意字符
-
[abc]匹配任何一个列在方括号中的字符(此案例匹配一个 a 或匹配一个 b 或匹配一个 c )
-
问号 ?只匹配一个任意字符
-
在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如[0 - 9]表示匹配所有0到9的数字)
-
两个 ** 星号表示匹配任意中间目录(比如 a//z 可以匹配 a/z 、a/b/z 或 a/b/c/z 等)
查看提交历史
git log
点击回车继续展示剩余
点击q退出查看
最近几次查看
git log -2 是查看最近两次的提交历史
一行内查看
git log -2 --pretty=oneline 是在一行查看最近两次的提交历史
自定义格式
%an是作者名字 %h是提交简写哈希码 %ar是修订日期 %s是提交说明 | 可换为任意分隔符
git log -2 --pretty=oneline:"%h | %an | %ar | %s"
回退到指定版本中
1. 查看提交历史
git log --pretty=oneline
2. 选择指定哈希码
git reset --hard <哈希码>
返回到最新版本中
1. 在旧版本中查看提交历史
git relog --pretty=oneline
2. 选择最新的哈希码
git reset --hard <哈希码>