Linux server1.hosting4iran.com 4.18.0-553.123.2.el8_10.x86_64 #1 SMP Thu May 7 15:28:41 EDT 2026 x86_64
LiteSpeed
Server IP : 185.208.174.156 & Your IP : 216.73.217.128
Domains : 328 Domain
User : satitravel
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
doc /
git /
Delete
Unzip
Name
Size
Permission
Date
Action
RelNotes
[ DIR ]
drwxr-xr-x
2026-06-10 18:39
contrib
[ DIR ]
drwxr-xr-x
2026-06-10 18:39
howto
[ DIR ]
drwxr-xr-x
2026-06-10 18:39
technical
[ DIR ]
drwxr-xr-x
2026-06-10 18:39
CODE_OF_CONDUCT.md
5.85
KB
-rw-r--r--
2025-06-13 22:14
MyFirstContribution.html
88.45
KB
-rw-r--r--
2025-07-22 14:31
MyFirstContribution.txt
53.32
KB
-rw-r--r--
2025-06-13 22:14
MyFirstObjectWalk.html
59.13
KB
-rw-r--r--
2025-07-22 14:31
MyFirstObjectWalk.txt
28.3
KB
-rw-r--r--
2025-06-13 22:14
README.md
3.57
KB
-rw-r--r--
2025-06-13 22:14
ReviewingGuidelines.html
26.2
KB
-rw-r--r--
2025-07-22 14:31
ReviewingGuidelines.txt
7.91
KB
-rw-r--r--
2025-06-13 22:14
SubmittingPatches.html
54.36
KB
-rw-r--r--
2025-07-22 14:32
SubmittingPatches.txt
29.44
KB
-rw-r--r--
2025-07-22 14:31
ToolsForGit.html
18.57
KB
-rw-r--r--
2025-07-22 14:31
ToolsForGit.txt
1.32
KB
-rw-r--r--
2025-06-13 22:14
blame-options.txt
5.86
KB
-rw-r--r--
2025-06-13 22:14
cmds-ancillaryinterrogators.txt
1.26
KB
-rw-r--r--
2025-07-22 14:30
cmds-ancillarymanipulators.txt
746
B
-rw-r--r--
2025-07-22 14:30
cmds-developerinterfaces.txt
678
B
-rw-r--r--
2025-07-22 14:30
cmds-foreignscminterface.txt
399
B
-rw-r--r--
2025-07-22 14:30
cmds-guide.txt
833
B
-rw-r--r--
2025-07-22 14:30
cmds-mainporcelain.txt
2.96
KB
-rw-r--r--
2025-07-22 14:30
cmds-plumbinginterrogators.txt
1.5
KB
-rw-r--r--
2025-07-22 14:30
cmds-plumbingmanipulators.txt
1.38
KB
-rw-r--r--
2025-07-22 14:30
cmds-purehelpers.txt
1.24
KB
-rw-r--r--
2025-07-22 14:30
cmds-synchelpers.txt
449
B
-rw-r--r--
2025-07-22 14:30
cmds-synchingrepositories.txt
397
B
-rw-r--r--
2025-07-22 14:30
cmds-userinterfaces.txt
507
B
-rw-r--r--
2025-07-22 14:30
config.txt
17.58
KB
-rw-r--r--
2025-07-22 14:30
date-formats.txt
1.14
KB
-rw-r--r--
2025-06-13 22:14
diff-format.txt
6.42
KB
-rw-r--r--
2025-06-13 22:14
diff-generate-patch.txt
7.08
KB
-rw-r--r--
2025-06-13 22:14
diff-options.txt
31.68
KB
-rw-r--r--
2025-06-13 22:14
docbook-xsl.css
4.45
KB
-rw-r--r--
2025-06-13 22:14
everyday.html
16.6
KB
-rw-r--r--
2025-07-22 14:31
fetch-options.txt
11.99
KB
-rw-r--r--
2025-06-13 22:14
fsck-msgids.txt
4.1
KB
-rw-r--r--
2025-06-13 22:14
git-add.html
39.42
KB
-rw-r--r--
2025-07-22 14:32
git-add.txt
15.79
KB
-rw-r--r--
2025-06-13 22:14
git-am.html
32.38
KB
-rw-r--r--
2025-07-22 14:31
git-am.txt
9.1
KB
-rw-r--r--
2025-06-13 22:14
git-annotate.html
27.73
KB
-rw-r--r--
2025-07-22 14:31
git-annotate.txt
771
B
-rw-r--r--
2025-06-13 22:14
git-apply.html
32.62
KB
-rw-r--r--
2025-07-22 14:31
git-apply.txt
10.69
KB
-rw-r--r--
2025-06-13 22:14
git-archive.html
29.16
KB
-rw-r--r--
2025-07-22 14:31
git-archive.txt
8.29
KB
-rw-r--r--
2025-06-13 22:14
git-bisect-lk2009.html
79.34
KB
-rw-r--r--
2025-07-22 14:30
git-bisect-lk2009.txt
48.53
KB
-rw-r--r--
2025-06-13 22:14
git-bisect.html
39.62
KB
-rw-r--r--
2025-07-22 14:32
git-bisect.txt
17.49
KB
-rw-r--r--
2025-06-13 22:14
git-blame.html
41.5
KB
-rw-r--r--
2025-07-22 14:31
git-blame.txt
8.53
KB
-rw-r--r--
2025-06-13 22:14
git-branch.html
47.12
KB
-rw-r--r--
2025-07-22 14:32
git-branch.txt
15.38
KB
-rw-r--r--
2025-06-13 22:14
git-bugreport.html
20.03
KB
-rw-r--r--
2025-07-22 14:32
git-bugreport.txt
2.36
KB
-rw-r--r--
2025-06-13 22:14
git-bundle.html
32.49
KB
-rw-r--r--
2025-07-22 14:32
git-bundle.txt
11.43
KB
-rw-r--r--
2025-06-13 22:14
git-cat-file.html
37.75
KB
-rw-r--r--
2025-07-22 14:31
git-cat-file.txt
13.3
KB
-rw-r--r--
2025-06-13 22:14
git-check-attr.html
22.1
KB
-rw-r--r--
2025-07-22 14:32
git-check-attr.txt
3.31
KB
-rw-r--r--
2025-06-13 22:14
git-check-ignore.html
22.59
KB
-rw-r--r--
2025-07-22 14:32
git-check-ignore.txt
4.06
KB
-rw-r--r--
2025-06-13 22:14
git-check-mailmap.html
18.38
KB
-rw-r--r--
2025-07-22 14:31
git-check-mailmap.txt
1.08
KB
-rw-r--r--
2025-06-13 22:14
git-check-ref-format.html
23.48
KB
-rw-r--r--
2025-07-22 14:31
git-check-ref-format.txt
4.92
KB
-rw-r--r--
2025-06-13 22:14
git-checkout-index.html
24.77
KB
-rw-r--r--
2025-07-22 14:32
git-checkout-index.txt
5.54
KB
-rw-r--r--
2025-06-13 22:14
git-checkout.html
51.48
KB
-rw-r--r--
2025-07-22 14:32
git-checkout.txt
21.84
KB
-rw-r--r--
2025-06-13 22:14
git-cherry-pick.html
30.34
KB
-rw-r--r--
2025-07-22 14:32
git-cherry-pick.txt
8.56
KB
-rw-r--r--
2025-06-13 22:14
git-cherry.html
21.9
KB
-rw-r--r--
2025-07-22 14:31
git-cherry.txt
3.53
KB
-rw-r--r--
2025-06-13 22:14
git-clean.html
23.42
KB
-rw-r--r--
2025-07-22 14:32
git-clean.txt
4.42
KB
-rw-r--r--
2025-06-13 22:14
git-clone.html
43.29
KB
-rw-r--r--
2025-07-22 14:31
git-clone.txt
14.43
KB
-rw-r--r--
2025-06-13 22:14
git-column.html
22.77
KB
-rw-r--r--
2025-07-22 14:31
git-column.txt
2.15
KB
-rw-r--r--
2025-06-13 22:14
git-commit-graph.html
25.53
KB
-rw-r--r--
2025-07-22 14:31
git-commit-graph.txt
5.81
KB
-rw-r--r--
2025-06-13 22:14
git-commit-tree.html
26.06
KB
-rw-r--r--
2025-07-22 14:32
git-commit-tree.txt
2.65
KB
-rw-r--r--
2025-06-13 22:14
git-commit.html
55.81
KB
-rw-r--r--
2025-07-22 14:32
git-commit.txt
21.07
KB
-rw-r--r--
2025-06-13 22:14
git-config.html
405.8
KB
-rw-r--r--
2025-07-22 14:31
git-config.txt
19.29
KB
-rw-r--r--
2025-06-13 22:14
git-contacts.html
20.23
KB
-rw-r--r--
2025-07-22 14:31
git-contacts.txt
2.52
KB
-rw-r--r--
2025-06-13 22:14
git-count-objects.html
18.5
KB
-rw-r--r--
2025-07-22 14:32
git-count-objects.txt
1.32
KB
-rw-r--r--
2025-06-13 22:14
git-credential-cache--daemon.html
17.76
KB
-rw-r--r--
2025-07-22 14:32
git-credential-cache--daemon.txt
891
B
-rw-r--r--
2025-06-13 22:14
git-credential-cache.html
19.71
KB
-rw-r--r--
2025-07-22 14:31
git-credential-cache.txt
2.43
KB
-rw-r--r--
2025-06-13 22:14
git-credential-store.html
21.53
KB
-rw-r--r--
2025-07-22 14:32
git-credential-store.txt
3.55
KB
-rw-r--r--
2025-06-13 22:14
git-credential.html
26.05
KB
-rw-r--r--
2025-07-22 14:32
git-credential.txt
7.16
KB
-rw-r--r--
2025-06-13 22:14
git-describe.html
27.61
KB
-rw-r--r--
2025-07-22 14:32
git-describe.txt
8.12
KB
-rw-r--r--
2025-06-13 22:14
git-diagnose.html
19.68
KB
-rw-r--r--
2025-07-22 14:32
git-diagnose.txt
2.16
KB
-rw-r--r--
2025-06-13 22:14
git-diff-files.html
77.28
KB
-rw-r--r--
2025-07-22 14:32
git-diff-files.txt
1.2
KB
-rw-r--r--
2025-06-13 22:14
git-diff-index.html
82.37
KB
-rw-r--r--
2025-07-22 14:32
git-diff-index.txt
4.7
KB
-rw-r--r--
2025-06-13 22:14
git-diff-tree.html
113.33
KB
-rw-r--r--
2025-07-22 14:32
git-diff-tree.txt
4.09
KB
-rw-r--r--
2025-06-13 22:14
git-diff.html
104.58
KB
-rw-r--r--
2025-07-22 14:32
git-diff.txt
7.85
KB
-rw-r--r--
2025-06-13 22:14
git-difftool.html
26.41
KB
-rw-r--r--
2025-07-22 14:32
git-difftool.txt
4.52
KB
-rw-r--r--
2025-06-13 22:14
git-fast-export.html
30.91
KB
-rw-r--r--
2025-07-22 14:32
git-fast-export.txt
11.02
KB
-rw-r--r--
2025-06-13 22:14
git-fast-import.html
100.86
KB
-rw-r--r--
2025-07-22 14:32
git-fast-import.txt
58.56
KB
-rw-r--r--
2025-06-13 22:14
git-fetch-pack.html
22.71
KB
-rw-r--r--
2025-07-22 14:31
git-fetch-pack.txt
4.15
KB
-rw-r--r--
2025-06-13 22:14
git-fetch.html
73.69
KB
-rw-r--r--
2025-07-22 14:31
git-fetch.txt
11.54
KB
-rw-r--r--
2025-06-13 22:14
git-filter-branch.html
53.37
KB
-rw-r--r--
2025-07-22 14:32
git-filter-branch.txt
30.3
KB
-rw-r--r--
2025-06-13 22:14
git-fmt-merge-msg.html
20.93
KB
-rw-r--r--
2025-07-22 14:32
git-fmt-merge-msg.txt
1.89
KB
-rw-r--r--
2025-06-13 22:14
git-for-each-ref.html
42.42
KB
-rw-r--r--
2025-07-22 14:32
git-for-each-ref.txt
16.67
KB
-rw-r--r--
2025-06-13 22:14
git-for-each-repo.html
18.84
KB
-rw-r--r--
2025-07-22 14:31
git-for-each-repo.txt
1.51
KB
-rw-r--r--
2025-06-13 22:14
git-format-patch.html
79.92
KB
-rw-r--r--
2025-07-22 14:32
git-format-patch.txt
28.2
KB
-rw-r--r--
2025-06-13 22:14
git-fsck-objects.html
16.98
KB
-rw-r--r--
2025-07-22 14:32
git-fsck-objects.txt
354
B
-rw-r--r--
2025-06-13 22:14
git-fsck.html
38.24
KB
-rw-r--r--
2025-07-22 14:32
git-fsck.txt
5.74
KB
-rw-r--r--
2025-06-13 22:14
git-fsmonitor--daemon.html
22.34
KB
-rw-r--r--
2025-07-22 14:32
git-fsmonitor--daemon.txt
3.53
KB
-rw-r--r--
2025-06-13 22:14
git-gc.html
35.84
KB
-rw-r--r--
2025-07-22 14:32
git-gc.txt
6.14
KB
-rw-r--r--
2025-06-13 22:14
git-get-tar-commit-id.html
17.42
KB
-rw-r--r--
2025-07-22 14:32
git-get-tar-commit-id.txt
753
B
-rw-r--r--
2025-06-13 22:14
git-grep.html
35.19
KB
-rw-r--r--
2025-07-22 14:31
git-grep.txt
10.51
KB
-rw-r--r--
2025-06-13 22:14
git-hash-object.html
19.47
KB
-rw-r--r--
2025-07-22 14:32
git-hash-object.txt
2.09
KB
-rw-r--r--
2025-06-13 22:14
git-help.html
27.48
KB
-rw-r--r--
2025-07-22 14:32
git-help.txt
7.35
KB
-rw-r--r--
2025-06-13 22:14
git-hook.html
18.37
KB
-rw-r--r--
2025-07-22 14:31
git-hook.txt
1
KB
-rw-r--r--
2025-06-13 22:14
git-http-backend.html
30.25
KB
-rw-r--r--
2025-07-22 14:32
git-http-backend.txt
11.2
KB
-rw-r--r--
2025-06-13 22:14
git-http-fetch.html
19.22
KB
-rw-r--r--
2025-07-22 14:32
git-http-fetch.txt
1.73
KB
-rw-r--r--
2025-06-13 22:14
git-http-push.html
20.89
KB
-rw-r--r--
2025-07-22 14:32
git-http-push.txt
2.92
KB
-rw-r--r--
2025-06-13 22:14
git-imap-send.html
24.88
KB
-rw-r--r--
2025-07-22 14:32
git-imap-send.txt
3.48
KB
-rw-r--r--
2025-06-13 22:14
git-index-pack.html
24.16
KB
-rw-r--r--
2025-07-22 14:32
git-index-pack.txt
5.08
KB
-rw-r--r--
2025-06-13 22:14
git-init-db.html
17.05
KB
-rw-r--r--
2025-07-22 14:32
git-init-db.txt
409
B
-rw-r--r--
2025-06-13 22:14
git-init.html
25.98
KB
-rw-r--r--
2025-07-22 14:32
git-init.txt
5.73
KB
-rw-r--r--
2025-06-13 22:14
git-interpret-trailers.html
41.02
KB
-rw-r--r--
2025-07-22 14:32
git-interpret-trailers.txt
18.14
KB
-rw-r--r--
2025-06-13 22:14
git-log.html
178.21
KB
-rw-r--r--
2025-07-22 14:32
git-log.txt
6.7
KB
-rw-r--r--
2025-06-13 22:14
git-ls-files.html
34.23
KB
-rw-r--r--
2025-07-22 14:31
git-ls-files.txt
11.35
KB
-rw-r--r--
2025-06-13 22:14
git-ls-remote.html
23.78
KB
-rw-r--r--
2025-07-22 14:32
git-ls-remote.txt
4.73
KB
-rw-r--r--
2025-06-13 22:14
git-ls-tree.html
25.03
KB
-rw-r--r--
2025-07-22 14:31
git-ls-tree.txt
5.39
KB
-rw-r--r--
2025-06-13 22:14
git-mailinfo.html
22.85
KB
-rw-r--r--
2025-07-22 14:32
git-mailinfo.txt
3.78
KB
-rw-r--r--
2025-06-13 22:14
git-mailsplit.html
18.81
KB
-rw-r--r--
2025-07-22 14:31
git-mailsplit.txt
1.31
KB
-rw-r--r--
2025-06-13 22:14
git-maintenance.html
44.92
KB
-rw-r--r--
2025-07-22 14:31
git-maintenance.txt
18.46
KB
-rw-r--r--
2025-06-13 22:14
git-merge-base.html
27.71
KB
-rw-r--r--
2025-07-22 14:31
git-merge-base.txt
7.58
KB
-rw-r--r--
2025-06-13 22:14
git-merge-file.html
22.13
KB
-rw-r--r--
2025-07-22 14:32
git-merge-file.txt
3.63
KB
-rw-r--r--
2025-06-13 22:14
git-merge-index.html
19.97
KB
-rw-r--r--
2025-07-22 14:32
git-merge-index.txt
2.39
KB
-rw-r--r--
2025-06-13 22:14
git-merge-one-file.html
17.01
KB
-rw-r--r--
2025-07-22 14:32
git-merge-one-file.txt
387
B
-rw-r--r--
2025-06-13 22:14
git-merge-tree.html
32.71
KB
-rw-r--r--
2025-07-22 14:32
git-merge-tree.txt
11.64
KB
-rw-r--r--
2025-06-13 22:14
git-merge.html
69.34
KB
-rw-r--r--
2025-07-22 14:31
git-merge.txt
14.71
KB
-rw-r--r--
2025-06-13 22:14
git-mergetool--lib.html
18.68
KB
-rw-r--r--
2025-07-22 14:31
git-mergetool--lib.txt
1.43
KB
-rw-r--r--
2025-06-13 22:14
git-mergetool.html
38.86
KB
-rw-r--r--
2025-07-22 14:31
git-mergetool.txt
4.37
KB
-rw-r--r--
2025-06-13 22:14
git-mktag.html
19.35
KB
-rw-r--r--
2025-07-22 14:32
git-mktag.txt
1.74
KB
-rw-r--r--
2025-06-13 22:14
git-mktree.html
18.04
KB
-rw-r--r--
2025-07-22 14:31
git-mktree.txt
1.05
KB
-rw-r--r--
2025-06-13 22:14
git-multi-pack-index.html
23.04
KB
-rw-r--r--
2025-07-22 14:32
git-multi-pack-index.txt
4.52
KB
-rw-r--r--
2025-06-13 22:14
git-mv.html
19.62
KB
-rw-r--r--
2025-07-22 14:31
git-mv.txt
2.05
KB
-rw-r--r--
2025-06-13 22:14
git-name-rev.html
21.16
KB
-rw-r--r--
2025-07-22 14:31
git-name-rev.txt
3.27
KB
-rw-r--r--
2025-06-13 22:14
git-notes.html
40.08
KB
-rw-r--r--
2025-07-22 14:32
git-notes.txt
13.54
KB
-rw-r--r--
2025-06-13 22:14
git-pack-objects.html
41.4
KB
-rw-r--r--
2025-07-22 14:32
git-pack-objects.txt
18.84
KB
-rw-r--r--
2025-06-13 22:14
git-pack-redundant.html
19.33
KB
-rw-r--r--
2025-07-22 14:32
git-pack-redundant.txt
1.83
KB
-rw-r--r--
2025-06-13 22:14
git-pack-refs.html
20.63
KB
-rw-r--r--
2025-07-22 14:31
git-pack-refs.txt
3.06
KB
-rw-r--r--
2025-06-13 22:14
git-patch-id.html
19.88
KB
-rw-r--r--
2025-07-22 14:32
git-patch-id.txt
2.37
KB
-rw-r--r--
2025-06-13 22:14
git-prune-packed.html
18.1
KB
-rw-r--r--
2025-07-22 14:31
git-prune-packed.txt
946
B
-rw-r--r--
2025-06-13 22:14
git-prune.html
19.85
KB
-rw-r--r--
2025-07-22 14:32
git-prune.txt
1.87
KB
-rw-r--r--
2025-06-13 22:14
git-pull.html
75.26
KB
-rw-r--r--
2025-07-22 14:32
git-pull.txt
8.16
KB
-rw-r--r--
2025-06-13 22:14
git-push.html
73.24
KB
-rw-r--r--
2025-07-22 14:31
git-push.txt
27.4
KB
-rw-r--r--
2025-06-13 22:14
git-quiltimport.html
19.01
KB
-rw-r--r--
2025-07-22 14:32
git-quiltimport.txt
1.65
KB
-rw-r--r--
2025-06-13 22:14
git-range-diff.html
30.93
KB
-rw-r--r--
2025-07-22 14:31
git-range-diff.txt
10.09
KB
-rw-r--r--
2025-06-13 22:14
git-read-tree.html
38.16
KB
-rw-r--r--
2025-07-22 14:31
git-read-tree.txt
16.5
KB
-rw-r--r--
2025-06-13 22:14
git-rebase.html
96.63
KB
-rw-r--r--
2025-07-22 14:31
git-rebase.txt
46.12
KB
-rw-r--r--
2025-06-13 22:14
git-receive-pack.html
29.73
KB
-rw-r--r--
2025-07-22 14:32
git-receive-pack.txt
9.3
KB
-rw-r--r--
2025-06-13 22:14
git-reflog.html
22.96
KB
-rw-r--r--
2025-07-22 14:32
git-reflog.txt
4.47
KB
-rw-r--r--
2025-06-13 22:14
git-remote-ext.html
22.47
KB
-rw-r--r--
2025-07-22 14:32
git-remote-ext.txt
3.88
KB
-rw-r--r--
2025-06-13 22:14
git-remote-fd.html
19.04
KB
-rw-r--r--
2025-07-22 14:32
git-remote-fd.txt
1.59
KB
-rw-r--r--
2025-06-13 22:14
git-remote-helpers.html
16.58
KB
-rw-r--r--
2025-07-22 14:31
git-remote.html
29.2
KB
-rw-r--r--
2025-07-22 14:32
git-remote.txt
8.56
KB
-rw-r--r--
2025-06-13 22:14
git-repack.html
32.05
KB
-rw-r--r--
2025-07-22 14:32
git-repack.txt
10.76
KB
-rw-r--r--
2025-06-13 22:14
git-replace.html
24.28
KB
-rw-r--r--
2025-07-22 14:32
git-replace.txt
5.09
KB
-rw-r--r--
2025-06-13 22:14
git-request-pull.html
19.82
KB
-rw-r--r--
2025-07-22 14:31
git-request-pull.txt
1.99
KB
-rw-r--r--
2025-06-13 22:14
git-rerere.html
26.41
KB
-rw-r--r--
2025-07-22 14:31
git-rerere.txt
7.6
KB
-rw-r--r--
2025-06-13 22:14
git-reset.html
43.48
KB
-rw-r--r--
2025-07-22 14:31
git-reset.txt
18.68
KB
-rw-r--r--
2025-06-13 22:14
git-restore.html
27.51
KB
-rw-r--r--
2025-07-22 14:31
git-restore.txt
6.92
KB
-rw-r--r--
2025-06-13 22:14
git-rev-list.html
115.36
KB
-rw-r--r--
2025-07-22 14:32
git-rev-list.txt
3.14
KB
-rw-r--r--
2025-06-13 22:14
git-rev-parse.html
63.13
KB
-rw-r--r--
2025-07-22 14:32
git-rev-parse.txt
15.47
KB
-rw-r--r--
2025-06-13 22:14
git-revert.html
26.16
KB
-rw-r--r--
2025-07-22 14:32
git-revert.txt
5.29
KB
-rw-r--r--
2025-06-13 22:14
git-rm.html
26.94
KB
-rw-r--r--
2025-07-22 14:31
git-rm.txt
7.07
KB
-rw-r--r--
2025-06-13 22:14
git-send-pack.html
24
KB
-rw-r--r--
2025-07-22 14:31
git-send-pack.txt
5.04
KB
-rw-r--r--
2025-06-13 22:14
git-sh-i18n--envsubst.html
17.74
KB
-rw-r--r--
2025-07-22 14:32
git-sh-i18n--envsubst.txt
928
B
-rw-r--r--
2025-06-13 22:14
git-sh-i18n.html
18.16
KB
-rw-r--r--
2025-07-22 14:32
git-sh-i18n.txt
1.12
KB
-rw-r--r--
2025-06-13 22:14
git-sh-setup.html
20.78
KB
-rw-r--r--
2025-07-22 14:32
git-sh-setup.txt
2.91
KB
-rw-r--r--
2025-06-13 22:14
git-shell.html
20.91
KB
-rw-r--r--
2025-07-22 14:32
git-shell.txt
2.91
KB
-rw-r--r--
2025-06-13 22:14
git-shortlog.html
63.1
KB
-rw-r--r--
2025-07-22 14:31
git-shortlog.txt
4.31
KB
-rw-r--r--
2025-06-13 22:14
git-show-branch.html
26.18
KB
-rw-r--r--
2025-07-22 14:32
git-show-branch.txt
6.43
KB
-rw-r--r--
2025-06-13 22:14
git-show-index.html
19.06
KB
-rw-r--r--
2025-07-22 14:32
git-show-index.txt
1.44
KB
-rw-r--r--
2025-06-13 22:14
git-show-ref.html
25.46
KB
-rw-r--r--
2025-07-22 14:32
git-show-ref.txt
6.49
KB
-rw-r--r--
2025-06-13 22:14
git-show.html
109.03
KB
-rw-r--r--
2025-07-22 14:32
git-show.txt
1.88
KB
-rw-r--r--
2025-06-13 22:14
git-sparse-checkout.html
42.92
KB
-rw-r--r--
2025-07-22 14:32
git-sparse-checkout.txt
20.76
KB
-rw-r--r--
2025-06-13 22:14
git-stage.html
16.93
KB
-rw-r--r--
2025-07-22 14:31
git-stage.txt
299
B
-rw-r--r--
2025-06-13 22:14
git-stash.html
37.69
KB
-rw-r--r--
2025-07-22 14:32
git-stash.txt
14.65
KB
-rw-r--r--
2025-06-13 22:14
git-status.html
44.65
KB
-rw-r--r--
2025-07-22 14:31
git-status.txt
19.82
KB
-rw-r--r--
2025-06-13 22:14
git-stripspace.html
19.55
KB
-rw-r--r--
2025-07-22 14:31
git-stripspace.txt
1.9
KB
-rw-r--r--
2025-06-13 22:14
git-submodule.html
44.51
KB
-rw-r--r--
2025-07-22 14:32
git-submodule.txt
20.33
KB
-rw-r--r--
2025-06-13 22:14
git-switch.html
32.53
KB
-rw-r--r--
2025-07-22 14:32
git-switch.txt
8.41
KB
-rw-r--r--
2025-06-13 22:14
git-symbolic-ref.html
19.97
KB
-rw-r--r--
2025-07-22 14:31
git-symbolic-ref.txt
2.27
KB
-rw-r--r--
2025-06-13 22:14
git-tag.html
38.04
KB
-rw-r--r--
2025-07-22 14:32
git-tag.txt
13.15
KB
-rw-r--r--
2025-06-13 22:14
git-tools.html
16.8
KB
-rw-r--r--
2025-07-22 14:30
git-tools.txt
422
B
-rw-r--r--
2025-06-13 22:14
git-unpack-file.html
17.23
KB
-rw-r--r--
2025-07-22 14:31
git-unpack-file.txt
434
B
-rw-r--r--
2025-06-13 22:14
git-unpack-objects.html
18.37
KB
-rw-r--r--
2025-07-22 14:32
git-unpack-objects.txt
1.19
KB
-rw-r--r--
2025-06-13 22:14
git-update-index.html
48.56
KB
-rw-r--r--
2025-07-22 14:31
git-update-index.txt
23.37
KB
-rw-r--r--
2025-06-13 22:14
git-update-ref.html
25.3
KB
-rw-r--r--
2025-07-22 14:31
git-update-ref.txt
6.15
KB
-rw-r--r--
2025-06-13 22:14
git-update-server-info.html
17.83
KB
-rw-r--r--
2025-07-22 14:32
git-update-server-info.txt
801
B
-rw-r--r--
2025-06-13 22:14
git-upload-archive.html
19.31
KB
-rw-r--r--
2025-07-22 14:32
git-upload-archive.txt
2.04
KB
-rw-r--r--
2025-06-13 22:14
git-upload-pack.html
21.16
KB
-rw-r--r--
2025-07-22 14:31
git-upload-pack.txt
2.93
KB
-rw-r--r--
2025-06-13 22:14
git-var.html
21.03
KB
-rw-r--r--
2025-07-22 14:32
git-var.txt
3.1
KB
-rw-r--r--
2025-06-13 22:14
git-verify-commit.html
17.53
KB
-rw-r--r--
2025-07-22 14:32
git-verify-commit.txt
575
B
-rw-r--r--
2025-06-13 22:14
git-verify-pack.html
18.51
KB
-rw-r--r--
2025-07-22 14:32
git-verify-pack.txt
1.08
KB
-rw-r--r--
2025-06-13 22:14
git-verify-tag.html
17.52
KB
-rw-r--r--
2025-07-22 14:31
git-verify-tag.txt
562
B
-rw-r--r--
2025-06-13 22:14
git-version.html
17.38
KB
-rw-r--r--
2025-07-22 14:31
git-version.txt
532
B
-rw-r--r--
2025-06-13 22:14
git-web--browse.html
21.88
KB
-rw-r--r--
2025-07-22 14:31
git-web--browse.txt
3.49
KB
-rw-r--r--
2025-06-13 22:14
git-whatchanged.html
18.14
KB
-rw-r--r--
2025-07-22 14:31
git-whatchanged.txt
1.07
KB
-rw-r--r--
2025-06-13 22:14
git-worktree.html
45.25
KB
-rw-r--r--
2025-07-22 14:32
git-worktree.txt
20.49
KB
-rw-r--r--
2025-06-13 22:14
git-write-tree.html
18.01
KB
-rw-r--r--
2025-07-22 14:32
git-write-tree.txt
1
KB
-rw-r--r--
2025-06-13 22:14
git.html
104.72
KB
-rw-r--r--
2025-07-22 14:32
git.txt
42.24
KB
-rw-r--r--
2025-06-13 22:14
gitattributes.html
80.9
KB
-rw-r--r--
2025-07-22 14:32
gitattributes.txt
48.35
KB
-rw-r--r--
2025-06-13 22:14
gitcli.html
28.89
KB
-rw-r--r--
2025-07-22 14:32
gitcli.txt
9.47
KB
-rw-r--r--
2025-06-13 22:14
gitcore-tutorial.html
97.79
KB
-rw-r--r--
2025-07-22 14:32
gitcore-tutorial.txt
60.78
KB
-rw-r--r--
2025-06-13 22:14
gitcredentials.html
31.23
KB
-rw-r--r--
2025-07-22 14:32
gitcredentials.txt
11.05
KB
-rw-r--r--
2025-06-13 22:14
gitdiffcore.html
32.95
KB
-rw-r--r--
2025-07-22 14:32
gitdiffcore.txt
13.75
KB
-rw-r--r--
2025-06-13 22:14
giteveryday.html
37.2
KB
-rw-r--r--
2025-07-22 14:32
giteveryday.txt
14.08
KB
-rw-r--r--
2025-06-13 22:14
gitfaq.html
43.05
KB
-rw-r--r--
2025-07-22 14:32
gitfaq.txt
20.58
KB
-rw-r--r--
2025-06-13 22:14
gitformat-bundle.html
20.94
KB
-rw-r--r--
2025-07-22 14:32
gitformat-bundle.txt
3.18
KB
-rw-r--r--
2025-06-13 22:14
gitformat-chunk.html
23.76
KB
-rw-r--r--
2025-07-22 14:32
gitformat-chunk.txt
5.43
KB
-rw-r--r--
2025-06-13 22:14
gitformat-commit-graph.html
27.96
KB
-rw-r--r--
2025-07-22 14:32
gitformat-commit-graph.txt
7.67
KB
-rw-r--r--
2025-06-13 22:14
gitformat-index.html
39.33
KB
-rw-r--r--
2025-07-22 14:32
gitformat-index.txt
14.82
KB
-rw-r--r--
2025-06-13 22:14
gitformat-pack.html
48.64
KB
-rw-r--r--
2025-07-22 14:32
gitformat-pack.txt
22.96
KB
-rw-r--r--
2025-06-13 22:14
gitformat-signature.html
26.72
KB
-rw-r--r--
2025-07-22 14:32
gitformat-signature.txt
7.9
KB
-rw-r--r--
2025-06-13 22:14
gitglossary.html
62.7
KB
-rw-r--r--
2025-07-22 14:32
gitglossary.txt
358
B
-rw-r--r--
2025-06-13 22:14
githooks.html
55.18
KB
-rw-r--r--
2025-07-22 14:32
githooks.txt
28.64
KB
-rw-r--r--
2025-06-13 22:14
gitignore.html
27.73
KB
-rw-r--r--
2025-07-22 14:32
gitignore.txt
8.71
KB
-rw-r--r--
2025-06-13 22:14
gitmailmap.html
22.28
KB
-rw-r--r--
2025-07-22 14:32
gitmailmap.txt
3.47
KB
-rw-r--r--
2025-06-13 22:14
gitmodules.html
23.49
KB
-rw-r--r--
2025-07-22 14:32
gitmodules.txt
4.69
KB
-rw-r--r--
2025-06-13 22:14
gitnamespaces.html
21.63
KB
-rw-r--r--
2025-07-22 14:32
gitnamespaces.txt
2.45
KB
-rw-r--r--
2025-06-13 22:14
gitprotocol-capabilities.html
36.55
KB
-rw-r--r--
2025-07-22 14:32
gitprotocol-capabilities.txt
14.95
KB
-rw-r--r--
2025-06-13 22:14
gitprotocol-common.html
21.06
KB
-rw-r--r--
2025-07-22 14:32
gitprotocol-common.txt
3.1
KB
-rw-r--r--
2025-06-13 22:14
gitprotocol-http.html
42.22
KB
-rw-r--r--
2025-07-22 14:32
gitprotocol-http.txt
17.57
KB
-rw-r--r--
2025-06-13 22:14
gitprotocol-pack.html
51.78
KB
-rw-r--r--
2025-07-22 14:32
gitprotocol-pack.txt
27.03
KB
-rw-r--r--
2025-06-13 22:14
gitprotocol-v2.html
58.29
KB
-rw-r--r--
2025-07-22 14:32
gitprotocol-v2.txt
30.7
KB
-rw-r--r--
2025-06-13 22:14
gitremote-helpers.html
47.08
KB
-rw-r--r--
2025-07-22 14:32
gitremote-helpers.txt
21.27
KB
-rw-r--r--
2025-06-13 22:14
gitrepository-layout.html
38.43
KB
-rw-r--r--
2025-07-22 14:32
gitrepository-layout.txt
11.35
KB
-rw-r--r--
2025-06-13 22:14
gitrevisions.html
40.65
KB
-rw-r--r--
2025-07-22 14:32
gitrevisions.txt
823
B
-rw-r--r--
2025-06-13 22:14
gitsubmodules.html
30.96
KB
-rw-r--r--
2025-07-22 14:32
gitsubmodules.txt
10.12
KB
-rw-r--r--
2025-06-13 22:14
gittutorial-2.html
33.74
KB
-rw-r--r--
2025-07-22 14:32
gittutorial-2.txt
14.4
KB
-rw-r--r--
2025-06-13 22:14
gittutorial.html
45.18
KB
-rw-r--r--
2025-07-22 14:32
gittutorial.txt
22.43
KB
-rw-r--r--
2025-06-13 22:14
gitworkflows.html
38.93
KB
-rw-r--r--
2025-07-22 14:32
gitworkflows.txt
17.01
KB
-rw-r--r--
2025-06-13 22:14
glossary-content.txt
31.84
KB
-rw-r--r--
2025-06-13 22:14
howto-index.html
22.45
KB
-rw-r--r--
2025-07-22 14:32
howto-index.txt
3.91
KB
-rw-r--r--
2025-07-22 14:30
i18n.txt
2.87
KB
-rw-r--r--
2025-06-13 22:14
line-range-format.txt
1.13
KB
-rw-r--r--
2025-06-13 22:14
line-range-options.txt
761
B
-rw-r--r--
2025-06-13 22:14
merge-options.txt
7.07
KB
-rw-r--r--
2025-06-13 22:14
merge-strategies.txt
6.46
KB
-rw-r--r--
2025-06-13 22:14
mergetools-diff.txt
1.47
KB
-rw-r--r--
2025-07-22 14:30
mergetools-merge.txt
2.53
KB
-rw-r--r--
2025-07-22 14:30
object-format-disclaimer.txt
470
B
-rw-r--r--
2025-06-13 22:14
pretty-formats.txt
15.3
KB
-rw-r--r--
2025-06-13 22:14
pretty-options.txt
4.1
KB
-rw-r--r--
2025-06-13 22:14
pull-fetch-param.txt
5.35
KB
-rw-r--r--
2025-06-13 22:14
ref-reachability-filters.txt
391
B
-rw-r--r--
2025-06-13 22:14
rerere-options.txt
414
B
-rw-r--r--
2025-06-13 22:14
rev-list-description.txt
2.47
KB
-rw-r--r--
2025-06-13 22:14
rev-list-options.txt
45.81
KB
-rw-r--r--
2025-06-13 22:14
revisions.txt
16.71
KB
-rw-r--r--
2025-06-13 22:14
scalar.html
25.44
KB
-rw-r--r--
2025-07-22 14:32
scalar.txt
5.91
KB
-rw-r--r--
2025-06-13 22:14
sequencer.txt
472
B
-rw-r--r--
2025-06-13 22:14
signoff-option.txt
781
B
-rw-r--r--
2025-06-13 22:14
trace2-target-values.txt
529
B
-rw-r--r--
2025-06-13 22:14
transfer-data-leaks.txt
1.67
KB
-rw-r--r--
2025-06-13 22:14
urls-remotes.txt
2.58
KB
-rw-r--r--
2025-06-13 22:14
urls.txt
3.55
KB
-rw-r--r--
2025-06-13 22:14
user-manual.html
269.27
KB
-rw-r--r--
2025-07-22 14:32
user-manual.txt
169.45
KB
-rw-r--r--
2025-06-13 22:14
Save
Rename
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" /> <meta name="generator" content="AsciiDoc 8.6.10" /> <title>Reviewing Patches in the Git Project</title> <style type="text/css"> /* Shared CSS for AsciiDoc xhtml11 and html5 backends */ /* Default font. */ body { font-family: Georgia,serif; } /* Title font. */ h1, h2, h3, h4, h5, h6, div.title, caption.title, thead, p.table.header, #toctitle, #author, #revnumber, #revdate, #revremark, #footer { font-family: Arial,Helvetica,sans-serif; } body { margin: 1em 5% 1em 5%; } a { color: blue; text-decoration: underline; } a:visited { color: fuchsia; } em { font-style: italic; color: navy; } strong { font-weight: bold; color: #083194; } h1, h2, h3, h4, h5, h6 { color: #527bbd; margin-top: 1.2em; margin-bottom: 0.5em; line-height: 1.3; } h1, h2, h3 { border-bottom: 2px solid silver; } h2 { padding-top: 0.5em; } h3 { float: left; } h3 + * { clear: left; } h5 { font-size: 1.0em; } div.sectionbody { margin-left: 0; } hr { border: 1px solid silver; } p { margin-top: 0.5em; margin-bottom: 0.5em; } ul, ol, li > p { margin-top: 0; } ul > li { color: #aaa; } ul > li > * { color: black; } .monospaced, code, pre { font-family: "Courier New", Courier, monospace; font-size: inherit; color: navy; padding: 0; margin: 0; } pre { white-space: pre-wrap; } #author { color: #527bbd; font-weight: bold; font-size: 1.1em; } #email { } #revnumber, #revdate, #revremark { } #footer { font-size: small; border-top: 2px solid silver; padding-top: 0.5em; margin-top: 4.0em; } #footer-text { float: left; padding-bottom: 0.5em; } #footer-badges { float: right; padding-bottom: 0.5em; } #preamble { margin-top: 1.5em; margin-bottom: 1.5em; } div.imageblock, div.exampleblock, div.verseblock, div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock, div.admonitionblock { margin-top: 1.0em; margin-bottom: 1.5em; } div.admonitionblock { margin-top: 2.0em; margin-bottom: 2.0em; margin-right: 10%; color: #606060; } div.content { /* Block element content. */ padding: 0; } /* Block element titles. */ div.title, caption.title { color: #527bbd; font-weight: bold; text-align: left; margin-top: 1.0em; margin-bottom: 0.5em; } div.title + * { margin-top: 0; } td div.title:first-child { margin-top: 0.0em; } div.content div.title:first-child { margin-top: 0.0em; } div.content + div.title { margin-top: 0.0em; } div.sidebarblock > div.content { background: #ffffee; border: 1px solid #dddddd; border-left: 4px solid #f0f0f0; padding: 0.5em; } div.listingblock > div.content { border: 1px solid #dddddd; border-left: 5px solid #f0f0f0; background: #f8f8f8; padding: 0.5em; } div.quoteblock, div.verseblock { padding-left: 1.0em; margin-left: 1.0em; margin-right: 10%; border-left: 5px solid #f0f0f0; color: #888; } div.quoteblock > div.attribution { padding-top: 0.5em; text-align: right; } div.verseblock > pre.content { font-family: inherit; font-size: inherit; } div.verseblock > div.attribution { padding-top: 0.75em; text-align: left; } /* DEPRECATED: Pre version 8.2.7 verse style literal block. */ div.verseblock + div.attribution { text-align: left; } div.admonitionblock .icon { vertical-align: top; font-size: 1.1em; font-weight: bold; text-decoration: underline; color: #527bbd; padding-right: 0.5em; } div.admonitionblock td.content { padding-left: 0.5em; border-left: 3px solid #dddddd; } div.exampleblock > div.content { border-left: 3px solid #dddddd; padding-left: 0.5em; } div.imageblock div.content { padding-left: 0; } span.image img { border-style: none; vertical-align: text-bottom; } a.image:visited { color: white; } dl { margin-top: 0.8em; margin-bottom: 0.8em; } dt { margin-top: 0.5em; margin-bottom: 0; font-style: normal; color: navy; } dd > *:first-child { margin-top: 0.1em; } ul, ol { list-style-position: outside; } ol.arabic { list-style-type: decimal; } ol.loweralpha { list-style-type: lower-alpha; } ol.upperalpha { list-style-type: upper-alpha; } ol.lowerroman { list-style-type: lower-roman; } ol.upperroman { list-style-type: upper-roman; } div.compact ul, div.compact ol, div.compact p, div.compact p, div.compact div, div.compact div { margin-top: 0.1em; margin-bottom: 0.1em; } tfoot { font-weight: bold; } td > div.verse { white-space: pre; } div.hdlist { margin-top: 0.8em; margin-bottom: 0.8em; } div.hdlist tr { padding-bottom: 15px; } dt.hdlist1.strong, td.hdlist1.strong { font-weight: bold; } td.hdlist1 { vertical-align: top; font-style: normal; padding-right: 0.8em; color: navy; } td.hdlist2 { vertical-align: top; } div.hdlist.compact tr { margin: 0; padding-bottom: 0; } .comment { background: yellow; } .footnote, .footnoteref { font-size: 0.8em; } span.footnote, span.footnoteref { vertical-align: super; } #footnotes { margin: 20px 0 20px 0; padding: 7px 0 0 0; } #footnotes div.footnote { margin: 0 0 5px 0; } #footnotes hr { border: none; border-top: 1px solid silver; height: 1px; text-align: left; margin-left: 0; width: 20%; min-width: 100px; } div.colist td { padding-right: 0.5em; padding-bottom: 0.3em; vertical-align: top; } div.colist td img { margin-top: 0.3em; } @media print { #footer-badges { display: none; } } #toc { margin-bottom: 2.5em; } #toctitle { color: #527bbd; font-size: 1.1em; font-weight: bold; margin-top: 1.0em; margin-bottom: 0.1em; } div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 { margin-top: 0; margin-bottom: 0; } div.toclevel2 { margin-left: 2em; font-size: 0.9em; } div.toclevel3 { margin-left: 4em; font-size: 0.9em; } div.toclevel4 { margin-left: 6em; font-size: 0.9em; } span.aqua { color: aqua; } span.black { color: black; } span.blue { color: blue; } span.fuchsia { color: fuchsia; } span.gray { color: gray; } span.green { color: green; } span.lime { color: lime; } span.maroon { color: maroon; } span.navy { color: navy; } span.olive { color: olive; } span.purple { color: purple; } span.red { color: red; } span.silver { color: silver; } span.teal { color: teal; } span.white { color: white; } span.yellow { color: yellow; } span.aqua-background { background: aqua; } span.black-background { background: black; } span.blue-background { background: blue; } span.fuchsia-background { background: fuchsia; } span.gray-background { background: gray; } span.green-background { background: green; } span.lime-background { background: lime; } span.maroon-background { background: maroon; } span.navy-background { background: navy; } span.olive-background { background: olive; } span.purple-background { background: purple; } span.red-background { background: red; } span.silver-background { background: silver; } span.teal-background { background: teal; } span.white-background { background: white; } span.yellow-background { background: yellow; } span.big { font-size: 2em; } span.small { font-size: 0.6em; } span.underline { text-decoration: underline; } span.overline { text-decoration: overline; } span.line-through { text-decoration: line-through; } div.unbreakable { page-break-inside: avoid; } /* * xhtml11 specific * * */ div.tableblock { margin-top: 1.0em; margin-bottom: 1.5em; } div.tableblock > table { border: 3px solid #527bbd; } thead, p.table.header { font-weight: bold; color: #527bbd; } p.table { margin-top: 0; } /* Because the table frame attribute is overriden by CSS in most browsers. */ div.tableblock > table[frame="void"] { border-style: none; } div.tableblock > table[frame="hsides"] { border-left-style: none; border-right-style: none; } div.tableblock > table[frame="vsides"] { border-top-style: none; border-bottom-style: none; } /* * html5 specific * * */ table.tableblock { margin-top: 1.0em; margin-bottom: 1.5em; } thead, p.tableblock.header { font-weight: bold; color: #527bbd; } p.tableblock { margin-top: 0; } table.tableblock { border-width: 3px; border-spacing: 0px; border-style: solid; border-color: #527bbd; border-collapse: collapse; } th.tableblock, td.tableblock { border-width: 1px; padding: 4px; border-style: solid; border-color: #527bbd; } table.tableblock.frame-topbot { border-left-style: hidden; border-right-style: hidden; } table.tableblock.frame-sides { border-top-style: hidden; border-bottom-style: hidden; } table.tableblock.frame-none { border-style: hidden; } th.tableblock.halign-left, td.tableblock.halign-left { text-align: left; } th.tableblock.halign-center, td.tableblock.halign-center { text-align: center; } th.tableblock.halign-right, td.tableblock.halign-right { text-align: right; } th.tableblock.valign-top, td.tableblock.valign-top { vertical-align: top; } th.tableblock.valign-middle, td.tableblock.valign-middle { vertical-align: middle; } th.tableblock.valign-bottom, td.tableblock.valign-bottom { vertical-align: bottom; } /* * manpage specific * * */ body.manpage h1 { padding-top: 0.5em; padding-bottom: 0.5em; border-top: 2px solid silver; border-bottom: 2px solid silver; } body.manpage h2 { border-style: none; } body.manpage div.sectionbody { margin-left: 3em; } @media print { body.manpage div#toc { display: none; } } </style> <script type="text/javascript"> /*<+'])'); // Function that scans the DOM tree for header elements (the DOM2 // nodeIterator API would be a better technique but not supported by all // browsers). var iterate = function (el) { for (var i = el.firstChild; i != null; i = i.nextSibling) { if (i.nodeType == 1 /* Node.ELEMENT_NODE */) { var mo = re.exec(i.tagName); if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") { result[result.length] = new TocEntry(i, getText(i), mo[1]-1); } iterate(i); } } } iterate(el); return result; } var toc = document.getElementById("toc"); if (!toc) { return; } // Delete existing TOC entries in case we're reloading the TOC. var tocEntriesToRemove = []; var i; for (i = 0; i < toc.childNodes.length; i++) { var entry = toc.childNodes[i]; if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") && entry.getAttribute("class").match(/^toclevel/)) tocEntriesToRemove.push(entry); } for (i = 0; i < tocEntriesToRemove.length; i++) { toc.removeChild(tocEntriesToRemove[i]); } // Rebuild TOC entries. var entries = tocEntries(document.getElementById("content"), toclevels); for (var i = 0; i < entries.length; ++i) { var entry = entries[i]; if (entry.element.id == "") entry.element.id = "_toc_" + i; var a = document.createElement("a"); a.href = "#" + entry.element.id; a.appendChild(document.createTextNode(entry.text)); var div = document.createElement("div"); div.appendChild(a); div.className = "toclevel" + entry.toclevel; toc.appendChild(div); } if (entries.length == 0) toc.parentNode.removeChild(toc); }, ///////////////////////////////////////////////////////////////////// // Footnotes generator ///////////////////////////////////////////////////////////////////// /* Based on footnote generation code from: * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html */ footnotes: function () { // Delete existing footnote entries in case we're reloading the footnodes. var i; var noteholder = document.getElementById("footnotes"); if (!noteholder) { return; } var entriesToRemove = []; for (i = 0; i < noteholder.childNodes.length; i++) { var entry = noteholder.childNodes[i]; if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote") entriesToRemove.push(entry); } for (i = 0; i < entriesToRemove.length; i++) { noteholder.removeChild(entriesToRemove[i]); } // Rebuild footnote entries. var cont = document.getElementById("content"); var spans = cont.getElementsByTagName("span"); var refs = {}; var n = 0; for (i=0; i<spans.length; i++) { if (spans[i].className == "footnote") { n++; var note = spans[i].getAttribute("data-note"); if (!note) { // Use [\s\S] in place of . so multi-line matches work. // Because JavaScript has no s (dotall) regex flag. note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1]; spans[i].innerHTML = "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n + "' title='View footnote' class='footnote'>" + n + "</a>]"; spans[i].setAttribute("data-note", note); } noteholder.innerHTML += "<div class='footnote' id='_footnote_" + n + "'>" + "<a href='#_footnoteref_" + n + "' title='Return to text'>" + n + "</a>. " + note + "</div>"; var id =spans[i].getAttribute("id"); if (id != null) refs["#"+id] = n; } } if (n == 0) noteholder.parentNode.removeChild(noteholder); else { // Process footnoterefs. for (i=0; i<spans.length; i++) { if (spans[i].className == "footnoteref") { var href = spans[i].getElementsByTagName("a")[0].getAttribute("href"); href = href.match(/#.*/)[0]; // Because IE return full URL. n = refs[href]; spans[i].innerHTML = "[<a href='#_footnote_" + n + "' title='View footnote' class='footnote'>" + n + "</a>]"; } } } }, install: function(toclevels) { var timerId; function reinstall() { asciidoc.footnotes(); if (toclevels) { asciidoc.toc(toclevels); } } function reinstallAndRemoveTimer() { clearInterval(timerId); reinstall(); } timerId = setInterval(reinstall, 500); if (document.addEventListener) document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false); else window.onload = reinstallAndRemoveTimer; } } asciidoc.install(); /*]]>*/ </script> </head> <body class="article"> <div id="header"> <h1>Reviewing Patches in the Git Project</h1> <span id="revdate"></span> </div> <div id="content"> <div class="sect1"> <h2 id="_introduction">Introduction</h2> <div class="sectionbody"> <div class="paragraph"><p>The Git development community is a widely distributed, diverse, ever-changing group of individuals. Asynchronous communication via the Git mailing list poses unique challenges when reviewing or discussing patches. This document contains some guiding principles and helpful tools you can use to make your reviews both more efficient for yourself and more effective for other contributors.</p></div> <div class="paragraph"><p>Note that none of the recommendations here are binding or in any way a requirement of participation in the Git community. They are provided as a resource to supplement your skills as a contributor.</p></div> </div> </div> <div class="sect1"> <h2 id="_principles">Principles</h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_selecting_patch_es_to_review">Selecting patch(es) to review</h3> <div class="paragraph"><p>If you are looking for a patch series in need of review, start by checking the latest "What’s cooking in git.git" email (<a href="https://lore.kernel.org/git/xmqqilm1yp3m.fsf@gitster.g/">example</a>). The "What’s cooking" emails & replies can be found using the query <code>s:"What's cooking"</code> on the <a href="https://lore.kernel.org/git/"><code>lore.kernel.org</code> mailing list archive</a>; alternatively, you can find the contents of the "What’s cooking" email tracked in <code>whats-cooking.txt</code> on the <code>todo</code> branch of Git. Topics tagged with "Needs review" and those in the "[New Topics]" section are typically those that would benefit the most from additional review.</p></div> <div class="paragraph"><p>Patches can also be searched manually in the mailing list archive using a query like <code>s:"PATCH" -s:"Re:"</code>. You can browse these results for topics relevant to your expertise or interest.</p></div> <div class="paragraph"><p>If you’ve already contributed to Git, you may also be CC’d in another contributor’s patch series. These are topics where the author feels that your attention is warranted. This may be because their patch changes something you wrote previously (making you a good judge of whether the new approach does or doesn’t work), or because you have the expertise to provide an exceptionally helpful review. There is no requirement to review these patches but, in the spirit of open source collaboration, you should strongly consider doing so.</p></div> </div> <div class="sect2"> <h3 id="_reviewing_patches">Reviewing patches</h3> <div class="paragraph"><p>While every contributor takes their own approach to reviewing patches, here are some general pieces of advice to make your reviews as clear and helpful as possible. The advice is broken into two rough categories: high-level reviewing guidance, and concrete tips for interacting with patches on the mailing list.</p></div> <div class="sect3"> <h4 id="_high_level_guidance">High-level guidance</h4> <div class="ulist"><ul> <li> <p> Remember to review the content of commit messages for correctness and clarity, in addition to the code change in the patch’s diff. The commit message of a patch should accurately and fully explain the code change being made in the diff. </p> </li> <li> <p> Reviewing test coverage is an important - but easy to overlook - component of reviews. A patch’s changes may be covered by existing tests, or new tests may be introduced to exercise new behavior. Checking out a patch or series locally allows you to manually mutate lines of new & existing tests to verify expected pass/fail behavior. You can use this information to verify proper coverage or to suggest additional tests the author could add. </p> </li> <li> <p> When providing a recommendation, be as clear as possible about whether you consider it "blocking" (the code would be broken or otherwise made worse if an issue isn’t fixed) or "non-blocking" (the patch could be made better by taking the recommendation, but acceptance of the series does not require it). Non-blocking recommendations can be particularly ambiguous when they are related to - but outside the scope of - a series ("nice-to-have"s), or when they represent only stylistic differences between the author and reviewer. </p> </li> <li> <p> When commenting on an issue, try to include suggestions for how the author could fix it. This not only helps the author to understand and fix the issue, it also deepens and improves your understanding of the topic. </p> </li> <li> <p> Reviews do not need to exclusively point out problems. Feel free to "think out loud" in your review: describe how you read & understood a complex section of a patch, ask a question about something that confused you, point out something you found exceptionally well-written, etc. In particular, uplifting feedback goes a long way towards encouraging contributors to participate more actively in the Git community. </p> </li> </ul></div> </div> <div class="sect3"> <h4 id="_performing_your_review">Performing your review</h4> <div class="ulist"><ul> <li> <p> Provide your review comments per-patch in a plaintext "Reply-All" email to the relevant patch. Comments should be made inline, immediately below the relevant section(s). </p> </li> <li> <p> You may find that the limited context provided in the patch diff is sometimes insufficient for a thorough review. In such cases, you can review patches in your local tree by either applying patches with <a href="git-am.html">git-am(1)</a> or checking out the associated branch from <a href="https://github.com/gitster/git">https://github.com/gitster/git</a> once the series is tracked there. </p> </li> <li> <p> Large, complicated patch diffs are sometimes unavoidable, such as when they refactor existing code. If you find such a patch difficult to parse, try reviewing the diff produced with the <code>--color-moved</code> and/or <code>--ignore-space-change</code> options. </p> </li> <li> <p> If a patch is long, you are encouraged to delete parts of it that are unrelated to your review from the email reply. Make sure to leave enough context for readers to understand your comments! </p> </li> <li> <p> If you cannot complete a full review of a series all at once, consider letting the author know (on- or off-list) if/when you plan to review the rest of the series. </p> </li> </ul></div> </div> </div> <div class="sect2"> <h3 id="_completing_a_review">Completing a review</h3> <div class="paragraph"><p>Once each patch of a series is reviewed, the author (and/or other contributors) may discuss the review(s). This may result in no changes being applied, or the author will send a new version of their patch(es).</p></div> <div class="paragraph"><p>After a series is rerolled in response to your or others' review, make sure to re-review the updates. If you are happy with the state of the patch series, explicitly indicate your approval (typically with a reply to the latest version’s cover letter). Optionally, you can let the author know that they can add a "Reviewed-by: <you>" trailer if they resubmit the reviewed patch verbatim in a later iteration of the series.</p></div> <div class="paragraph"><p>Finally, subsequent "What’s cooking" emails may explicitly ask whether a reviewed topic is ready for merging to the ‘next` branch (typically phrased "Will merge to 'next’?"). You can help the maintainer and author by responding with a short description of the state of your (and others', if applicable) review, including the links to the relevant thread(s).</p></div> </div> </div> </div> <div class="sect1"> <h2 id="_terminology">Terminology</h2> <div class="sectionbody"> <div class="dlist"><dl> <dt class="hdlist1"> nit: </dt> <dd> <p> Denotes a small issue that should be fixed, such as a typographical error or misalignment of conditions in an <code>if()</code> statement. </p> </dd> <dt class="hdlist1"> aside: </dt> <dt class="hdlist1"> optional: </dt> <dt class="hdlist1"> non-blocking: </dt> <dd> <p> Indicates to the reader that the following comment should not block the acceptance of the patch or series. These are typically recommendations related to code organization & style, or musings about topics related to the patch in question, but beyond its scope. </p> </dd> <dt class="hdlist1"> s/<before>/<after>/ </dt> <dd> <p> Shorthand for "you wrote <before>, but I think you meant <after>," usually for misspellings or other typographical errors. The syntax is a reference to "substitute" command commonly found in Unix tools such as <code>ed</code>, <code>sed</code>, <code>vim</code>, and <code>perl</code>. </p> </dd> <dt class="hdlist1"> cover letter </dt> <dd> <p> The "Patch 0" of a multi-patch series. This email describes the high-level intent and structure of the patch series to readers on the Git mailing list. It is also where the changelog notes and range-diff of subsequent versions are provided by the author. </p> <div class="paragraph"><p>On single-patch submissions, cover letter content is typically not sent as a separate email. Instead, it is inserted between the end of the patch’s commit message (after the <code>---</code>) and the beginning of the diff.</p></div> </dd> <dt class="hdlist1"> #leftoverbits </dt> <dd> <p> Used by either an author or a reviewer to describe features or suggested changes that are out-of-scope of a given patch or series, but are relevant to the topic for the sake of discussion. </p> </dd> </dl></div> </div> </div> <div class="sect1"> <h2 id="_see_also">See Also</h2> <div class="sectionbody"> <div class="paragraph"><p><a href="MyFirstContribution.html">MyFirstContribution</a></p></div> </div> </div> </div> <div id="footnotes"><hr /></div> <div id="footer"> <div id="footer-text"> Last updated 2025-06-13 22:14:31 UTC </div> </div> </body> </html>