git命令使用记录

因为平时工作中使用git命令行机会不多,但是有时候发现命令行还是很方便的,但是因为不熟悉导致很多时候需要查找资料所以索性把这些常用命令整理下直接保存下来,方便下次查看

git - 傻瓜式内容跟踪器  以下是主要使用命令,平时简单实用的话这些就够了,

git --help    # 输出帮助信息


usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           <command> [<args>]

这些是在各种情况下使用的通用Git命令:

启动一个工作区域
   clone      将存储库克隆到新目录中
   init       t创建一个空的Git存储库或重新初始化一个现有的存储库

处理当前的更改 (see also: git help everyday)
   add        添加添加文件内容到索引
   mv         移动或重命名文件、目录或符号链接
   reset      将当前磁头复位到指定的状态
   rm         从工作树和索引中删除文件

检查历史记录和状态(see also: git help revisions)
   bisect     二分法使用二分查找来查找引起错误的提交
   grep       匹配模式的grep打印行
   log        显示提交日志
   show       显示各种类型的对象
   status     显示工作树状态

成长,标记和调整你的共同历史
   branch     分支列表、创建或删除分支
   checkout   签出交换机分支或还原工作树文件
   commit     将记录更改提交到存储库
   diff       显示提交、提交和工作树等之间的更改
   merge      将两个或多个开发历史合并在一起
   rebase     在另一个基本提示上重新应用提交
   tag        标记创建、列表、删除或验证用GPG签名的标记对象

协作 (see also: git help workflows)
   fetch      从另一个存储库获取下载对象和引用
   pull       从另一个存储库或本地分支获取并与之集成
   push       推送更新远程引用和相关对象

我们将git命令分为主要命令和一些辅助用户实用程序。

主要命令

git-add      将文件内容添加到索引
git-am         从邮箱应用一系列补丁
git-archive     从命名树创建文件档案
git-bisect        使用二进制搜索找到引入错误的提交
git-branch      列出,创建或删除分支
git-bundle      按档案移动对象和参照
git-checkout     切换分支或还原工作树文件
git-cherry-pick    应用一些现有提交引入的更改
git-citool      git-commit的图形替代
git-clean      从工作树中删除未跟踪的文件
git-clone      将存储库克隆到新目录
git-commit        记录对存储库的更改
git-describe      根据可用的引用为对象赋予人类可读的名称
git-diff       显示提交,提交和工作树等之间的更改
git-fetch       从另一个存储库下载对象和引用
git-format-patch  准备用于电子邮件提交的补丁
git-gc        清理不必要的文件并优化本地存储库
git-grep        打印与图案匹配的线
git-gui          Git的便携式图形界面
git-init        创建一个空的Git存储库或重新初始化现有的存储库
gitk         Git存储库浏览器
git-log       显示提交日志
git-merge       将两个或多个开发历史联系在一起
git-mv       移动或重命名文件,目录或符号链接
git-notes      添加或检查对象注释
git-pull         从另一个存储库或本地分支获取并与之集成
git-push       更新远程引用以及关联的对象
git-range-diff       比较两个提交范围(例如,分支的两个版本)
git-rebase      在另一个基本提示上重新应用提交
git-reset      将当前HEAD重置为指定状态
git-restore     恢复工作树文件
git-revert       还原一些现有的提交
git-rm          从工作树和索引中删除文件
git-shortlog      汇总git日志输出
git-show          显示各种类型的对象
git-stash          将更改存储在脏的工作目录中
git-status              显示工作树状态
git-submodule      初始化,更新或检查子模块
git-switch        切换分支
git-tag        创建,列出,删除或验证使用GPG签名的标签对象
git-worktree       管理多个工作树

辅助命令

git-config        获取并设置存储库或全局选项
git-fast-export     Git数据导出器
git-fast-import      快速Git数据导入器的后端
git-filter-branch      重写分支
git-mergetool       运行合并冲突解决工具以解决合并冲突
git-pack-refs       包装头和标签,可有效访问存储库
git-prune        从对象数据库中修剪所有无法访问的对象
git-reflog        管理Reflog信息
git-remote        管理一组跟踪的存储库
git-repack        将解压缩的对象打包到存储库中
git-replace       创建,列出,删除引用以替换对象
询问器:
git-annotate       用提交信息注释文件行
git-blame         显示哪个修订和作者最后修改了文件的每一行
git-count-objects    计算解压缩的对象数及其磁盘消耗
git-difftool       使用常见的差异工具显示更改
git-fsck          验证数据库中对象的连接性和有效性
git-help          显示有关Git的帮助信息
git-instaweb       即时浏览gitweb中的工作库
git-merge-tree      显示三路合并而不会触及索引
git-rerere       重用记录的冲突合并解决方案
git-show-branch     显示分支及其提交
git-verify-commit   检查提交的GPG签名
git-verify-tag     检查代码的GPG签名
gitweb          Git Web界面(Git存储库的Web前端)
git-whatchanged   显示每次提交引入差异的日志

 

与他人互动

这些命令用于通过电子邮件打补丁与其他人进行交互。

git-archimport    将GNU Arch存储库导入Git

git-cvsexportcommit      将单个提交导出到CVS签出

git-cvsimport      从另一个讨厌的SCM抢救您的数据

git-cvsserver      适用于Git的CVS服务器模拟器

git-imap-send     将补丁集从标准输入发送到IMAP文件夹

git-p4        从Perforce存储库导入并提交给Perforce存储库

