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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
// Warning!! Code generated automatically: this file must not be edited by hand
use crateoption_arg;
use crateFnOptionArg;
pub const QUIET: &str = "--quiet";
pub const PROGRESS: &str = "--progress";
pub const NO_PROGRESS: &str = "--no-progress";
pub const FORCE: &str = "--force";
pub const OURS: &str = "--ours";
pub const THEIRS: &str = "--theirs";
pub const NEW_BRANCH: &str = "-b";
pub const NEW_BRANCH_FORCE: &str = "-B";
pub const TRACK: &str = "--track";
pub const NO_TRACK: &str = "--no-track";
pub const NEW_BRANCH_REFLOG: &str = "-l";
pub const DETACH: &str = "--detach";
pub const ORPHAN: &str = "--orphan";
pub const IGNORE_SKIP_WORKTREE_BITS: &str = "--ignore-skip-worktree-bits";
pub const MERGE: &str = "--merge";
pub const CONFLICT: &str = "--conflict";
pub const PATCH: &str = "--patch";
pub const IGNORE_OTHER_WORKTREES: &str = "--ignore-other-worktrees";
pub const RECURSE_SUBMODULES: &str = "--recurse-submodules";
pub const NO_RECURSE_SUBMODULES: &str = "--no-recurse-submodules";
pub const HYPHEN_HYPHEN: &str = "--";
/// Quiet, suppress feedback messages.
/// -q, --quiet
/// Progress status is reported on the standard error stream by default when it is attached to a terminal, unless --quiet is specified.
/// This flag enables progress reporting even if not attached to a terminal, regardless of --quiet.
/// --progress
/// Progress status is reported on the standard error stream by default when it is attached to a terminal, unless --quiet is specified.
/// This flag enables progress reporting even if not attached to a terminal, regardless of --quiet.
/// --no-progress
/// When switching branches, proceed even if the index or the working tree differs from HEAD.
/// This is used to throw away local changes.
/// When checking out paths from the index, do not fail upon unmerged entries; instead, unmerged entries are ignored.
/// -f, --force
/// When checking out paths from the index, check out stage #2 (ours) or #3 (theirs) for unmerged paths.
/// --ours, --theirs
/// When checking out paths from the index, check out stage #2 (ours) or #3 (theirs) for unmerged paths.
/// --ours, --theirs
/// Create a new branch named <new_branch> and start it at <start_point>; see git-branch(1) for details.
/// -b [new_branch]
/// Creates the branch <new_branch> and start it at <start_point>; if it already exists, then reset it to <start_point>.
/// This is equivalent to running 'git branch' with '-f'; see git-branch(1) for details.
/// -B [new_branch]
/// When creating a new branch, set up 'upstream' configuration.
/// See '--track' in git-branch(1) for details.
/// -t, --track
/// Do not set up 'upstream' configuration, even if the branch.autoSetupMerge configuration variable is true.
/// --no-track
/// Create the new branch’s reflog; see git-branch(1) for details.
/// -l
/// Rather than checking out a branch to work on it, check out a commit for inspection and discardable experiments.
/// This is the default behavior of 'git checkout <commit>' when <commit> is not a branch name.
/// See the 'DETACHED HEAD' section below for details.
/// --detach
/// Create a new orphan branch, named <new_branch>, started from <start_point> and switch to it.
/// The first commit made on this new branch will have no parents and it will be the root of a new history totally disconnected from all the other branches and commits.
/// --orphan <new_branch>
/// In sparse checkout mode, git checkout -- <paths> would update only entries matched by <paths> and sparse patterns in $GIT_DIR/info/sparse-checkout.
/// This option ignores the sparse patterns and adds back any files in <paths>.
/// --ignore-skip-worktree-bits
/// When switching branches, if you have local modifications to one or more files that are different between the current branch and the branch to which you are switching,
/// the command refuses to switch branches in order to preserve your modifications in context.
/// However, with this option, a three-way merge between the current branch, your working tree contents, and the new branch is done, and you will be on the new branch.
/// -m, --merge
/// The same as --merge option above, but changes the way the conflicting hunks are presented, overriding the merge.conflictStyle configuration variable.
/// Possible values are 'merge' (default) and 'diff3' (in addition to what is shown by 'merge' style, shows the original contents).
/// --conflict=<style>
/// Interactively select hunks in the difference between the <tree-ish> (or the index, if unspecified) and the working tree.
/// The chosen hunks are then applied in reverse to the working tree (and if a <tree-ish> was specified, the index).
/// -p, --patch
/// git checkout refuses when the wanted ref is already checked out by another worktree.
/// This option makes it check the ref out anyway.
/// In other words, the ref can be held by more than one worktree.
/// --ignore-other-worktrees
/// Using --recurse-submodules will update the content of all initialized submodules according to the commit recorded in the superproject.
/// If local modifications in a submodule would be overwritten the checkout will fail unless -f is used.
/// If nothing (or --no-recurse-submodules) is used, the work trees of submodules will not be updated.
/// --recurse-submodules
/// Using --recurse-submodules will update the content of all initialized submodules according to the commit recorded in the superproject.
/// If local modifications in a submodule would be overwritten the checkout will fail unless -f is used.
/// If nothing (or --no-recurse-submodules) is used, the work trees of submodules will not be updated.
/// --no-recurse-submodules
/// Do not interpret any more arguments as options.
/// --
/// Limits the paths affected by the operation.
/// <pathspec>
/// Branch to checkout; if it refers to a branch (i.e., a name that, when prepended with "refs/heads/", is a valid ref), then that branch is checked out.
/// Otherwise, if it refers to a valid commit, your HEAD becomes "detached" and you are no longer on any branch (see below for details).
/// <branch>