当前位置:   article > 正文

git常用命令_git add exclude

git add exclude

Git是一个免费的、开源的分布式版本控制系统,以速度和效率处理从小型到大型的所有项目。

总结些git的常用命令

[version]查看版本

git version
  • 1

git version 2.25.1

[help]获取帮助

查看帮助

git help -a
  • 1
执行 'git help <command>' 来查看特定子命令

主要的上层命令
   add                  添加文件内容至索引
   am                   应用邮箱格式的系列补丁
   archive              基于一个指定的树创建文件存档
   bisect               通过二分查找定位引入 bug 的提交
   branch               列出、创建或删除分支
   bundle               通过归档移动对象和引用
   checkout             切换分支或恢复工作区文件
   cherry-pick          应用一些现存提交引入的修改
   citool               git-commit 的图形替代界面
   clean                从工作区中删除未跟踪文件
   clone                克隆仓库到一个新目录
   commit               记录变更到仓库
   describe             基于一个现存的引用为一个对象起一个可读的名称
   diff                 显示提交之间、提交和工作区之间等的差异
   fetch                从另外一个仓库下载对象和引用
   format-patch         准备电子邮件提交的补丁
   gc                   清除不必要的文件和优化本地仓库
   gitk                 Git 仓库浏览器
   grep                 输出和模式匹配的行
   gui                  一个便携的 Git 图形客户端
   init                 创建一个空的 Git 仓库或重新初始化一个已存在的仓库
   log                  显示提交日志
   merge                合并两个或更多开发历史
   mv                   移动或重命名一个文件、目录或符号链接
   notes                添加或检查对象注释
   pull                 获取并整合另外的仓库或一个本地分支
   push                 更新远程引用和相关的对象
   range-diff           比较两个提交范围(如一个分支的两个版本)
   rebase               在另一个分支上重新应用提交
   reset                重置当前 HEAD 到指定状态
   restore              恢复工作区文件
   revert               回退一些现存提交
   rm                   从工作区和索引中删除文件
   shortlog             'git log' 输出摘要
   show                 显示各种类型的对象
   sparse-checkout      初始化及修改稀疏检出
   stash                贮藏脏工作区中的修改
   status               显示工作区状态
   submodule            初始化、更新或检查子模组
   switch               切换分支
   tag                  创建、列出、删除或校验一个 GPG 签名的标签对象
   worktree             管理多个工作区

辅助命令/操作者
   config               获取和设置仓库或者全局选项
   fast-export          Git 数据导出器
   fast-import          Git 快速数据导入器后端
   filter-branch        重写分支
   mergetool            运行合并冲突解决工具以解决合并冲突
   pack-refs            打包头和标签以实现高效的仓库访问
   prune                删除对象库中所有不可达对象
   reflog               管理 reflog 信息
   remote               管理已跟踪仓库
   repack               打包仓库中未打包对象
   replace              创建、列出、删除对象替换引用

辅助命令/询问者
   annotate             使用提交信息注释文件行
   blame                显示文件每一行最后修改的版本和修改者
   count-objects        计算未打包对象的数量和磁盘空间占用
   difftool             使用常见的差异工具显示更改
   fsck                 验证仓库中对象的连通性和有效性
   gitweb               Git web 界面(Git 仓库的 web 前端)
   help                 显示 Git 的帮助信息
   instaweb             在 gitweb 中即时浏览您的工作仓库
   merge-tree           显示三路合并而不动索引
   rerere               重用冲突合并的解决方案记录
   show-branch          显示分支和提交
   verify-commit        检查 GPG 提交签名
   verify-tag           检查标签的 GPG 签名
   whatchanged          显示每一个提交引入的差异日志

