config和help
,获取与创建
项目,快照基础
,分支与合并
,分享与更新项目
,检查与比较
,调试
,补丁
,邮件
,外部系统
,管理
.
命令 | 作用意思等 |
---|---|
git config | 用来配置, |
git help | 用来显示命令 文档, |
git init | 新建 |
git clone | 复合命令,建目录+git init+git remote add(远端,origin)+git fetch+git checkout ,--bare 创建空仓 ,--recursive 递归. |
git add | 暂存,提交时,只检查暂存区 , |
git status | 展示工作区及暂存区 中文件的不同状态.会显示如何在这些暂存区移动 的提示. |
git diff | 比较树差异时用.git diff --staged 暂存与提交差异,两提交git diff 主 分支 的差异.有--check 选项,A...B 三点差异,-b 过滤空白,比较--theirs,--ours 和 --base 三方.--submodule 比较子模块. |
git difftool | 外部工具比较树 |
git commit | 提交,用-a 跳过暂存,-m 用命令行 而不是编辑器 .用--amend 来重做,-S 为签名加密. |
git reset | 撤销,用--hard(危险,有覆盖) 改变工作区,移动HEAD ,可选改变暂存 ,git merge --abort 是其简单封装. |
git rm | 从工作区/暂存区 移除文件,--cached 只移除暂存区 .有--ignore-unmatch 等选项. |
git mv | 新文件git add ,旧文件git rm ,类似重命名 . |
git clean | 从工作区中移除不想要文件 的命令 |
git branch | 管理分支,可列出所有,创建新,删除及重命名 分支.-u 设置跟踪分支. |
git checkout | 切换分支,用--track 来跟踪,用--conflict=diff3 来比较冲突. |
git merge | 合并分支,用squashed merge 合并多个而只提交1个,而不记录合并的分支的历史 .-Xignore-space-change 命令及--abort ,合并前验证签名,及合并子树. |
git mergetool | 外部合并工具 |
git log | 项目可达历史 记录,默认显示当前 .但可显示不同甚至多个头记录或分支 来遍历.-p和--stat 了解每一提交的变更,用--pretty和--online 来简洁查看.--decorate 可视化分支指针,--graph 查看分支历史记录.A..B 查看B 有而A 无的提交.A...B 及--left-right 选项.用--merge 帮助合并冲突,用--cc 查看历史合并提交冲突,用-g 查看引用日志,用-S及-L 优雅搜索函数历史.--show-signature 判断签名是否合法. |
git stash | 隐藏, |
git tag | 打标签,用于发布 .-s 创建GPG签名 标签.-v 来验证. |
git fetch | 取到仓库 ,设置refspec 引用规范. |
git pull | git fetch+git merge ,可处理变基.用--verify-signatures 验证gpg 签名. |
git push | 推送,计算差异,推送至远端 .通常要写/验证 .用--delete 删除远端分支.--tags 分享标签,用--recurse-submodules 检查是否都已推送.用pre-push 检查是否允许推送 .完整refspec (引用规范). |
git remote | 管理远端仓库记录工具.允许网径 映射为origin(等) ,可用来添加,修改,及删除 它们.一般这样git remote add <名> <网径> 用. |
git archive | 创建归档 文件. |
git submodule | 管理外部仓库,子命令:add,update,sync 来管理. |
git show | 可读方式显示吉 对象,显示标签或提交 .有意思在:合并冲突 时提取不同 暂存区指定文件内容 . |
git shortlog | 归纳git log 输出命令,展示根据作者分组 的提交记录的概括性信息 而不是列出所有提交. |
git describe | 取可解析为提交 的,生成不变 串.取提交 的清晰 描述,而非不可读 的sha1值 . |
git bisect | 二分查找有问题提交 , |
git blame | 标注文件 行最后变更的作者/提交 . |
git grep | 查找串/正则式 . |
git cherry-pick | 取单提交 中引入的变更,只分支提交中仅取部分提交 时有用. |
git rebase | 变基 ,自动化的cherry-pick 命令.--onto 在之上变基.-i 用于交互式脚本.注意合并冲突 . |
git revert | 反向git cherry-pick ,撤销或逆转(恢复) . |
git apply | 应用git diff 打的补丁. |
git am | 邮箱 ,mbox 格式,有--resolved,-i及-3 等选项. |
git format-patch | 格式化补丁, |
git imap-send | git format-patch 生成邮箱上传至imap 草稿文件夹. |
git send-email | 发送git format-patch 生成补丁. |
git request-pull | 生成示例, |
git svn | 与svn 集成. |
git fast-import | 转换格式为吉 格式 |
git gc | 删除不需要文件,或打包小包为大包. |
git fsck | 检查仓库问题 , |
git reflog | 分析头针日志 来查找重写历史上可能丢失 的提交 |
git filter-branch | 根据规则 来重写大量的提交 ,过滤子目录 .有--commit-filter,--subdirectory-filter及--tree-filter 选项. |
还有些底层命令,如ls-remote
查看远端原始引用,ls-files
查看暂存区,rev-parse
接受串
转为sha1值
.