1.git图解
![在这里插入图片描述](https://img-blog.csdnimg.cn/4d680fd145194cb99e5ffdf29903f9be.png?x-oss-process=image,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAd3liXzAwMQ==,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
2.git操作命令
1.添加操作
#添加指定文件到暂存区
git add [file1] [file2]
#添加指定目录到暂存区,包括子目录
git add [dir]
#添加当前目录的所有文件到暂存区
git add .
2.删除操作
#删除工作区文件,并且将这次删除放入暂存区
git rm [file1] [file2]
#改名文件,并将这个改名放入暂存区
git mv [file1-origin] [file-renamed]
3.代码提交
#提交暂存区到仓库区
git commit -m [message]
#提交暂存区的指定文件到仓库区
git commit [file1] [file2] ... -m [message]
#提交工作区自上次commit之后的变化,直接到仓库区
git commimt -a
#提交时显示所有diff信息
git commit -v
4.查看信息
#显示有变更的文件
git status
#显示当前分支的版本历史
git log
#显示commit历史,以及每次commit发生变更的文件
git log --stat
#搜索提交历史,根据关键词
git log -S [keyword]
#显示某个文件的版本历史
git log --follow [file]
#显示过程5次提交
git log 5 --pretty --oneline
#显示暂存区和工作区的差异
git diff
#显示暂存区和上一个commit的差异
git diff --cached [file]
#显示工作区于当前分支最新commit之间的差异
git diff HEAD
5.远程同步
#下载远程仓库的所有变动
git fetch [remote]
#显示所有远程仓库
git remote -v
#增加一个新的远程仓库,并命名
git remote add [shortname] [url]
#取回远程仓库的变换,并与本地分支合并
git pull [remote] [branch]
#上传本地指定分支到远程仓库
git push [remote] [branch]
#强行推送当前分支到远程仓库,即使有冲突
git push [remote] --force
#推送所有分支到远程仓库
git push [remote] --all
6.撤销操作
#恢复暂存区的指定文件到工作区
git checkout [file]
#恢复暂存区的所有文件到工作区
git checkout .