Git 中文参考(四)(1)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Git 中文参考(四)

git-remote

原文: git-scm.com/docs/git-remote

名称

git-remote - 管理一组跟踪的存储库

概要

git remote [-v | --verbose]
git remote add [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=<fetch|push>] <name> <url>
git remote rename <old> <new>
git remote remove <name>
git remote set-head <name> (-a | --auto | -d | --delete | <branch>)
git remote set-branches [--add] <name> <branch>…
git remote get-url [--push] [--all] <name>
git remote set-url [--push] <name> <newurl> [<oldurl>]
git remote set-url --add [--push] <name> <newurl>
git remote set-url --delete [--push] <name> <url>
git remote [-v | --verbose] show [-n] <name>…
git remote prune [-n | --dry-run] <name>…
git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)…]

描述

管理您跟踪其分支的存储库集(“远程”)。

OPTIONS

-v 
--verbose 

稍微冗长一点,并在名字后显示远程网址。注意:必须放在remotesubcommand之间。

COMMANDS

没有参数,显示现有遥控器的列表。有几个子命令可用于对遥控器执行操作。

add 

添加名为< name>的远程名称对于< url>的存储库。然后,命令git fetch 可用于创建和更新远程跟踪分支< name> /< branch>。

使用-f选项,在设置远程信息后立即运行git fetch

使用--tags选项,git fetch 从远程存储库导入每个标记。

使用--no-tags选项,git fetch 不会从远程存储库导入标记。

默认情况下,仅导入已获取分支上的标记(请参阅 git-fetch [1] )。

使用-t 选项,而不是默认的 glob refspec 用于远程跟踪refs/remotes//命名空间下的所有分支,而是创建仅跟踪的 refspec。您可以提供多个-t 来跟踪多个分支而不占用所有分支。

使用-m 选项,symbolic-ref refs/remotes//HEAD被设置为指向远程的分支。另请参见 set-head 命令。

使用--mirror=fetch创建获取镜像时,refs 不会存储在 refs / remotes / 命名空间中,而是遥控器上 refs / 中的所有内容都将被直接镜像进入本地存储库中的 refs / 。此选项仅在裸存储库中有意义,因为获取将覆盖任何本地提交。

使用--mirror=push创建推镜时,git push将始终表现为--mirror通过。

rename

重命名名为< old>的远程名称到< new>。将更新远程的所有远程跟踪分支和配置设置。

如果< old>和< new>是相同的,< old>是$GIT_DIR/remotes$GIT_DIR/branches下的文件,远程转换为配置文件格式。

remove 
rm 

删除名为< name>的远程数据库。将删除远程的所有远程跟踪分支和配置设置。

set-head 

