-
Notifications
You must be signed in to change notification settings - Fork 0
/
data.js
401 lines (401 loc) · 12.4 KB
/
data.js
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
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
export const refData = [
{
title: 'Prepare Repository',
summary: 'Start working with a git repository',
contents: [
{
title: 'Initialize Repository',
summary: 'Create a new empty repository in current directory',
command: 'git init',
},
{
title: 'Clone Repository',
summary: 'Clone repository from URL',
command: 'git clone <url> <dir>',
},
],
},
{
title: 'Configuration',
summary:
'Before you start working with a repository, it should be properly configured',
contents: [
{
title: 'Show Configurations',
summary: 'Show current configurations',
command: 'git config --list',
},
{
title: 'Set User Name',
summary: 'Set committer user name',
command: 'git config user.name <name>',
},
{
title: 'Set User Email',
summary: 'Set committer email address',
command: 'git config user.email <email>',
},
{
title: 'Unix/Windows EOL Conversion',
summary:
'Automatically convert between Unix and Windows end of the line on commit and checkout',
command: 'git config core.autocrlf true',
},
{
title: 'EOL Conversion on Save Only',
summary:
'Convert CRLF to LF only when committing, use original line ending on checkout',
command: 'git config core.autocrlf input',
},
{
title: 'Change Editor',
summary: 'Change text editor for writing commit message',
command: 'git config core.editor <editor>',
},
{
title: 'Get Configuration',
summary: 'Get configuration value for a configuration name',
command: 'git config --get <config-name>',
},
{
title: 'Unset Configuration',
summary: 'Unset configuration value for given configuration name',
command: 'git config --unset <config-name>',
},
{
title: 'Configuration Scope',
summary:
'--local or none for current repo, --global for user scope, --system for system scope',
command: 'git config [--global | --system] <name> <value>',
},
],
},
{
title: 'Working with Repository',
summary: 'Adding files, committing changes',
contents: [
{
title: 'Show Status',
summary: 'Show working directory status, what files changed',
command: 'git status',
},
{
title: 'Add File to Index',
summary: 'Add file or directory to the index for the next commit',
command: 'git add <file>',
},
{
title: 'Add Modified Files',
summary:
'Update modified files to the index, it will not add new files',
command: 'git add -u',
},
{
title: 'Remove File from Index',
summary: 'Remove file from index, file on current directory unaffected',
command: 'git reset -- <file>',
},
{
title: 'Discard Modification',
summary: 'Discard file modification, restore file from index',
command: 'git checkout -- <file>',
},
{
title: 'Delete File',
summary: 'Delete file in the working directory and the index',
command: 'git rm <file>',
},
{
title: 'Commit Change',
summary: 'Apply changes in the index with given commit message',
command: 'git commit -m ["message"]',
},
{
title: 'Revise Commit',
summary: 'Replace last commit of the current branch with current index',
command: 'git commit --amend',
},
{
title: 'Reset Author',
summary: 'Amend commit author and author date to the committer',
command: 'git commit --amend --reset-author',
},
{
title: 'Change Author',
summary:
'Amend commit author with given author name and email, author date unchaged',
command: 'git commit --amend --author="Author Name <email>"',
},
{
title: 'Change Author Date',
summary: 'Amend author date, use ISO 8601 format for convenience',
command: 'git commit --amend --date="1999-12-31T23:59:59"',
},
{
title: 'Show Commit Log',
summary: 'Show commit logs, limit showing <number> commits',
command: 'git log [-n <number>]',
},
{
title: 'Show Short Log',
summary: 'Show shorter commit log',
command: 'git shortlog',
},
{
title: 'Short Log Summary',
summary: 'Show even shorter commit count cummary',
command: 'git shortlog -s',
},
{
title: 'Diff Working Directory',
summary: 'Show diff between index and working directory',
command: 'git diff',
},
{
title: 'Diff Working Directory and Branch',
summary: 'Show diff between branch and working directory',
command: 'git diff <branch-name>',
},
{
title: 'Show Diff between Branches',
summary: 'Show diff between two branches',
command: 'git diff <branch-1> <branch-2>',
},
{
title: 'Dry-run Clean',
summary: 'See what would be done by git clean command',
command: 'git clean -n',
},
{
title: 'Remove Untracked Files',
summary: 'Interactively remove untracked files from repository',
command: 'git clean -i',
},
],
},
{
title: 'Manage Branch',
summary: 'Working with git branches',
contents: [
{
title: 'Detach Branch',
summary: 'Detach head from current branch',
command: 'git checkout --detach',
},
{
title: 'Create New Branch',
summary: 'Create new branch starting from current head',
command: 'git checkout -b <branch-name>',
},
{
title: 'Switch Branch',
summary: 'Change active branch',
command: 'git checkout <branch-name>',
},
{
title: 'Checkout to Commit Name',
summary:
'Checkout to commit-name. Commit name can be branch name, commit hash or relative HEAD reference',
command: 'git checkout <commit-name>',
},
{
title: 'Checkout to Previous Commit',
summary:
'Detach head and switch to previous commit. Where ~1 is previous commit, ~2 is previous 2 commits, etc.',
command: 'git checkout <HEAD~1>',
},
{
title: 'Reset Current Head',
summary:
'Move current branch head to commit-name. Changes in index AND working directory are discarded. Potentially causing commits after commit-name lose. Use with caution.',
command: 'git reset --hard <commit-name>',
},
{
title: 'List Branches',
summary: 'List local branches',
command: 'git branch [--list]',
},
{
title: 'List Remote Tracking Branches',
summary: 'List remote tracking bracnhes',
command: 'git branch -r',
},
{
title: 'List Branches and Commit Message',
summary: 'List branches, hash, and commit message',
command: 'git branch -v',
},
{
title: 'Sort Branches By Committer Date',
summary:
'List branches, hash, and commit message, sort by committer date',
command: 'git branch -v --sort=committerdate',
},
{
title: 'Sort Branches By Author Date',
summary: 'List branches, hash, and commit message, sort by author date',
command: 'git branch -v --sort=authordate',
},
{
title: 'List All Branches',
summary: 'List both local and remote-tracking branches',
command: 'git branch -a',
},
{
title: 'Delete Branch',
summary: 'Delete already merged branches',
command: 'git branch -d <branch-name>',
},
{
title: 'Force Delete Branch',
summary: 'Delete branch, even unmerged. Use with caution.',
command: 'git branch -D <branch-name>',
},
{
title: 'Merge Branch',
summary:
'Merge other branch with current branch, fast-forword if possible',
command: 'git merge <other-branch>',
},
{
title: 'Merge Using Merge Commit',
summary: 'Merge other branch, use merge commit',
command: 'git merge --no-ff <other-branch>',
},
{
title: 'Interactive Branch Rebase',
summary: 'Rebase current branch with other branch interactively',
command: 'git rebase -i <other-branch>',
},
],
},
{
title: 'Manage Tags',
summary: 'Manage local tags',
contents: [
{
title: 'List Tags',
summary: 'List available tags',
command: 'git tag',
},
{
title: 'Add Tag',
summary: 'Create new lightweight tag named <tag-name>',
command: 'git tag <tag-name>',
},
{
title: 'Delete Tag',
summary: 'Delete a tag named <tag-name>',
command: 'git tag -d <tag-name>',
},
],
},
{
title: 'Stash Working Directory',
summary: 'Save and restore working directory state',
contents: [
{
title: 'Stash Working Directory',
summary:
'Save working directory state to new stash and clean up working directory',
command: 'git stash save',
},
{
title: 'List Stashes',
summary: 'List stashes, stash@{0} is last stash',
command: 'git stash list',
},
{
title: 'Restore Stash',
summary: 'Restore last stash and apply to working directory',
command: 'git stash pop',
},
{
title: 'Remove Last Stash',
summary: 'Remove last stash, saved state will be discarded',
command: 'git stash drop',
},
{
title: 'Clear stashes',
summary: 'Remove all stashes, saved states will be discarded',
command: 'git stash clear',
},
],
},
{
title: 'Remote Repository',
summary: 'Synchronize objects between local and remote repository',
contents: [
{
title: 'Show remote repositories',
summary: 'Show remote repositories name and url for push/fetch',
command: 'git remote -v',
},
{
title: 'Add Remote Repository',
summary: 'Add new remote repository with given remote name',
command: 'git remote add <remote-name> <url>',
},
{
title: 'Push Branch to Remote',
summary: 'Push local branch to remote repository',
command: 'git push <remote-name> <branch-name>',
},
{
title: 'Delete Remote Branch',
summary: 'Delete a branch from remote repository',
command: 'git push --delete <remote-name> <branch-name>',
},
{
title: 'Push Tag',
summary: 'Push single local tag to remote repository',
command: 'git push <remote-name> <tag-name>',
},
{
title: 'Push All Tags',
summary: 'Push all local tags to remote repository',
command: 'git push --tags <remote-name>',
},
{
title: 'Delete Remote Tag',
summary: 'Delete a tag from remote repository',
command: 'git push --delete <remote-name> <tag-name>',
},
{
title: 'Fetch from Remote',
summary:
'Update remote-tracking branches. Remote-tracking branches are NOT automatically merged with local branches. Use git branch -r to list remote-tracking branches',
command: 'git fetch <remote-name>',
},
{
title: 'Pull from Remote',
summary:
'Retrieve objects from remote branches, and merge with current branch. Use with caution.',
command: 'git pull <remote-name> <branch-name>',
},
],
},
{
title: 'Repository Maintenance',
summary: 'Keep git repository clean and optimized',
contents: [
{
title: 'Optimize Repository',
summary:
'Remove unnecessary files and references, optimize repository. It is a good idea to run gc periodically',
command: 'git gc',
},
{
title: 'Optimize Repository if Required',
summary:
'Check and run gc only if required, otherwise exit without doing gc',
command: 'git gc --auto',
},
{
title: 'Check Repository',
summary: 'Check integrity of objects in the repository',
command: 'git fsck',
},
],
},
];