基础命令

初始化一个Git仓库:git init

添加到暂存区:git add <file>

提交到本地仓库:git commit -m <message>

仓库版本号切换:git reset --hard commit_id

查看提交历史:git log

查看历史命令:git reflog

丢弃工作区的修改:git checkout -- file

添加到了暂存区,想丢弃修改:git reset HEAD <file>、`git checkout -- file`

远程操作

关联一个远程库:git remote add origin git@server-name:path/repo-name.git

第一次推送分支的所有内容:git push -u origin branch-name

之后每次提交:git push

克隆远程仓库:git clone repo-address

拉取远程分支的代码:git pull

分支操作

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>或者git switch <name>

创建+切换分支:git checkout -b <name>或者git switch -c <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

查看分支合并图:git log --graph

stash 操作

将当前修改放到堆栈中:git stash save <message> 或git stash

查看 stash 了哪些存储:git stash list

恢复最近一次 stash 的存储(会删除):git stash pop

恢复指定的存储代码(会删除):git stash pop stash@{index}

恢复最近一次 stash 的存储(不会删除):git stash apply

恢复指定的存储代码(不会删除):git stash apply stash@{index}

显示最近一次的 stash 的存储做了哪些改动: git stash show 

显示指定的 stash 的存储做了哪些改动: git stash show stash@{index}

删除指定的 stash:git stash drop stash@{index}

删除所有缓存的stash:git stash clear

tag 操作

新建一个标签,默认为HEAD,也可以指定一个commit id:git tag <tagname>

指定标签信息:git tag -a <tagname> -m "blablabla..."

查看所有标签:git tag

推送一个本地标签:git push origin <tagname>

推送全部未推送过的本地标签:git push origin --tags

删除一个本地标签:git tag -d <tagname>

删除一个远程标签:git push origin :refs/tags/<tagname>

从指定的标签拉取一个分支出来:git branch <new-branch-name> <tag-name>