Git 安装
https://git-scm.com/downloads
配置user信息
git config --global user.name ''git config --global user.email ''
config 的三个作用域
# 缺省等同于localgit config --local # 只对某个仓库有效git config --global # 只对当前用户所有的仓库有效git config --system # 只对系统所有登录的用户有效显示配置git config --list --localgit config --list --globalgit config --list --system
建Git仓库
1. 将已有的项目纳入git管理cd projectgit init2. 新项目直接用git管理git init xxxx # xxx 表示要被git管理的项目
往仓库里面添加文件

git add .git commit -m "xxx" # xxx 表示本次修改的备注# 跳过暂存区git commit -am 'xxxx' # xxx 表示本次修改的备注# 仓库中的文件变更名mv read read.mdgit add read.mdgit rm readgit status# 把暂存区清空git reset --hard# 查看提交日志git log# git 修改文件名git mv read read.md ---> 替换上面的3个步骤# gitk 查看当前项目的提交日志树 git checkout -b xxxx1 xxxx2 # 创建分支 xxx1 新分支名 xxx2 以那个分支创建 git log -n1 # 查看第一个提交 git diff commit_id1 commit_id2 # 比较两个分支 git diff HEAD HEAD^1 # HEAD和他的父亲比较 HEAD~1 也可以
.git文件目录结构


git cat-file -t commit_id # 查看文件动作类型git cat-file -p commit_id # 查看文件提交信息git branch -av # 查看本地和远程分支
commit、tree和blob三个对象之间的关系

分离头指针的问题


git强制覆盖: git fetch --all git reset --hard origin/master git pullgit强制覆盖本地命令(单条执行): git fetch --all && git reset --hard origin/master && git pull