git下载安装之后:
1.首先设置用户名称和邮箱地址,每次Git提交都会使用该用户信息。
git config --global user.name "xxx"
git config --global user.email "xxxx"
取值无所谓,任意设置,没有什么讲究。
git config <section>.<key> <value> # 修改,设置 INI 文件中某个属性的值
# Git 的三个配置文件 分别是
版本库级别的配置文件 优先级最高 工作目录中的 .git/config
全局配置文件(用户主目录下) 次之(--global) ~/.gitconfig
系统级配置文件(安装目录下) 优先级最低(--system) /etc/gitconfig
# 查看配置信息
git config --list # git配置文件采用INI文件格式
git config user.name # gitconfig命令可以读取和修改INI配置文件的内容
git config <section>.<key> # 读取某个配置的键值
# 编辑配置文件(vim打开)
git config --global --edit
# 删除某项配置
git config --global --unset <section>.<key>
2.获取Git仓库
可以本地初始化一个(在一个空目录下执行 git init)。
也可以从远程仓库克隆(git clone 会生成一个目录,执行的时候不要在一个git仓库路径下,因为仓库不能嵌套)。
3.本地仓库中的几个概念
版本库:.git
文件夹(有很多配置信息,日志信息,数据对象,文件版本信息等等)。
工作区:.git
文件夹所在的目录。
暂存区:.git
文件夹中的index文件。
常用命令
git add .
发生的变化:
在index表中 插入/更新
一条数据,包含信息(blob对象的hash值,被add的文件名)
根据文件内容,生成blob数据对象。
$ git ls-files# 查看index文件里的内容
$ git ls-files -s
git reset xxx
发生的变化:其实就是删去了index表中的一条记录,blob数据对象还在。
git prune -n# 列出没有指向的blob数据对象
git prune# 进行清理
git commit -m "init repo"
发生的变化:
git log# 查看当前分支的 提交历史
git log --oneline# 简洁形式展示
# git cat-file命令可以来查看object的信息
# 获得object的类型
git cat-file -t hash
# 获得object的内容数据
git cat-file -p hash
# 获得object的内容的长度
git cat-file -s hash
回退版本,工作区会变,暂存区会变,版本库没变,只是改变了指向的commit
git reset --hard hash