1.git init
git init
2.git checkout
#回退到git add之前的状态,把f.txt文件在工作区的修改全部撤销
git checkout -- f.txt
3.git add
#添加文件到暂存区
git add f1.txt
git add f2.txt f3.txt
4.git rm
git rm --cache f.txt #将f.txt从暂存区删除
git rm f.txt #将暂存区及本地的文件删除
5.git commit
#把暂存区的所有内容提交到当前分支
git commit -m "commit 3 files to repo"
6.git reset
git reset --hard HEAD^ #回退到上一次提交
git reset --hard HEAD~3 #回退到三次提交前
git reset --hard CommitID #回退到指定提交记录
7.查看本地仓库状态
git status
8.git diff
git diff f.txt #查看工作区与暂存区中f.txt文件的区别
git diff --cached f.txt #查看暂存区与版本库中f.txt文件的区别
git diff --staged #查看暂存区与版本库中f.txt文件的区别
git diff HEAD -- f.txt #查看工作区与版本库中f.txt文件的区别
git diff dev master
git diff dev..master #直接将两个分支上最新的提交做比较
git diff dev...master #将两个分支上共同修改的部分做比较
git diff HEAD^ HEAD #比较两次提交的差异
git diff commit1 commit2 #比较连两个版本间的差异
9.git log
git log #显示所有提交记录
git log -n #显示最近N条提交记录
git log --stat -n #显示每次提交的行数变更统计,并显示最近N条提交记录
git log -p -n
git log --pretty=oneline #只显示hash值和提交说明
git log --graph #显示每个提交所在的分支及其分化衍合情况
git log --pretty=format:"Options" #控制显示的记录格式
git log --pretty=oneline *f.txt #指定项目路径下的所有以f.txt结尾的文件的提交历史
#指定日期、关键字、作者
git log --since=2.days
git log --author=Rule
git log --grep=iPush
git log --committer=Rule
10.git reflog
#可以查看所有分支的所有操作记录
git reflog
11.git blame
git blame filename #显示一个文件的所有需改记录
git blame -L N,+N filename
12.git rebase
#基本功能同merge,与merge区别是,merge后histroy log显示合并记录,rebase不显示合并记录
git rebase