Git 安装
https://git-scm.com/downloads
配置user信息
git config --global user.name ''
git config --global user.email ''
config 的三个作用域
# 缺省等同于local
git config --local # 只对某个仓库有效
git config --global # 只对当前用户所有的仓库有效
git config --system # 只对系统所有登录的用户有效
显示配置
git config --list --local
git config --list --global
git config --list --system
建Git仓库
1. 将已有的项目纳入git管理
cd project
git init
2. 新项目直接用git管理
git init xxxx # xxx 表示要被git管理的项目
往仓库里面添加文件
git add .
git commit -m "xxx" # xxx 表示本次修改的备注
# 跳过暂存区
git commit -am 'xxxx' # xxx 表示本次修改的备注
# 仓库中的文件变更名
mv read read.md
git add read.md
git rm read
git 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 pull
git强制覆盖本地命令(单条执行):
git fetch --all && git reset --hard origin/master && git pull