设置或删除指定远程的默认分支(即 symbolic-ref refs/remotes//HEAD的目标)。不需要具有远程的默认分支,但允许指定远程的名称来代替特定分支。例如,如果origin的默认分支设置为master,则可以在通常指定origin/master的任何位置指定origin

使用-d--delete,删除符号 ref refs/remotes//HEAD

使用-a--auto,查询远程以确定其HEAD,然后将 symbolic-ref refs/remotes//HEAD设置为同一分支。例如,如果远程HEAD指向next,“git remote set-head origin -a”将 symbolic-ref refs/remotes/origin/HEAD设置为refs/remotes/origin/next。这仅在refs/remotes/origin/next已存在时才有效;如果不是,它必须先取出。

使用显式设置 symbolic-ref refs/remotes//HEAD。例如,“git remote set-head origin master”将 symbolic-ref refs/remotes/origin/HEAD设置为refs/remotes/origin/master。这仅在refs/remotes/origin/master已存在时才有效;如果不是,它必须先取出。

set-branches 

更改命名远程跟踪的分支列表。在初始设置遥控器之后,这可用于跟踪可用远程分支的子集。

命名分支将被解释为使用 git remote add 命令行上的-t选项指定。

使用--add,而不是替换当前跟踪的分支列表,添加到该列表。

get-url 

检索远程的 URL。这里扩展了insteadOfpushInsteadOf的配置。默认情况下,仅列出第一个 URL。

使用--push,将查询推送 URL 而不是提取 URL。

使用--all,将列出远程的所有 URL。

set-url 

更改远程的 URL。设置远程< name>的第一个网址匹配正则表达式< oldurl> (如果没有给出<  oldurl>则是第一个 URL)到< newurl>。如果< oldurl>与任何 URL  都不匹配,发生错误并且没有任何更改。

使用--push,操纵推送 URL 而不是获取 URL。

使用--add,不添加现有 URL,而是添加新 URL。

使用--delete,而不是更改现有网址,所有匹配正则表达式< url>的网址已删除远程< name>。尝试删除所有非推送 URL 是一个错误。

请注意,推送 URL 和提取 URL 即使可以设置不同,仍必须引用相同的位置。您推送到推送 URL 的内容应该是您从提取 URL 中立即获取的内容。如果您尝试从一个位置(例如您的上游)获取并推送到另一个位置(例如您的发布存储库),请使用两个单独的遥控器。

show 

提供有关远程< name>的一些信息。

使用-n选项,不会先使用git ls-remote 查询远程磁头;而是使用缓存的信息。

prune 

删除与< name>关联的陈旧引用。默认情况下,< name>下的过时远程跟踪分支被删除,但根据全局配置和远程配置,我们甚至可以修剪那些尚未推送的本地标签。相当于git fetch --prune ,但不会获取新的引用。

请参阅 git-fetch [1] 的 PRUNING 部分,了解它将根据各种配置进行修剪的内容。

使用--dry-run选项,报告将修剪哪些分支,但不实际修剪它们。

update 

获取由远程数据库定义的存储库中的远程数据库或远程组的更新。< group>。如果在命令行中既未指定 group 也未指定  remote,则将使用配置参数 remotes.default;如果未定义 remotes.default,则所有没有配置参数 remote  的遥控器将被更新。< name> .skipDefaultUpdate 设置为 true。 (参见 git-config [1] )。

使用--prune选项,对所有已更新的遥控器运行修剪。

讨论

使用remote.origin.urlremote.origin.fetch配置变量实现远程配置。 (参见 git-config [1] )。

例子

  • 添加一个新的远程,获取,并从中检出一个分支
$ git remote
origin
$ git branch -r
  origin/HEAD -&gt; origin/master
  origin/master
$ git remote add staging git://git.kernel.org/.../gregkh/staging.git
$ git remote
origin
staging
$ git fetch staging
...
From git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
 * [new branch]      master     -&gt; staging/master
 * [new branch]      staging-linus -&gt; staging/staging-linus
 * [new branch]      staging-next -&gt; staging/staging-next
$ git branch -r
  origin/HEAD -&gt; origin/master
  origin/master
  staging/master
  staging/staging-linus
  staging/staging-next
$ git checkout -b staging staging/master
...
  • 模仿 git clone 但仅跟踪选定的分支
$ mkdir project.git
$ cd project.git
$ git init
$ git remote add -f -t master -m master origin git://example.com/git.git/
$ git merge origin

也可以看看

git-fetch [1] git-branch [1] git-config [1]

GIT

部分 git [1] 套件

git-submodule

原文: git-scm.com/docs/git-submodule

名称

git-submodule - 初始化,更新或检查子模块

概要

git submodule [--quiet] add [<options>] [--] <repository> [<path>]
git submodule [--quiet] status [--cached] [--recursive] [--] [<path>…]
git submodule [--quiet] init [--] [<path>…]
git submodule [--quiet] deinit [-f|--force] (--all|[--] <path>…)
git submodule [--quiet] update [<options>] [--] [<path>…]
git submodule [--quiet] summary [<options>] [--] [<path>…]
git submodule [--quiet] foreach [--recursive] <command>
git submodule [--quiet] sync [--recursive] [--] [<path>…]
git submodule [--quiet] absorbgitdirs [--] [<path>…]

描述

检查,更新和管理子模块。

有关子模块的更多信息,请参阅 gitsubmodules [7]

COMMANDS

add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--depth <depth>] [--] <repository> [<path>] 

将给定存储库添加为给定路径下的子模块,该路径指向要在当前项目旁边提交的变更集:当前项目称为“超级项目”。

