Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何阅读git概要文档?_Git - Fatal编程技术网

如何阅读git概要文档?

如何阅读git概要文档?,git,Git,作为一名iOS工程师,我很难理解git文档。我查了一下,在网上搜索了一下,但找不到我问题的答案 例如:其文档如下所示: 1 git checkout [-q] [-f] [-m] [<branch>] 2 git checkout [-q] [-f] [-m] --detach [<branch>] 3 git checkout [-q] [-f] [-m] [--detach] <commit> 4 git checkout [-q] [-f] [-m] [

作为一名iOS工程师,我很难理解git文档。我查了一下,在网上搜索了一下,但找不到我问题的答案

例如:其文档如下所示:

1 git checkout [-q] [-f] [-m] [<branch>]
2 git checkout [-q] [-f] [-m] --detach [<branch>]
3 git checkout [-q] [-f] [-m] [--detach] <commit>
4 git checkout [-q] [-f] [-m] [[-b|-B|--orphan] <new_branch>] [<start_point>]
5 git checkout [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <pathspec>…
6 git checkout [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] --pathspec-from-file=<file> [--pathspec-file-nul]
7 git checkout (-p|--patch) [<tree-ish>] [--] [<pathspec>…​]
1git签出[-q][-f][-m][]
2 git签出[-q][-f][-m]--分离[]
3 git签出[-q][-f][-m][-detach]
4 git签出[-q][-f][-m][-b |-b |-孤立][]
5 git签出[-f |--ours |--theres |--m |--conflict=][[--]…
6 git签出[-f |--ours |--theres |-m |--conflict=][]--pathspec from file=[--pathspec file numl]
7 git签出(-p |--patch)[[-][…​]
☝️ 我自己加了行号

  • 我数了7行。每行都是可以与该行中任意数量的选项一起使用的选项组合吗?即第一行:git checkout[-q][f][m][]可以单独使用
    -q
    -f
    -m
    或组合使用
    -q-f
    但是
    git checkout-q-b
    分支无法工作,因为
    -b
    不在该行中?我的意思是前三行看起来非常相似
  • 第一行和第二行:为什么不能用这一行替换前两行:
    git checkout[-q][-f][-m][-detach]
  • 另外,我认为顺序并不重要,对于第一行,
    git checkout-q-f
    git checkout-f-q
    没有什么不同。我尝试过,结果是一样的,但我还是不确定
  • 第二行:为什么在
    []
    中有一些选项,但是
    --detach
    不在括号中?它与第三行有什么不同,第三行
    --detach
    []
  • 第四行:
    [[-b |-b |-孤儿]]
    我该怎么读?我不知道
  • 第五行:
    |
    是什么意思
  • 第七行:什么是
    ()
  • 第七行:
    [-]
    有什么用
我知道这个问题有点宽泛,但不同的语法命令需要放在一起看。当涉及到搜索时,它更有用。其他人不必阅读7-8个不同的问题并将其全部拼凑在一起。

特别感谢提出我的意见并帮助我将其拼凑在一起的人

我数了7行。每行都是可以选择的选项组合吗 在该行中使用任意数量的选项

这是正确的。但是
git checkout-q-b new#u branch_name
有效。它只在#4定义下有效,而不在#1定义下有效

第一行和第二行:为什么前两行不能替换为 这一行:
git checkout[-q][-f][-m][-detach]

你是对的,它们可以被替换,并且仍然具有相同的摘要含义。行的分隔是因为行为的差异足以在以后有单独的长格式解释

还有,我想顺序并不重要,这是第一行,git checkout-q-f与git checkout-f-q没有什么不同 结果是一样的,但我还是不确定

除非“选项”部分另有说明,否则基于选项出现顺序的选项之间不存在隐含关系

☝️ 发件人:


其余问题的答案可从

占位符用小写字母拼写,并用尖括号括起来:

<file>
--sort=<key>
--abbrev[=<n>]
<new-branch-name>
--template=<template-directory>
[-q | --quiet]
[--utf8 | --no-utf8]
[(<rev> | <range>)...]
(Any number of either <rev> or <range>.  Parens are needed to make
it clear that "..." pertains to both <rev> and <range>.)

[(-p <parent>)...]
(Any number of option -p, each with one <parent> argument.)

git remote set-head <name> (-a | -d | <branch>)
(One and only one of "-a", "-d" or "<branch>" _must_ (no square
brackets) be provided.)
--diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]]
Here "=" is outside the brackets, because "--diff-filter=" is a
valid usage.  "*" has its own pair of brackets, because it can
(optionally) be specified only when one or more of the letters is
also provided.
括号用于分组:

<file>
--sort=<key>
--abbrev[=<n>]
<new-branch-name>
--template=<template-directory>
[-q | --quiet]
[--utf8 | --no-utf8]
[(<rev> | <range>)...]
(Any number of either <rev> or <range>.  Parens are needed to make
it clear that "..." pertains to both <rev> and <range>.)

[(-p <parent>)...]
(Any number of option -p, each with one <parent> argument.)

git remote set-head <name> (-a | -d | <branch>)
(One and only one of "-a", "-d" or "<branch>" _must_ (no square
brackets) be provided.)
--diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]]
Here "=" is outside the brackets, because "--diff-filter=" is a
valid usage.  "*" has its own pair of brackets, because it can
(optionally) be specified only when one or more of the letters is
also provided.

还请注意,如果您向下滚动(其他页面的选项部分末尾有类似的术语表),您将看到一些元数据,帮助您更好地理解:

分支到签出;如果它指的是分支(即,当 前缀为“refs/heads/”,是有效的ref),则该分支为 否则,如果它引用了有效的提交,则您的头 变得“分离”,而您不再在任何分支上(请参阅下面的 详情)

您可以使用@{N}语法来引用第N个最后的分支/提交 使用“git checkout”操作签出。您还可以指定- 它是@{1}的同义词

作为特例,您可以使用…B作为合并基的快捷方式 如果只有一个合并基,则删除A和B的。您可以在 大多数是A和B中的一个,在这种情况下,它默认为HEAD

新分支的名称

要启动新分支的提交的名称;请参阅 有关详细信息,请参阅git分支。默认值为HEAD

作为特例,您可以使用“a…B”作为合并的快捷方式 如果只有一个合并基,则可以省略A和B的基 最多A和B中的一个,在这种情况下,它默认为HEAD

要从中签出的树(当给定路径时)。如果未指定,则 将使用索引

--

不要将任何其他参数解释为选项

限制受操作影响的路径

有关详细信息,请参见中的pathspec条目



另外,对于指定含义的标准文档,请参见

--
具有标准含义(作为“选项结束”);它完全不是git特定的(“在此之后的任何内容都不会被解析为选项,而是作为位置参数”)。在这种情况下,
--
之后的所有内容都保证被解析为pathspec,即使它在其他方面可能是不明确的……对于指定该含义的标准文档,请参见,顺便说一句,
git checkout-q-b new#u branch_name
工作——它只在#4定义下工作,而不是在#1定义下。正确;至少,这些用法是正确的s不会被记录下来工作;它们的行为将由实现定义并可能发生更改,而不是由文档定义并保证是稳定的