最小配置


git config --global user.name 'yourname' --local本地仓库 --global 全局仓库 --system 系统所有登录用户


查看当前机器配置


git config --list --optins


初始化仓库


git init 文件夹名字(可选)


暂存区


git status 查看暂存区状态 git add 文件名/文件夹名字 git commit -m"修改备注" git add -u 对已经跟踪文件更新状态


变更文件名


git mv 原文件名 新文件名 git rm 文件名 删除文件


版本历史


git log -n4 --oneline --all 分支


查看属性


git cat-file -t 类型 commit tree blob -p 具体内容


  1. 分离头指针,场景:测试功能,不基于分支
  2. commit比较,HEAD指向某一个commit

git diff HEAD HEAD~1


分支


git checkout -b 分支名称 依赖分支(可以为空,默认master) git branch -d 分支名称 // 删除分支


修改最新最新commit 的message


git commit --amend


修改老旧commit的message


git rebase -i 父commit的 Id


多个commit整理成一个,基于本地,且commit未push


git rebase -i 父commit的 Id 命令选择:squash


暂存区和HEAD差异, add 进入暂存区 commit 进入工作区


git diff --cached 暂存区和HEAD差异 git diff -- 文件名 工作区和暂存区 git reset 暂存区恢复成HEAD一样 git restore -- 文件名 暂存区恢复成和工作区一样 git reset HEAD -- 文件名 暂存区部分文件恢复成和HEAD一样


消除最近几次提交


git reset --hard commitID


暂存任务


git stash git stash list git stash pop/apply(不会删除stash)