基础命令
  • 初始化一个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>