与其它系统交互
   archimport           将一个 GNU Arch 仓库导入到 Git
   cvsexportcommit      将一个提交导出到 CVS 检出中
   cvsimport            从另外一个人们爱恨的配置管理系统中拯救你的数据
   cvsserver            Git 的一个 CVS 服务模拟器
   imap-send            从标准输入将一组补丁发送到IMAP文件夹
   p4                   导入和提交到 Perforce 仓库中
   quiltimport          将一个 quilt 补丁集应用到当前分支。
   request-pull         生成待定更改的摘要
   send-email           通过电子邮件发送一组补丁
   svn                  Subersion 仓库和 Git 之间的双向操作

低级命令/操作者
   apply                应用一个补丁到文件和/或索引区
   checkout-index       从索引拷贝文件到工作区
   commit-graph         写入和校验 Git 提交图文件
   commit-tree          创建一个新的提交对象
   hash-object          从一个文件计算对象 ID,并可以创建 blob 数据对象
   index-pack           从一个现存的包存档文件创建包索引
   merge-file           运行一个三路文件合并
   merge-index          对于需要合并的文件执行合并
   mktag                创建一个标签对象
   mktree               基于 ls-tree 的格式化文本创建一个树对象
   multi-pack-index     写入和校验多包索引
   pack-objects         创建对象的存档包
   prune-packed         删除已经在包文件中的多余对象
   read-tree            将树信息读取到索引
   symbolic-ref         读取、修改和删除符号引用
   unpack-objects       从打包文件中解压缩对象
   update-index         将工作区的文件内容注册到索引
   update-ref           安全地更新存储于引用中的对象名称
   write-tree           从当前索引创建一个树对象

低级命令/询问者
   cat-file             提供仓库对象的内容、类型或大小
   cherry               查找尚未应用到上游的提交
   diff-files           比较工作区和索引区中的文件
   diff-index           将一个树和工作区或索引做比较
   diff-tree            比较两个树对象的文件内容和模式
   for-each-ref         对每一个引用输出信息
   get-tar-commit-id    从 git-archive 创建的归档文件中提取提交 ID
   ls-files             显示索引和工作区中文件的信息
   ls-remote            显示一个远程仓库的引用
   ls-tree              显示一个树对象的内容
   merge-base           为了合并查找尽可能好的公共祖先提交
   name-rev             查找给定版本的符号名称
   pack-redundant       查找冗余的包文件
   rev-list             按时间顺序列出提交对象
   rev-parse            选出并处理参数
   show-index           显示打包归档索引
   show-ref             显示本地仓库中的引用
   unpack-file          用 blob 数据对象的内容创建一个临时文件
   var                  显示一个Git逻辑变量
   verify-pack          校验打包的Git存仓文件

低级命令/同步仓库
   daemon               一个非常简单的 Git 仓库服务器
   fetch-pack           从另一个仓库获取缺失的对象
   http-backend         Git HTTP 协议的服务端实现
   send-pack            使用 Git 协议推送对象到另一个仓库
   update-server-info   更新辅助信息文件以帮助哑协议服务

低级命令/内部助手
   check-attr           显示 gitattributes 信息
   check-ignore         调试 gitignore / exclude 文件
   check-mailmap        显示联系人的规范名称和电子邮件
   check-ref-format     确保引用名称格式正确
   column               以列的方式显示数据
   credential           检索和存储用户密码
   credential-cache     在内存中临时存储密码的助手
   credential-store     在磁盘存储密码的助手
   fmt-merge-msg        生成一个合并提交信息
   interpret-trailers   添加或解析提交说明中的结构化信息
   mailinfo             从单个电子邮件中提取补丁和作者身份
   mailsplit            简单的 UNIX mbox 邮箱切分程序
   merge-one-file       与 git-merge-index 一起使用的标准向导程序
   patch-id             计算一个补丁的唯一 ID
   sh-i18n              为 shell 脚本准备的 Git 国际化设置代码
   sh-setup             常用的 Git shell 脚本设置代码
   stripspace           删除不必要的空白字符
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155

使用方法

git help add

查看指导手册

git help -g
  • 1