<库>是新子模块的原始存储库的 URL。这可以是绝对 URL,或者(如果它以./或…/开头),相对于超级项目的默认远程存储库的位置(请注意,指定存储库 foo.git ,这是位于超级项目 bar.git 旁边,您必须使用 …/foo.git 而不是 ./foo.git - 作为一个在遵循相对 URL 规则时可能会有所期望 - 因为 Git 中相对 URL 的评估与相对目录的相同。

默认远程是当前分支的远程跟踪分支的远程。如果不存在这样的远程跟踪分支或者 HEAD 被分离,则假定“origin”是默认远程。如果超级项目没有配置默认远程,则超级项目是其自己的权威上游,而是使用当前工作目录。

可选参数< path>是克隆子模块在超级项目中存在的相对位置。如果<  path>如果未给出,则使用源存储库的规范部分(“repo”表示“/path/to/repo.git”,“foo”表示“host.xz:foo  / .git”)。如果< path>存在并且已经是一个有效的 Git 存储库,然后它将在没有克隆的情况下进行提交。  <路径>除非--name用于指定逻辑名称,否则它也会在其配置条目中用作子模块的逻辑名称。

给定的 URL 记录在.gitmodules中,供后续用户克隆超级项目使用。如果 URL 是相对于超级项目的存储库给出的,则推测是超级项目,子模块存储库将保存在同一相对位置,并且只需要提供超级项目的 URL。 git-submodule 将使用.gitmodules中的相对 URL 正确定位子模块。

status [--cached] [--recursive] [--] [<path>…] 

显示子模块的状态。这将打印每个子模块当前检出的提交的 SHA-1,以及子模块路径和 SHA-1 的 git describe 的输出。如果子模块未初始化,则每个 SHA-1 可能以-为前缀,如果当前检出的子模块提交与包含存储库的索引中找到的 SHA-1 不匹配,则+U如果子模块有合并冲突。

如果指定了--recursive,则此命令将递归到嵌套的子模块中,并显示其状态。

如果您只对当前初始化的子模块相对于索引或 HEAD 中记录的提交的更改感兴趣, git-status [1]git-diff [1] 也将提供该信息(并且还可以报告对子模块工作树的更改)。

init [--] [<path>…] 

通过在.git / config 中设置submodule.$name.url来初始化索引中记录的子模块(已在其他地方添加并提交)。它使用.gitmodules中的相同设置作为模板。如果 URL 是相对的,则将使用默认远程解析。如果没有默认远程,则假定当前存储库位于上游。

可选<路径>参数限制将初始化哪些子模块。如果未指定路径且已配置 submodule.active,则将初始化配置为活动的子模块,否则将初始化所有子模块。

如果存在,它还将复制submodule.$name.update的值。此命令不会更改.git / config 中的现有信息。然后,您可以在.git / config 中自定义子模块克隆 URL 以进行本地设置,然后继续git submodule update;如果您不打算自定义任何子模块位置,也可以在没有显式 init 步骤的情况下使用git submodule update --init

有关默认远程的定义,请参阅 add 子命令。

deinit [-f|--force] (--all|[--] <path>…) 

取消注册给定的子模块,即从.git / config 中删除整个submodule.$name部分及其工作树。对git submodule updategit submodule foreachgit submodule sync的进一步调用将跳过任何未注册的子模块,直到它们再次初始化为止,因此如果您不想再在工作树中本地检出子模块,请使用此命令。

当命令在没有 pathspec 的情况下运行时,它会出错,而不是去除所有内容,以防止出错。

如果指定了--force,则即使子模块包含本地修改,也将删除该子模块的工作树。

如果你真的想要从存储库中删除子模块并提交使用 git-rm [1] 。有关删除选项,请参阅 gitsubmodules [7]

update [--init] [--remote] [-N|--no-fetch] [--[no-]recommend-shallow] [-f|--force] [--checkout|--rebase|--merge] [--reference <repository>] [--depth <depth>] [--recursive] [--jobs <n>] [--] [<path>…] 

通过克隆缺失的子模块并更新子模块的工作树,更新已注册的子模块以匹配超级项目所期望的内容。 “更新”可以通过多种方式完成,具体取决于命令行选项和submodule..update配置变量的值。命令行选项优先于配置变量。如果两者都没有给出,则执行 _ 检出 _。从命令行以及通过submodule..update配置支持的 _ 更新 _ 程序是:

checkout 

超级项目中记录的提交将在分离的 HEAD 上的子模块中检出。

如果指定了--force,则子模块将被检出(使用git checkout --force),即使包含存储库的索引中指定的提交已经与子模块中检出的提交匹配。

rebase 

子模块的当前分支将重新定位到超级项目中记录的提交。

merge 

超级项目中记录的提交将合并到子模块中的当前分支中。

以下 _ 更新 _ 程序仅可通过submodule..update配置变量获得:

custom command 

执行带有单个参数的任意 shell 命令(超级项目中记录的提交的 sha1)。当submodule..update设置为 _!命令 _ 时,感叹号后面的余数是自定义命令。

none

子模块未更新。

如果子模块尚未初始化,并且您只想使用.gitmodules中存储的设置,则可以使用--init选项自动初始化子模块。

如果指定了--recursive,则此命令将递归到已注册的子模块中,并更新其中的任何嵌套子模块。

summary [--cached|--files] [(-n|--summary-limit) <n>] [commit] [--] [<path>…] 

显示给定提交(默认为 HEAD)和工作树/索引之间的提交摘要。对于所讨论的子模块,显示了给定超级项目提交与索引或工作树(由--cached切换)之间的子模块中的一系列提交。如果给出了选项--files,则显示超级项目的索引与子模块的工作树之间的子模块中的一系列提交(此选项不允许使用--cached选项或提供显式承诺)。

git-diff [1] 中使用--submodule=log选项也可以提供该信息。

foreach [--recursive] <command> 

在每个签出的子模块中计算任意 shell 命令。该命令可以访问变量namename, name, sm_path,displaypathdisplaypath, displaypath, sha1 和topleveltoplevel: toplevel: name 是.gitmodules中相关子模块部分的名称,smpathsuperprojectsmpath是直接记录的子模块的路径superproject,  sm_path 是直接记录的子模块的路径 superproject, displaypath 包含从当前工作目录到子模块根目录的相对路径,sha1sha1是直接超级项目中记录的提交,  sha1 是直接超级项目中记录的提交, toplevel 是直接超级项目顶级的绝对路径。请注意,为了避免与 Windows 上的 $ PATH 冲突, $ path 变量现在是 $ sm_path 变量的弃用同义词。此命令将忽略超级项目中定义但未检出的任何子模块。除非给出--quiet,否则 foreach 会在评估命令之前打印每个子模块的名称。如果给出了--recursive,则递归遍历子模块(即,给定的 shell 命令也在嵌套的子模块中进行计算)。任何子模块中命令的非零返回都会导致处理终止。这可以通过添加 ||来覆盖: 到命令结束。

例如,下面的命令将显示每个子模块的路径和当前检出的提交:

git submodule foreach 'echo $path `git rev-parse HEAD`'
sync [--recursive] [--] [<path>…] 

将子模块的远程 URL 配置设置与.gitmodules中指定的值同步。它只会影响那些已经在.git / config 中有 URL 条目的子模块(初始化或新添加时就是这种情况)。当子模块 URL 更改上游并且您需要相应地更新本地存储库时,这非常有用。

git submodule sync同步所有子模块,而git submodule sync -- A仅同步子模块“A”。

如果指定了--recursive,则此命令将递归到已注册的子模块中,并同步其中的任何嵌套子模块。

absorbgitdirs 

如果子模块的 git 目录在子模块内,则将子模块的 git 目录移动到其 superprojects $GIT_DIR/modules路径,然后通过设置core.worktree并添加指向的.git 文件来连接 git 目录及其工作目录。嵌入在 superprojects git 目录中的 git 目录。

独立克隆并随后作为子模块或旧设置添加的存储库在子模块内部具有子模块 git 目录,而不是嵌入到 superprojects git 目录中。

默认情况下,此命令是递归的。

OPTIONS

-q 
--quiet 

仅打印错误消息。

--progress 

此选项仅对添加和更新命令有效。除非指定了-q,否则在将标准错误流附加到终端时,默认情况下会报告进度状态。即使标准错误流未定向到终端,此标志也会强制进度状态。

--all 

此选项仅对 deinit 命令有效。取消注册工作树中的所有子模块。

-b 
--branch 

存储库的分支添加为子模块。分支名称在update --remote中记录为update --remote中的submodule..branch.的特殊值用于指示子模块中分支的名称应与当前存储库中的当前分支的名称相同。

-f 
--force 

此选项仅对 add,deinit 和 update 命令有效。运行 add 时,允许添加否则忽略的子模块路径。当运行 deinit  时,子模块工作树将被删除,即使它们包含本地更改。运行更新时(仅对结帐过程有效),在切换到其他提交时,丢弃子模块中的本地更改;并且始终在子模块中运行  checkout 操作,即使包含存储库的索引中列出的提交与子模块中签出的提交匹配也是如此。

--cached 

此选项仅对 status 和 summary 命令有效。这些命令通常使用子模块 HEAD 中的提交,但使用此选项时,将使用存储在索引中的提交。

--files 

此选项仅对 summary 命令有效。当使用此选项时,此命令将索引中的提交与子模块 HEAD 中的提交进行比较。

-n 
--summary-limit 

此选项仅对 summary 命令有效。限制摘要大小(总计显示的提交数)。给 0 将禁用摘要;负数表示无限制(默认值)。此限制仅适用于已修改的子模块。对于添加/删除/ typechanged 子模块,大小始终限制为 1。

--remote 

此选项仅对 update 命令有效。不使用超级项目记录的 SHA-1 来更新子模块,而是使用子模块的远程跟踪分支的状态。使用的遥控器是分支的遥控器(branch..remote),默认为origin。使用的远程分支默认为master,但可以通过在.gitmodules.git/config中设置submodule..branch选项来覆盖分支名称(优先使用.git/config)。

这适用于任何支持的更新过程(--checkout--rebase等)。唯一的变化是目标 SHA-1 的来源。例如,submodule update --remote --merge会将上游子模块更改合并到子模块中,而submodule update --merge会将超级项目 gitlink 更改合并到子模块中。

为了确保当前跟踪分支状态,update --remote在计算 SHA-1 之前获取子模块的远程存储库。如果您不想获取,则应使用submodule update --remote --no-fetch

使用此选项可将上游子项目的更改与子模块的当前 HEAD 集成。或者,您可以从子模块运行git pull,除了远程分支名称之外,它是等效的:update --remote使用默认上游存储库和submodule..branch,而git pull使用子模块的branch..merge。如果您想在超级项目中分配默认上游分支,请选择submodule..branch,如果您希望在子模块本身工作时想要更原始的感觉,请选择branch..merge

-N 
--no-fetch 

此选项仅对 update 命令有效。不要从远程站点获取新对象。

--checkout

此选项仅对 update 命令有效。在子模块中的分离 HEAD 上签出超级项目中记录的提交。这是默认行为,此选项的主要用途是在设置为checkout以外的值时覆盖submodule.$name.update。如果未将键submodule.$name.update显式设置或设置为checkout,则此选项是隐式的。

--merge 

此选项仅对 update 命令有效。将超级项目中记录的提交合并到子模块的当前分支中。如果给出此选项,则不会分离子模块的 HEAD。如果合并失败阻止了此过程,则必须使用通常的冲突解决工具解决子模块中产生的冲突。如果键submodule.$name.update设置为merge,则此选项是隐式的。

--rebase 

此选项仅对 update 命令有效。将当前分支重新引导到超级项目中记录的提交。如果给出此选项,则不会分离子模块的 HEAD。如果合并失败阻止了此过程,则必须使用 git-rebase [1] 解决这些故障。如果键submodule.$name.update设置为rebase,则此选项是隐式的。

--init 

此选项仅对 update 命令有效。初始化所有在更新之前尚未调用“git submodule init”的子模块。

--name 

此选项仅对 add 命令有效。它将子模块的名称设置为给定的字符串,而不是默认为其路径。该名称必须作为目录名有效,并且不能以 / 结尾。

--reference <repository> 

此选项仅对添加和更新命令有效。这些命令有时需要克隆远程存储库。在这种情况下,此选项将传递给 git-clone [1] 命令。

不是使用此选项除非您已阅读 git-clone [1]--reference--shared--dissociate选项仔细。

--dissociate 

此选项仅对添加和更新命令有效。这些命令有时需要克隆远程存储库。在这种情况下,此选项将传递给 git-clone [1] 命令。

:参见--reference选项的注意事项。

--recursive 

此选项仅对 foreach,update,status 和 sync 命令有效。递归遍历子模块。该操作不仅在当前仓库的子模块中执行,而且还在这些子模块内的任何嵌套子模块中执行(依此类推)。

--depth 

此选项对添加和更新命令有效。创建一个 _ 浅 _ 克隆,其历史记录被截断为指定的修订数。见 git-clone [1]

--[no-]recommend-shallow 

此选项仅对 update 命令有效。子模块的初始克隆将使用默认情况下.gitmodules文件提供的推荐submodule..shallow。要忽略建议,请使用--no-recommend-shallow

-j <n>
--jobs <n> 

此选项仅对 update 命令有效。与多个作业并行克隆新的子模块。默认为submodule.fetchJobs选项。

<path>… 

子模块的路径。指定时,这将限制命令仅对指定路径上找到的子模块进行操作。 (添加时需要此参数)。

FILES

初始化子模块时,使用包含存储库的顶级目录中的.gitmodules文件来查找每个子模块的 URL。该文件的格式应与$GIT_DIR/config相同。每个子模块 url 的关键是“submodule。$ name.url”。有关详细信息,请参阅 gitmodules [5]

也可以看看

gitsubmodules [7]gitmodules [5]

GIT

部分 git [1] 套件

git-show

原文: git-scm.com/docs/git-show

名称

git-show - 显示各种类型的对象

概要

git show [<options>] [<object>…]

描述

显示一个或多个对象(blob,树,标签和提交)。

对于提交,它显示日志消息和文本差异。它还以 git diff-tree --cc 生成的特殊格式显示合并提交。

对于标签,它显示标签消息和引用的对象。

对于树,它显示名称(相当于 git ls-tree 和–name-only)。

对于普通 blob,它显示了普通内容。

该命令采用适用于 git diff-tree 命令的选项来控制如何显示提交引入的更改。

本手册页仅介绍最常用的选项。

OPTIONS

<object>… 

要显示的对象的名称(默认为 HEAD )。有关拼写对象名称的更完整列表,请参阅 gitrevisions [7] 中的“指定修订”部分。

--pretty[=<format>] 
--format=<format> 

以给定格式打印提交日志的内容,其中 < format> 可以是 oneline ,_ 短 培养基 更丰富 之一电子邮件 原始 格式:< string>_ 和 tformat:< string> 。当 < format> 不属于上述情况,并且其中包含 _%占位符 _,其行为就像 –pretty = tformat:< format> 给出了。

有关每种格式的一些其他详细信息,请参阅“PRETTY FORMATS”部分。当 =< format> 部分省略,默认为 medium

注意:您可以在存储库配置中指定默认的漂亮格式(请参阅 git-config [1] )。

--abbrev-commit 

而不是显示完整的 40 字节十六进制提交对象名称,而只显示部分前缀。可以使用“–abbrev =< n>”指定非默认位数(如果显示,也会修改 diff 输出)。

对于使用 80 列终端的人来说,这应该使“–pretty = oneline”更具可读性。

--no-abbrev-commit 

显示完整的 40 字节十六进制提交对象名称。这否定了--abbrev-commit以及暗示它的选项,例如“–oneline”。它还会覆盖log.abbrevCommit变量。

--oneline 

这是一起使用的“–pretty = oneline --abbrev-commit”的简写。

--encoding=<encoding> 

提交对象在其编码头中记录用于日志消息的编码;此选项可用于告诉命令以用户首选的编码重新编码提交日志消息。对于非管道命令,默认为 UTF-8。请注意,如果一个对象声称在X中编码并且我们在X中输出,我们将逐字输出该对象;这意味着原始提交中的无效序列可能会复制到输出中。

--expand-tabs=<n> 
--expand-tabs 
--no-expand-tabs

执行选项卡扩展(将每个选项卡替换为足够的空格以填充到日志消息中的 < n> 的倍数的下一个显示列),然后在输出中显示它。 --expand-tabs--expand-tabs=8的简写,--no-expand-tabs--expand-tabs=0的简写,它会禁用制表符扩展。

默认情况下,选项卡以相当格式展开,将日志消息缩进 4 个空格(即 medium ,默认情况下, fullfulller )。

--notes[=<treeish>] 

在显示提交日志消息时,显示注释提交的注释(请参阅 git-notes [1] )。当命令行中没有给出--pretty--format--oneline选项时,这是git loggit showgit whatchanged命令的默认值。

默认情况下,显示的注释来自core.notesRefnotes.displayRef变量(或相应的环境覆盖)中列出的注释 refs。有关详细信息,请参阅 git-config [1]

使用可选的 < treeish> 参数,使用树形查找要显示的注释。树形可以在以refs/notes/开头时指定完整的引用名称;当它以notes/开始时,refs/和其他refs/notes/作为前缀以形成 ref 的全名。

可以组合多个–notes 选项来控制显示哪些音符。示例:“ - notes = foo”将仅显示“refs / notes /  foo”中的注释; “–notes = foo --notes”将显示“refs / notes / foo”和默认音符  ref(s)中的两个音符。

--no-notes 

不要显示笔记。这取消了上面的--notes选项,通过重置显示注释的注释列表。选项按命令行中给出的顺序进行解析,例如, “–notes --notes = foo --no-notes --notes = bar”只会显示“refs / notes / bar”中的注释。

--show-notes[=<treeish>] 
--[no-]standard-notes 

不推荐使用这些选项。请使用上面的–notes / - no-notes 选项。

--show-signature 

通过将签名传递给gpg --verify并显示输出来检查已签名的提交对象的有效性。

漂亮的格式

如果提交是合并,并且如果漂亮格式不是 oneline ,_ 电子邮件 _ 或 raw ,则在 _ 作者之前插入另一行:_ 行。该行以“Merge:”开头,并且打印祖先提交的 sha1,用空格分隔。请注意,如果您限制了对历史记录的查看,则列出的提交可能不一定是直接父提交的列表:例如,如果您只对与某个目录或文件相关的更改感兴趣。

有几种内置格式,您可以通过设置漂亮的格式来定义其他格式。< name>将选项配置为另一种格式名称或 _ 格式:_ 字符串,如下所述(参见 git-config [1] )。以下是内置格式的详细信息:

  • oneline
&lt;sha1&gt; &lt;title line&gt;
  • 这是为了尽可能紧凑。
  • _ 短 _
commit &lt;sha1&gt;
Author: &lt;author&gt;
&lt;title line&gt;
  • _ 中 _
commit &lt;sha1&gt;
Author: &lt;author&gt;
Date:   &lt;author date&gt;
&lt;title line&gt;
&lt;full commit message&gt;
  • _ 全 _
commit &lt;sha1&gt;
Author: &lt;author&gt;
Commit: &lt;committer&gt;
&lt;title line&gt;
&lt;full commit message&gt;
  • _ 更丰富 _
commit &lt;sha1&gt;
Author:     &lt;author&gt;
AuthorDate: &lt;author date&gt;
Commit:     &lt;committer&gt;
CommitDate: &lt;committer date&gt;
&lt;title line&gt;
&lt;full commit message&gt;


Git 中文参考(四)(2)https://developer.aliyun.com/article/1565830

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2月前
|
监控 程序员 开发工具
如何规范Git提交-参考阿里云开发者社区
这篇文章分享了如何规范Git提交,介绍了commit message的格式规范,并通过webhook监控机制来确保代码提交的规范性,从而提高研发效率和代码维护质量。
|
3月前
|
存储 缓存 网络安全
Git 中文参考(一)(8)
Git 中文参考(一)
34 2
|
3月前
|
存储 网络安全 开发工具
Git 中文参考(一)(7)
Git 中文参考(一)
22 2
|
3月前
|
存储 算法 Java
Git 中文参考(一)(6)
Git 中文参考(一)
29 2
|
3月前
|
存储 Shell 开发工具
Git 中文参考(一)(5)
Git 中文参考(一)
22 2
|
3月前
|
存储 开发工具 git
Git 中文参考(一)(4)
Git 中文参考(一)
24 2
|
3月前
|
存储 安全 开发工具
Git 中文参考(一)(3)
Git 中文参考(一)
18 2
|
3月前
|
存储 Shell 开发工具
Git 中文参考(一)(2)
Git 中文参考(一)
19 2
|
3月前
|
存储 人工智能 开发工具
Git 中文参考(五)(9)
Git 中文参考(五)
130 2
|
3月前
|
存储 Linux 开发工具
Git 中文参考(五)(8)
Git 中文参考(五)
23 2