4个区:
工作区 —— 暂存区 —— 本地仓库 —— 远程仓库
5种状态:
未修改 —— 已修改 —— 已暂存 —— 已提交 —— 已推送
修改检查
检查 工作区 /暂存区》已修改: git diff
检查 暂存区 /本地仓库》已暂存: git diff --cached
检查 本地仓库/远程仓库》已提交: git diff master origin/master
修改撤销
已修改: git reset --hard
已暂存: git reset --hard
已提交: git reset --hard origin/master
已推送: git reset --hard HEAD^ 先恢复本地仓库
git push -f 再推送
git config --global user.name 本机所有仓库使用
git config --global user.email 本机所有仓库使用
mkdir XX 创建仓库
cd XX 进入仓库
pwd 显示当前目录
cat file-name 显示文件内容
git init 添加git管理初始化
git add 把添加或修改的文件注册到git仓库
git commit -m "info"把添加或修改的文件提交到git仓库
git status 仓库当前状态
git diff 查看修改不同
git remote add origin git@github.com:path/repo-name.git 本地关联远程仓库
git branch --set-upstream branch-name origin/branch-name 关联本地分支和远程分支
git push -u origin master 初始化推送本地到远程
git push origin master 第二次或多次推送本地到远程
git push origin branch 推送本地分支到远程对应分支
git branch dev 创建分支
git checkout dev 切换分支
git checkout -b branch-name 创建并切换分支
git checkout -b branch-name origin/branch-name 获取远程分支到本地分支
git pull 获取最新
git branch 查看分支
git merge dev 合并指定分支到当前分支
git merge --no-ff -m "info" dev 禁用FF合并分支到当前分支
git branch -d dev 删除分支
git branch -D dev 强行删除
git log --graph 查看分支合并图
git stash 存储现场
git stash list 存储现场列表
git stash pop 恢复并删除存储现场
git stash apply stash@{0}恢复
git stash drop stash@{0}删除
git remote 查看远程仓库
git remote -v 查看远程仓库详细信息
git tag 查看标签
git tag tag-name 打标签
git tag tag-name commit-id 对某个提交打标签
git tag -a tag-name -m "info" commit-id 对某个提交打标签说明
git tag -s tag-name -m "info" commit-id 对标签PGP签名(私钥)
git show tag-name 查看某标签详细
git push origin tag-name 推送标签到远程
git push origin --tags 推送全部标签到远程
git tag -d tag-name 删除本地标签
git push origin:refs/tags/tag-name 删除远程标签(需先删本地标签)
git log 查看提交历史;回退历史版本
git reflog 查看命令历史;回到未来版本
git reset --hard HEAD 该版本
git reset --hard HEAD^ 上一版本
git reset --hard HEAD~100 上一版本
git reset --hard commid_id某个版本
git checkout --path/file 暂存区覆盖工作区:还原工作区文件和版本库版本相同
git reset --path/file 撤销暂存区的修改:变为和版本库版本相同
git reset HEAD path/file 清空暂存区
git checkout HEAD --path/file 撤销工作区和暂存区修改,变为和版本库版本相同
git reset --hard HEAD 覆盖工作区和暂存区修改,变为和版本库版本相同
git rm filename 删除文件