如何阅读git概要文档?
作为一名iOS工程师,我很难理解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] [
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 |-孤儿]]
- 第五行:
是什么意思|
- 第七行:什么是
()
- 第七行:
有什么用[-]
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不会被记录下来工作;它们的行为将由实现定义并可能发生更改,而不是由文档定义并保证是稳定的