最常用的 Git 向导有:
   attributes          定义路径的属性
   cli                 Git 命令行界面和约定
   core-tutorial       面向开发人员的 Git 核心教程
   cvs-migration       适合 CVS 用户的 Git 帮助
   diffcore            调整差异输出
   everyday            每一天 Git 的一组有用的最小命令集合
   glossary            Git 词汇表
   hooks               Git 使用的钩子
   ignore              忽略指定的未跟踪文件
   modules             定义子模组属性
   namespaces          Git 名字空间
   repository-layout   Git 仓库布局
   revisions           指定 Git 的版本和版本范围
   submodules          将一个仓库安装到另外一个仓库中
   tutorial            一个 Git 教程
   tutorial-2          一个 Git 教程:第二部分
   workflows           Git 推荐的工作流概览
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

使用方法

git help attributes

常用指令

[add]将文件内容添加到索引

git add [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]
                 [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]
                 [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing] [--renormalize]
                 [--chmod=(+|-)x] [--pathspec-from-file=<file> [--pathspec-file-nul]]
                 [--] [<pathspec>...]

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

添加一个文件

git add <file>
  • 1

添加目录

git add <path/*>
  • 1

[branch]列出、创建或删除分支

git branch [--color[=<when>] | --no-color] [--show-current]
               [-v [--abbrev=<length> | --no-abbrev]]
               [--column[=<options>] | --no-column] [--sort=<key>]
               [(--merged | --no-merged) [<commit>]]
               [--contains [<commit]] [--no-contains [<commit>]]
               [--points-at <object>] [--format=<format>]
               [(-r | --remotes) | (-a | --all)]
               [--list] [<pattern>...]
git branch [--track | --no-track] [-f] <branchname> [<start-point>]
git branch (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>]
git branch --unset-upstream [<branchname>]
git branch (-m | -M) [<oldbranch>] <newbranch>
git branch (-c | -C) [<oldbranch>] <newbranch>
git branch (-d | -D) [-r] <branchname>...
git branch --edit-description [<branchname>]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

查看本地分支

git branch
  • 1

查看远程分支

git branch -r
  • 1

查看所有分支

git branch -a
  • 1

创建分支

git branch -f <branchName>
  • 1

删除本地分支

git branch -d <branchName>
  • 1

删除远程分支

git branch -d -r <branchname>
  • 1

重命名分支

git branch -m <branchNameOld> <branchNameNew>
  • 1

[checkout]切换分支或恢复工作区文件

git checkout [-q] [-f] [-m] [<branch>]
git checkout [-q] [-f] [-m] --detach [<branch>]
git checkout [-q] [-f] [-m] [--detach] <commit>
git checkout [-q] [-f] [-m] [[-b|-B|--orphan] <new_branch>] [<start_point>]
git checkout [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <pathspec>...
git checkout [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] --pathspec-from-file=<file> [--pathspec-file-nul]
git checkout (-p|--patch) [<tree-ish>] [--] [<pathspec>...]

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

切换到新分支

git checkout <branch>
  • 1

取回误删的文件

git checkout <commitId> <file>
  • 1

[clean]从工作区中删除未跟踪文件

git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>...
  • 1

删除未跟踪文件

git clean -df <path>
  • 1

[clone]克隆仓库到一个新目录

git clone [--template=<template_directory>]
                 [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]
                 [-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]
                 [--dissociate] [--separate-git-dir <git dir>]
                 [--depth <depth>] [--[no-]single-branch] [--no-tags]
                 [--recurse-submodules[=<pathspec>]] [--[no-]shallow-submodules]
                 [--[no-]remote-submodules] [--jobs <n>] [--sparse] [--] <repository>
                 [<directory>]

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

克隆仓库

git clone <repository> -b <branch>
  • 1

[commit]记录变更到仓库

git commit [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]
                  [--dry-run] [(-c | -C | --fixup | --squash) <commit>]
                  [-F <file> | -m <msg>] [--reset-author] [--allow-empty]
                  [--allow-empty-message] [--no-verify] [-e] [--author=<author>]
                  [--date=<date>] [--cleanup=<mode>] [--[no-]status]
                  [-i | -o] [--pathspec-from-file=<file> [--pathspec-file-nul]]
                  [-S[<keyid>]] [--] [<pathspec>...]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

记录变更

git commit
  • 1

追加变更到当前记录

git commit --amend
  • 1

[diff]显示提交之间、提交和工作区之间等的差异

git diff [<options>] [<commit>] [--] [<path>...]
git diff [<options>] --cached [<commit>] [--] [<path>...]
git diff [<options>] <commit> <commit> [--] [<path>...]
git diff [<options>] <blob> <blob>
git diff [<options>] --no-index [--] <path> <path>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

查看当前的修改

git diff
  • 1

查看两个分支的修改

git diff <branch1> <branch2>
  • 1

查看某个文件的修改

git diff <file1> <file2>
  • 1

显示两分支指定路径下文件的详细diff信息

git diff <branch1> <branch2> <path>
  • 1

[fetch]从另外一个仓库下载对象和引用

git fetch [<options>] [<repository> [<refspec>...]]
git fetch [<options>] <group>
git fetch --multiple [<options>] [(<repository> | <group>)...]
git fetch --all [<options>]
  • 1
  • 2
  • 3
  • 4

从另外一个仓库下载代码

git fetch <repository> 
  • 1

[gitk]Git 仓库浏览器

gitk [<options>] [<revision range>] [--] [<path>...]

  • 1
  • 2

sudo apt-get install gitk

创建一个空的 Git 仓库或重新初始化一个已存在的仓库

git init [-q | --quiet] [--bare] [--template=<template_directory>]
                 [--separate-git-dir <git dir>]
                 [--shared[=<permissions>]] [directory]
  • 1
  • 2
  • 3

[log]显示提交日志

git log [<options>] [<revision range>] [[--] <path>...]
  • 1

[merge]合并两个或更多开发历史

git merge [-n] [--stat] [--no-commit] [--squash] [--[no-]edit]
       [--no-verify] [-s <strategy>] [-X <strategy-option>] [-S[<keyid>]]
       [--[no-]allow-unrelated-histories]
       [--[no-]rerere-autoupdate] [-m <msg>] [-F <file>] [<commit>...]
git merge (--continue | --abort | --quit)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

[pull]获取并整合另外的仓库或一个本地分支

git pull [<options>] [<repository> [<refspec>...]]
  • 1

[push]更新远程引用和相关的对象

git push [--all | --mirror | --tags] [--follow-tags] [--atomic] [-n | --dry-run] [--receive-pack=<git-receive-pack>]
          [--repo=<repository>] [-f | --force] [-d | --delete] [--prune] [-v | --verbose]
          [-u | --set-upstream] [-o <string> | --push-option=<string>]
          [--[no-]signed|--signed=(true|false|if-asked)]
          [--force-with-lease[=<refname>[:<expect>]]]
          [--no-verify] [<repository> [<refspec>...]]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

[rebase]在另一个分支上重新应用提交

git rebase [-i | --interactive] [<options>] [--exec <cmd>]
       [--onto <newbase> | --keep-base] [<upstream> [<branch>]]
git rebase [-i | --interactive] [<options>] [--exec <cmd>] [--onto <newbase>]
       --root [<branch>]
git rebase (--continue | --skip | --abort | --quit | --edit-todo | --show-current-patch)
  • 1
  • 2
  • 3
  • 4
  • 5

[reset]重置当前 HEAD 到指定状态

git reset [-q] [<tree-ish>] [--] <pathspec>...
git reset [-q] [--pathspec-from-file=<file> [--pathspec-file-nul]] [<tree-ish>]
git reset (--patch | -p) [<tree-ish>] [--] [<pathspec>...]
git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]

  • 1
  • 2
  • 3
  • 4
  • 5

回退全部提交

git reset --hard
  • 1

回退到末次提交

git reset --hard <commitId>
  • 1

[restore]恢复工作区文件

git restore [<options>] [--source=<tree>] [--staged] [--worktree] [--] <pathspec>...
git restore [<options>] [--source=<tree>] [--staged] [--worktree] --pathspec-from-file=<file> [--pathspec-file-nul]
git restore (-p|--patch) [<options>] [--source=<tree>] [--staged] [--worktree] [--] [<pathspec>...]
  • 1
  • 2
  • 3

恢复已add的文件

git restore --staged <file>
  • 1

[revert]回退一些现存提交

git revert [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<keyid>]] <commit>...
git revert (--continue | --skip | --abort | --quit)
  • 1
  • 2

回退指定提交

git revert <commitId>
  • 1

[stash]贮藏脏工作区中的修改

git stash list [<options>]
git stash show [<options>] [<stash>]
git stash drop [-q|--quiet] [<stash>]
git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]
git stash branch <branchname> [<stash>]
git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
            [-u|--include-untracked] [-a|--all] [-m|--message <message>]
            [--] [<pathspec>...]]
git stash clear
git stash create [<message>]
git stash store [-m|--message <message>] [-q|--quiet] <commit>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

暂存本地修改

git stash
  • 1

恢复暂存的修改

git stash apply
git stash pop
  • 1
  • 2

[status]显示工作区状态

git status [<options>...] [--] [<pathspec>...]
  • 1

查看工作区状态

git status
  • 1

[blame]显示文件每一行最后修改的版本和修改者

git blame [-c] [-b] [-l] [--root] [-t] [-f] [-n] [-s] [-e] [-p] [-w] [--incremental]
           [-L <range>] [-S <revs-file>] [-M] [-C] [-C] [-C] [--since=<date>]
           [--ignore-rev <rev>] [--ignore-revs-file <file>]
           [--progress] [--abbrev=<n>] [<rev> | --contents <file> | --reverse <rev>..<rev>]
           [--] <file>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

显示指定代码行的最后修改

git blame -L <num_10> <file>
  • 1

[apply]应用一个补丁到文件和/或索引区

git apply [--stat] [--numstat] [--summary] [--check] [--index | --intent-to-add] [--3way]
         [--apply] [--no-add] [--build-fake-ancestor=<file>] [-R | --reverse]
         [--allow-binary-replacement | --binary] [--reject] [-z]
         [-p<n>] [-C<n>] [--inaccurate-eof] [--recount] [--cached]
         [--ignore-space-change | --ignore-whitespace]
         [--whitespace=(nowarn|warn|fix|error|error-all)]
         [--exclude=<path>] [--include=<path>] [--directory=<root>]
         [--verbose] [--unsafe-paths] [<patch>...]

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

应用一个补丁

git apply <patch>
  • 1

[reflog]管理 reflog 信息

git reflog <subcommand> <options>
    git reflog [show] [log-options] [<ref>]
    git reflog expire [--expire=<time>] [--expire-unreachable=<time>]
           [--rewrite] [--updateref] [--stale-fix]
           [--dry-run | -n] [--verbose] [--all [--single-worktree] | <refs>...]
    git reflog delete [--rewrite] [--updateref]
           [--dry-run | -n] [--verbose] ref@{specifier}...
    git reflog exists <ref>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

[tag]创建、列出、删除或校验一个 GPG 签名的标签对象

git tag [-a | -s | -u <keyid>] [-f] [-m <msg> | -F <file>] [-e]
       <tagname> [<commit> | <object>]
git tag -d <tagname>...
git tag [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]
       [--points-at <object>] [--column[=<options>] | --no-column]
       [--create-reflog] [--sort=<key>] [--format=<format>]
       [--[no-]merged [<commit>]] [<pattern>...]
git tag -v [--format=<format>] <tagname>...
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

扩展功能

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/530073
推荐阅读
相关标签
  

闽ICP备14008679号