常用命令总结

  1. 配置命令总结 | 命令 | 作用 | | —- | —- | | git config —local | git项目本身参数配置 | | git config —global | 当前用户参数配置 | | git config —system | 全局参数配置 | | git config —list | 查看所有配置项 | | git config user.name | 查看某个配置项的值 | | git config —list —local/global/system | 查看某个作用域配置项的值 | | git config —unset —global 某个配置项 | 清除 global 类型的配置项 | | git config —unset —local 某个配置项 | 清除某个仓库的配置项 |
  1. 本地操作命令总结 | 命令 | 作用 | | —- | —- | | git init | 让git托管这个项目的代码,后续的更改都会作为一个个版本提交到git上面 | | git add —all . | 表示将工作区中已修改、已删除或者新建的文件全部加入暂存区中,其中git add . 表示将修改和新增的文件加入暂存区,删除的文件不管 | | git status | 查看变更情况 | | git add -u | 文件已经被Git托管,但是有进行了修改, -u可以快速将修改过的文件加入暂存区 | | git commit -m “xxxx” | 表示将暂存区中的文件提交到本地git库中,-m 参数是这次提交加的备注 | | git mv filename new_filename | 快速重命名 | | git commit —amend | 修改最新最新一次commit的message | | git reset —hard 提交哈希值 | 删除最近几次提交 | | git stash | 把未处理完的变更先保存到stash中,类似于栈空间 | | git stash list | 查看所有stash | | git stash pop | 恢复 会删除栈空间中的数据 | | git stash apply | 恢复 不会删除栈空间中的数据 |

  2. 分支命令操作总结 | 命令 | 作用 | | —- | —- | | git branch 新分支 | 基于当前分支创建新分支 | | git branch 新分支 已有分支 | 基于指定分支创建新分支 | | git branch 新分支 某个commit的id | 基于某个 commit 创建分支 | | git branch -v | 列出本地分支 | | git branch -av | 列出本地和远端分支 | | git branch -rv | 列出远端所有分支 | | git branch -rv -l ‘某样式’ | 列出名称符合某样式的远端分支 | | git branch -d 拟删除分支 | 安全删除本地某分支 | | git branch -D 拟删除分支 | 强行删除本地某分支 | | git branch —merged master | grep -v ‘^\*\| master’ | xargs -n 1 git branch -d | 删除已合并到 master 分支的所有本地分支 | | git remote prune origin | 删除远端 origin 已不存在的所有本地分支 | | git tag 标签名 commid的id | 给 commit 打上标签 | | git checkout 指定分支 | 切换到指定的分支 | | git checkout -b develop | 基于master分支创建一个develop分支,并切换到了develop分支 | | git branch -vv | 查看当前工作分支以及本地分支和远程分支的对应关系 | | git branch -d 分支名 | 删除分支 |

  1. 暂存区相关命令操作总结 | 命令 | 作用 | | —- | —- | | git ls-files —stage | 查看暂存区里面的文件列表 | | git diff | 比较工作区和暂存区的所含文件的差异 | | git diff —cached | 比较暂存区和HEAD所含文件的差异 | | git diff 分支名 分支名 | 比较两个分支的不同,也可以后跟— 文件名 | | git diff 提交哈希值 提交哈希值 | 比较两个提交之间的不同,也可以后跟 — 文件名 | | git reset HEAD | 移除暂存区所有的变更 保持和HEAD的一样 | | git reset HEAD — 文件名 | 移除指定文件在暂存区所有的变更 保持和HEAD的一样 | | git checkout — 文件名 | 让工作区的文件恢复为和暂存区一样 |
  1. 变更历史相关命令 | 命令 | 作用 | | —- | —- | | git log —oneline | 当前分支各个 commit 用一行显示 | | git log -n | 显示就近的 n 个 commit | | git log —oneline —graph —all | 用图示显示所有分支的历史 | | git log 某文件 | 查看涉及到某文件变更的所有 commit | | git blame 某文件 | 某文件各行最后修改对应的 commit 以及作者 |
  1. 分支间的集成 | 命令 | 作用 | | —- | —- | | git merge A分支 | 把A分支合入到当前分支,且为 merge 创建 commit | | git merge A分支 B分支 | 把A分支合入到B分支,且为 merge 创建 commit | | git rebase B分支 | 把当前分支基于B分支做 rebase,以便把B分支合入到当前分支 | | git rebase B分支 A分支 | 把A分支基于B分支做 rebase,以便把B分支合入到A分支 | | git mergetool | 用 mergetool 解决冲突 |
  1. 和远端分支进行交互 | 命令 | 作用 | | —- | —- | | git push -u origin develop | 将本地的develop分支推送到远程仓库,同时在远程仓库中创建一个develop分支,并将本地develop分支和远程develop分支关联起来 | | git remote -v | 列出所有 remote | | git remote add url地址 | 增加 remote | | git remote remove remote的名称 | 删除 remote | | git remote rename 旧名称 新名称 | 改变 remote 的 name | | git fetch remote | 把远端所有分支和标签的变更都拉到本地 | | git pull remote名称 分支名 | 把远端分支的变更拉到本地,且 merge 到本地分支 | | git push remote名称 分支名 | 把本地分支 push 到远端 | | git push remote —delete 远端分支名 | 删除远端分支 | | git push remote 标签名 | 向远端提交指定标签 | | git push remote —tags | 向远端提交所有标签 |