git-quiltimport    将被子补丁集应用于当前分支

git-request-pull       生成未决更改的摘要

git-send-email   通过电子邮件发送补丁集

git-svn          Subversion存储库和Git之间的双向操作

 

重置,还原和还原

有三个命令具有类似名称:git reset git restoregit revert

    • git-revert     是关于进行新的提交,该提交将还原其他提交所做的更改。

    • git-restore   是关于从索引或另一个提交还原工作树中的文件的。此命令不会更新您的分支。该命令还可用于从另一个提交还原索引中的文件。

    • git-reset       是关于更新分支,移动提示以便从分支中添加或删除提交。此操作更改提交历史记录。

      git reset也可以用于还原索引,与重叠 git restore

 

低级命令(管道)

尽管Git包括自己的命令层,但它的底层命令足以支持替代命令的开发。这类命令的开发人员可能首先阅读有关git-update-index [1]和 git-read-tree [1]的文章

这些低级命令的界面(输入,输出,选项集和语义)比命令级命令要稳定得多,因为这些命令主要用于脚本使用。另一方面,命令命令的界面可能会有所更改,以改善最终用户的体验。

以下描述将低级命令分为操作对象(在存储库,索引和工作树中)的命令,查询和比较对象的命令以及在存储库之间移动对象和引用的命令。

 

操作命令

git-apply           将修补程序应用于文件和/或索引

git-checkout-index       将文件从索引复制到工作树

git-commit-graph       编写并验证Git提交图文件

git-commit-tree          创建一个新的提交对象

git-hash-object           计算对象ID并可以选择从文件创建Blob

git-index-pack            现有打包压缩文件的构建打包索引文件

git-merge-file             运行三向文件合并

git-merge-index         对需要合并的文件运行合并

git-multi-pack-index       编写并验证多重包装索引

git-mktag            创建一个标签对象

git-mktree             从ls-tree格式的文本构建树对象

git-pack-objects       创建打包的对象档案

git-prune-packed      删除打包文件中已经存在的其他对象

git-read-tree           将树信息读入索引

git-symbolic-ref        读取,修改和删除符号引用

git-unpack-objects     从打包的存档中解压缩对象

git-update-index      将工作目录中的文件内容注册到索引

git-update-ref        安全地更新存储在引用中的对象名称

git-write-tree       从当前索引创建树对象

询问命令

 

git-cat-file             提供存储库对象的内容或类型和大小信息
git-cherry                查找尚未应用于上游的提交
git-diff-files             比较工作树中的文件和索引
git-diff-index             将树与工作树或索引进行比较
git-diff-tree             比较通过两个树对象找到的Blob的内容和模式
git-for-each-ref           输出每个参考的信息
git-get-tar-commit-id         从使用git-archive创建的档案中提取提交ID
git-ls-files              显示有关索引和工作树中文件的信息
git-ls-remote              出远程存储库中的引用
git-ls-tree             列出树对象的内容
git-merge-base         寻找尽可能好的共同祖先以进行合并
git-name-rev          查找给定转速的符号名称
git-pack-redundant        查找冗余包文件
git-rev-list            以相反的时间顺序列出提交对象
git-rev-parse            挑选和按摩参数
git-show-index           显示打包的存档索引
git-show-ref          列出本地存储库中的引用
git-unpack-file              创建一个包含blob内容的临时文件
git-var                 显示一个Git逻辑变量
git-verify-pack         验证打包的Git存档文件

 

通常,询问命令不会触及工作树中的文件。

 

同步存储库

git-daemon                  一个非常简单的Git存储库服务器
git-fetch-pack           从另一个存储库接收丢失的对象
git-http-backend          通过HTTP的Git的服务器端实现
git-send-pack              通过Git协议将对象推送到另一个存储库
git-update-server-info        更新辅助信息文件以帮助哑服务器

以下是上面使用的帮助程序命令;最终用户通常不直接使用它们。

git-http-fetch               通过HTTP从远程Git存储库下载
git-http-push              通过HTTP / DAV将对象推送到另一个存储库
git-parse-remote               有助于解析远程存储库访问参数的例程
git-receive-pack             接收推送到存储库中的内容
git-shell               仅限Git SSH访问的受限登录Shell
git-upload-archive           将存档发送回git-archive
git-upload-pack            将打包的对象发送回git-fetch-pack

 

内部帮助程序命令

这些是其他命令使用的内部帮助程序命令。最终用户通常不直接使用它们。

git-check-attr          显示gitattributes信息

git-check-ignore          调试gitignore /排除文件

git-check-mailmap       显示联系人的规范名称和电子邮件地址

git-check-ref-format        确保参考名称格式正确

git-column            在列中显示数据

git-credential           检索和存储用户凭证

git-credential-cache        帮助程序将密码临时存储在内存中

git-credential-store          将凭据存储在磁盘上的助手

git-fmt-merge-msg        产生合并提交消息

git-interpret-trailers       在提交消息中添加或解析结构化信息

git-mailinfo               从单个电子邮件中提取补丁和作者身份

git-mailsplit               简单的UNIX mbox拆分器程序

git-merge-one-file         与git-merge-index一起使用的标准帮助程序

git-patch-id               计算补丁的唯一ID

git-sh-i18n             Git的i18n shell脚本设置代码

git-sh-setup           通用Git Shell脚本设置代码

git-stripspace           删除不必要的空格

 

posted @ 2019-11-30 14:24  sin涛涛  阅读(344)  评论(0)    收藏  举报