【问题标题】:Resource for Reading Git Man Pages?阅读 Git 手册页的资源?
【发布时间】:2013-11-17 21:37:17
【问题描述】:

我有兴趣学习如何阅读 Git 手册页上的命令行语法。比如this页面的概要中出现了以下内容

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

有人可以提供有关如何阅读此语法的解释或资源吗?谷歌搜索显示了 Windows 和 IBM 语法的结果,但我找不到任何关于 Linux 类型命令的内容。

【问题讨论】:

  • 试试git --helpman gitgit help command(例如git help clone)。如果这不是您想要的,请澄清。
  • 我正在尝试学习如何阅读概要,以便使用正确的语法调用命令。
  • 查看官方且完全免费的 Git 书籍:git-scm.com/book
  • 如果我错了,请纠正我,但据我所知,Git 书没有关于阅读命令行语法的解释。
  • 也许你是对的。这本书可能没有专门的章节,但是当你阅读它时,我想它会自然而然地一点一点地来到你身边。我不是 git 命令行帮助的忠实粉丝,它充其量是不清楚和参差不齐的。每当我需要做一些“不寻常”的事情时,我都会严重依赖 stackoverflow。

标签: git command-line


【解决方案1】:
  • 方括号中的单词是可选的
  • 管道 (|) 使括号中的内容互斥
  • 尖括号是任何类型信息的占位符
  • 前面没有--- 的单词是文件名等内容的占位符。

(来自man-pages(7)

SYNOPSIS      briefly describes the command or function's interface.
             For commands, this shows the syntax of the command and
             its arguments (including options); boldface is used for
             as-is text and italics are used to indicate replaceable
             arguments.  Brackets ([]) surround optional arguments,
             vertical bars (|) separate choices, and ellipses (...)
             can be repeated.  For functions, it shows any required
             data declarations or #include directives, followed by
             the function declaration.

【讨论】:

  • 好的,但请考虑以下命令git config [&lt;file-option&gt;] [type] --add name value。在这里,namevalue 大概是我的信息的占位符,但没有出现在尖括号中?
  • 嗯,模棱两可的。通常,如果它前面有 ---,它会逐字写入。
  • @jesterII Git 文档用 docbook 编写并自动转换为手册页。此转换不使用mdoc groff 宏为格式化选项提供的标准宏。对于 git-config,手册中列出了许多不同的调用。在您的示例中,我将其解释如下;如果您使用 --add 选项,您必须提供名称和值。
  • @RolandSmith 那么,namevalue 之所以不在&lt;&gt; 中是因为自动转换错误吗?使用语法应该(理想情况下)符合 [POSIX Utility Argument Syntax][pubs.opengroup.org/onlinepubs/9699919799/basedefs/….这是一个问题,例如 git rebase 的文档,这意味着它可以简单地以 git rebase 运行,而无需任何选项或参数。
  • @AlexGittemeier 是的,实际上我在发布此内容后才意识到我错了...您可以不带参数地变基(我的坏@RolandSmith)。如果您要变基的分支有一个遥控器,它就可以工作。例如如果topic 具有远程origin/topic,则从topic 运行git rebase 将重新定位到origin/topic。太奇怪了,这是默认设置,因为我认为您会冒着以这种方式重写已发布历史的风险。
猜你喜欢
  • 1970-01-01
  • 2015-05-26
  • 2012-04-28
  • 1970-01-01
  • 2012-01-04
  • 2011-07-07
  • 1970-01-01
  • 1970-01-01
  • 2022-09-29
相关资源
最近更新 更多