Title: Theory / Important / CS / Softw / VCS / Git / Manual
Tags: fromMath mathToDef computer_to_instruction hasNotNewEffectReturnsMeaning FromInstruction fromCommandLine some_instruction instruction_to_flag fromCommand FromVariables hasSeenConjDef automatedNewLineAfterCommaSpace examplesSwitchExample1 instructionToVariable mathToSee seen_description
On every note of this deck, unless a note says otherwise:
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison

Name: Version control
Definition: A system that records changes to a file or set of files over time so that you can recall specific versions later.
Chapter: 1
Example: Multiple files with date stamp

Name: A patch set
Definition: The difference between two version of a file.
Chapter: 1
Context: git

Name: Distributed version control system
Definition: A version control system in which each client have the entire history.
Chapter: 1
Example: Git
Example2: Mercurial
Example3: Bazaar
Example4: Darcs

Name: A commited file
Definition: A file stored in your local database.
Chapter: 1
Section: 3
Context: git

Name: A modified file
Definition: A file distinct from the one in the local database.
Chapter: 1
Section: 3

Name: A staged file
Definition: A modified file, maked to go in your next commit snapshot.
Chapter: 1
Section: 3

Name: The Git directory
Definition: Where Git stores the metadata and object database for your project.
Chapter: 1
Section: 3

Name: The sections of a git project
Definition: Git directory,
Chapter: 1
Section: 3
Definition2: Working tree
Conjdef: all of
Definition3: staging area

Name: Working tree
Definition: The tree of actual checked out files. Normally contains the contents of the HEAD commit’s tree, plus any local changes that you have made but not yet committed.
Page: https://git-scm.com/docs/gitglossary#def_index
Chapter: 1
Section: 3
Context: Git
Name2: Working directory
Typ: A single checkout of one version of the project

Name: Basic git workflow:
Definition: You modify files in your working tree.
Chapter: 1
Section: 3
Definition2: You stage the files, adding snapshots of them to your staging area.
Definition3: You do a commit, which takes the files as they are in the staging area and stores that snapshot permanently to your Git directory.

Name: A tracked file
Definition: A file of the working directory present in the last snapshot.
Chapter: 2

Definition: modified files.
Chapter: 2
Variables: In git status -s
Notation: M

Definition: New files untracked.
Chapter: 2
Context: git status
Notation: ??

Definition: Files added to the staging area.
Chapter: 2
Context: git status -s
Notation: A

Definition: Deleted files.
Chapter: 2
Variables: In git status -s
Notation: D

Definition: Renamed files.
Chapter: 2
Variables: In git status -s
Notation: R

Definition: Copied files.
Chapter: 2
Variables: In git status -s
Notation: C

Definition: Updated but unmerged files.
Chapter: 2
Variables: In git status -s
Context: Git
Notation: U

Definition: ignored files.
Chapter: 2
Context: git status -s
Notation: !!
Assuming: --ignored option

Name: A tag
Definition: A name given to a particular object.
Chapter: 2
Section: 6
Typ: A ref

Name: A lightweight tag
Definition: A pointer to a specific commit.
Chapter: 2
Section: 6

Name: An annotated tag
Definition: A tag with tagger name, email, date, tagging message.
Chapter: 2
Section: 6

Name: A blob
Definition: Untyped object, e.g. the contents of a file.
Page: https://git-scm.com/docs/gitglossary
Chapter: 3
Section: 2

Name: master
Definition: The default branch name in Git
Chapter: 3
Section: 2

Name: Fast-forward
Definition: Merging current branch to branch is done by moving the current branch to branch
Chapter: 3
Section: 2
Context: git merge branch
Assuming: The branch branch is ahead of the current branch

Name: A tracking branch
Definition: A local branch that have a direct relationship to a remote branch
Chapter: 3
Section: 5

Name: An upstream branch
Definition: A branch tracked by a tracking branch
Chapter: 3
Section: 5

Name: A patch-id
Definition: The checksum of a patch introduced by a commit
Chapter: 3
Section: 6

Variable: pull.rebase
Meaning: Whether --rebase is a default argument for git pull
Section: 6
Chapter: 3

Variable: user.name
Meaning: The name of the user
Section: 6
Chapter: 1

Variable: user.email
Meaning: The email of the user
Section: 6
Chapter: 1

Instruction: core.editor
Effect: The editor to use
Chapter: 1
Section: 6

Fla: help verb
verb --help
Effect: Help page of the verb command
Prefix: git
Chapter: 1
Section: 6
Extra: man git-verb

Fla: status
Effect: Displays paths that have differences between the index file and the current HEAD commit, paths that have differences between the working tree and the index file, and paths in the working tree that are not tracked by Git and are not ignored by gitignore.
Prefix: git
Chapter: 2

Fla: --short
Prefix: git status
Flag abbreviation: -s
Chapter: 2
Print: A less verbose version of the status, with only changes

Instruction: .gitignore
Effect: The list of files which must be ignored by git
Chapter: 2

Effect: Do not ask commit message, instead use message
Context: git commit
Chapter: 2
Abbreviation: -m message

Fla: rm file
Effect: remove file from the working tree and staging area
Prefix: git
Chapter: 2
Assuming: File is not modified or added to staging area

Fla: mv file1 file2
Effect: Rename file1 to file2
Prefix: git
Chapter: 2
Extra: Similar to
git add file2
git rm file1

Fla: -- file
Effect: Replace file by the version in the index
Prefix: git checkout
Chapter: 2
Section: 4

Fla: fetch source
Effect: Fetch all data from source that you don't currently have
Prefix: git
Chapter: 2
Section: 5

Fla: push foo
Effect: Push the data to server foo. Either all branch or a single one according to push.default
Page: https://git-scm.com/book/fr/v2/Les-bases-de-Git-Travailler-avec-des-dépôts-distants
Prefix: git
Chapter: 2
Section: 5

Fla: push foo bar
Effect: Push the data, from branch bar to server foo
Page: https://git-scm.com/book/fr/v2/Les-bases-de-Git-Travailler-avec-des-dépôts-distants
Prefix: git
Chapter: 2
Section: 5

Fla: tag
Effect: list the tag in the repo
Prefix: git
Chapter: 2
Section: 6

Effect: Create an annotated tag named foo,
open the editor to enter a message
Context: git tag
Chapter: 2
Section: 6
Abbreviation: -a foo

Effect: Add the message message to the tag
Context: git tag
Chapter: 2
Section: 6
Abbreviation: -m message

Fla: -a name hash
Effect: apply the tag to the commit whose hash begin with hash
Prefix: git tag
Chapter: 2
Section: 6

Fla: --tags
Effect: push the tags
Prefix: git push
Chapter: 2
Section: 6

Variable: alias.text
Meaning: `git text` is replaced by the value of this variable
Section: 6
Chapter: 2

Variable: HEAD
Meaning: A pointer to some commit, from which working tree is based
Section: 1
Chapter: 3

Fla: checkout a
Effect: Moves HEAD to the branch a
Change the content of the working tree to the snapshot of master
Prefix: git
Chapter: 3
Section: 2

Fla: -b arg
Effect: create branch arg at the place that this command check out
Prefix: git checkout
Chapter: 3
Section: 1
Extra: Equivalent to git branch arg and git checkout arg

Instruction: <<<<<<< HEAD:baz
foo
=======
bar
>>>>>>> a:baz
Effect: The file baz contains foo in the HEAD and bar in the commit a. The user should do the merging themselve
Language: git
Chapter: 3
Section: 2

Variable: credential.helper
Meaning: Login and password for push
Section: 5
Chapter: 3

Fla: --track remote/branch
Effect: Equivalent to git checkout -b branch remote/branch
Page: https://git-scm.com/book/en/v2/Git-Branching-Branch-Management
Prefix: git checkout
Chapter: 3
Section: 5

Fla: pull
Effect: equivalent to:
git fetch
git merge
Prefix: git
Chapter: 3
Section: 5

Fla: push remote --delete branch
Effect: Remove the branch branch on remote
Prefix: git
Chapter: 3
Section: 5

Name: Three states of the files
Definition: Commited.
Chapter: 1
Section: 3
Definition2: modified
Conjdef: In this order
Definition3: staged

Name: A bare repository
Definition: A repository that doesn’t contain a working directory
Page: https://git-scm.com/book/en/v2/Git-on-the-Server-Getting-Git-on-a-Server
Chapter: 4
Section: 2
Denoted by: repoName.git

Extension: .git
Description: a bare git repository
Other fields (not shown on cards):
Page: https://git-scm.com/book/en/v2/Git-on-the-Server-Getting-Git-on-a-Server
Chapter: 4
Section: 2

Question: How to allow many user to access a git server ?
Answer: Create a git user, Adding public ssh key of each user
Page: https://git-scm.com/book/en/v2/Git-on-the-Server-Getting-Git-on-a-Server
Chapter: 4
Section: 2

Fla: ssh-keygen
Effect: Generate a pair with public/private key for ssh
Page: https://git-scm.com/book/en/v2/Git-on-the-Server-Generating-Your-SSH-Public-Key
Chapter: 4
Section: 3

Variable: ~/.ssh/id_dsa or ~/.ssh/id_rsa
Meaning: dsa or rsa private key for ssh
Page: https://git-scm.com/book/en/v2/Git-on-the-Server-Generating-Your-SSH-Public-Key
Section: 3
Chapter: 4
Typ: file

Variable: ~/.ssh/id_dsa.pub or ~/.ssh/id_rsa.pub
Meaning: dsa or rsa public key for ssh
Page: https://git-scm.com/book/en/v2/Git-on-the-Server-Generating-Your-SSH-Public-Key
Section: 3
Chapter: 4
Typ: File

Variable: ~/.ssh/authorized_keys
Meaning: The public key of authorized user
Page: https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection
Section: 4
Typ: File
Index: Jump to 7

Fla: hash
Effect: Show the commit whose hash begin by hash
Page: https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection
Prefix: git show
Chapter: 7
Section: 1
Assuming: Uses at least four characters of its hash, and anyway an unambiguous prefix

Instruction: foo~n
Page: https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection
https://git-scm.com/docs/gitrevisions
Effect: The n-th ancestor, following first parent in each generation.
Equivalent to foo^...^ n times
Chapter: 7
Section: 1
Variables: foo represents a commit

Instruction: --not foo
Page: https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection
Effect: exclude commits reachable from foo.
Chapter: 7
Section: 1
Variables: foo, bar represent commits

Fla: --not foo
Effect: restrict to commit not visible from foo
Page: https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection
Prefix: git
Flag abbreviation: ^foo
Chapter: 7
Section: 1
Variables: foo represents a commit

Name: Plumbing
Definition: Low level command for git.
Page: https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain
Chapter: 10
Context: git
Intuition: Not used by everyday user

Name: Porcelaine
Definition: High level command for git. Chaining multiple plumbing together
Page: https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain
Chapter: 10
Context: git

Name: Hash
Definition: The unique name of an object in git, obtained by hashing its content
Page: https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection
https://git-scm.com/docs/gitglossary#def_index
Chapter: 1
Section: 3
Context: git
Name2: Object name
Name3: An object identifier

Question: How can git detect corruption?
Answer: Using the hash-value of files.
Page: https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection
Chapter: 1
Section: 3
Context: git

Variable: .git/description
Meaning: file used by gitweb
Page: https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain
Context: git
Section: 1
Chapter: 10

Variable: .git/info
Meaning: global exclude file for ignored patterns that you don’t want to track in a .gitignore file
Context: git
Section: 1
Chapter: 10

Variable: .git/hooks
Meaning: your client- or server-side hook scripts
Page: https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain
Context: git
Section: 1
Chapter: 10

Fla: --stdin
Effect: takes the input from the stdin
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
Prefix: git hash-object
Chapter: 10
Section: 2

Fla: -w
Effect: write the object to which the command is applied in the database
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
Prefix: git hash-object
Chapter: 10
Section: 2

Fla: update-index
Effect: Modifies the index or directory cache. Each file mentioned is updated into the index and any unmerged or needs updating state is cleared.
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
Prefix: git

Fla: --add
Effect: The foo_i which are not in the index already then it’s added.
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
Prefix: git update-index foo_1 ... foo_n

Fla: --cacheinfo foo,bar,miam
Effect: consider file miam, with hash bar and mode foo
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
Prefix: git update-index

Fla: write-tree
Effect: creates a tree object from the state of the index if that tree doesn’t yet exist:
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
https://git-scm.com/docs/git-write-tree
Prefix: git

Fla: read-tree foo
Effect: Reads the tree information given by foo into the index, but does not actually update any of the files it "caches"
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
Prefix: git

Fla: --prefix=bar
Effect: consider foo as a subtree of bar
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
Prefix: git read-tree foo

Name: A reference
Definition: A name pointing to some git object, either directly by hash, or indirectly by similar objects
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
Context: git
Abbreviation: refs
Denoted by: refs/... with some exception such as HEAD

Fla: update-ref reference commitHash
Effect: create or change reference to commitHash
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
Prefix: git

Fla: symbolic-ref symbolicReference concreteReference
Effect: Set the value of symbolicReference to concreteReference
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
https://git-scm.com/book/en/v2/Git-Internals-Git-References
Prefix: git
Intuition: for HEAD, (and tracking branch?)

Fla: symbolic-ref symbolicReference
Effect: Show the value of the symbolicReference
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
Prefix: git

Name: A symbolic reference
Definition: A reference which itself points to another reference
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
Context: git
Abbreviation: symref

Fla: tag foo
Effect: create a tag object foo, ask for a commit message
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
Prefix: git

Fla: -a name
Effect: create a tag object named name
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
Prefix: git tag

Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
Effect: use commit message foo
Context: git tag
Abbreviation: -m foo

Name: packfile
Definition: A system to compress multiple similar files into a single more compact file
Page: https://git-scm.com/book/en/v2/Git-Internals-Packfiles
Chapter: 10
Section: 4
Context: git

Fla: gc
Effect: tell git to compress files and create a packfile from the non-dangling files.
Do same thing for references
Page: https://git-scm.com/book/en/v2/Git-Internals-Packfiles
Prefix: git
Chapter: 10
Section: 4

Fla: verify-pack foo
Effect: gives information about the content of pack foo
Page: https://git-scm.com/book/en/v2/Git-Internals-Packfiles
Prefix: git
Chapter: 10
Section: 4

Fla: --verbose
Effect: After verifying the pack, show list of objects contained in the pack and a histogram of delta chain length.
Page: https://git-scm.com/book/en/v2/Git-Internals-Packfiles
Prefix: git verify-pack foo
Flag abbreviation: -v
Chapter: 10
Section: 4

Instruction: foo:bar
Page: https://git-scm.com/book/en/v2/Git-Internals-The-Refspec#
Effect: the local reference bar is linked to distant reference foo
Context: git fetch
Chapter: 10
Section: 5

Instruction: + before <src>:<dst>
Page: https://git-scm.com/book/en/v2/Git-Internals-The-Refspec#
Effect: Tell git to update the reference even if it isn't a fast-forward
Context: git fetch
Chapter: 10
Section: 5

Fla: push foo --delete bar
Effect: delete refence bar from remote foo
Page: https://git-scm.com/book/en/v2/Git-Internals-The-Refspec#
Prefix: git
Chapter: 10
Section: 5

Name: dumb protocol
Definition: Protocol for transferring git using only GET request on a server with http but without git
Page: https://git-scm.com/book/en/v2/Git-Internals-Transfer-Protocols
Chapter: 10
Section: 6
Context: git

Name: smart protocol
Definition: Protocol for transferring data, assuming a git-server is used on the server
Page: https://git-scm.com/book/en/v2/Git-Internals-Transfer-Protocols
Chapter: 10
Section: 6
Context: git

Fla: --auto
Effect: if there are too many loose objects or packfile, then run gc, otherwise do nothing.
Page: https://git-scm.com/book/en/v2/Git-Internals-Transfer-Protocols
Prefix: git gc
Chapter: 10
Section: 7

Question: Where do git search for references foo
Answer: .git/refs/foo first and then .git/packed-refs
Page: https://git-scm.com/book/en/v2/Git-Internals-Transfer-Protocols
Chapter: 10
Section: 7

Fla: fsck
Effect: check git database integrity
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Prefix: git
Chapter: 10
Section: 7

Fla: --full
Effect: Show all object that aren't pointed to by another object
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Prefix: git fsck
Chapter: 10
Section: 7

Fla: count-object
Effect: give various information about the size of the git repo
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Prefix: git
Chapter: 10
Section: 7

Fla: prune
Effect: Prune all unreachable objects from the object database
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Prefix: git
Chapter: 10
Section: 7

Name: gitk
Definition: git graphical history viewer
Page: https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables
Chapter: 10
Section: 8
Context: git

Fla: gitk
Effect: starts gitk
Page: https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables
Prefix: git
Chapter: 10
Section: 8

Instruction: foo
Page: https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables
Effect: gitk sends option foo to each git log call
Context: gitk
Chapter: 10
Section: 8

Fla: gui
Effect: open a graphical tool to craft commit
Page: https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables
Prefix: git
Chapter: A
Section: 1

Name: A project
Definition: Essentially, a git repository
Page: https://git-scm.com/book/en/v2/GitHub-Account-Setup-and-Configuration
Chapter: 6
Section: 1
Context: github

Name: Forking p
Definition: Cloning the project p, creating a copy on which you can do anything
Page: https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project
Chapter: 6
Section: 2
Variables: p a github project
Context: github
Definition2: Historically, split the project into a competing one

Question: What can a project host do with a pull request
Answer: accept and merge
Page: https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project
Chapter: 6
Section: 2
Variables: p a github project
r a pull request
Context: github
Answer2: discuss
Answer3: close the request

Name: Pull request
Definition: Iterative conversations around a proposed change, culminating in a unified diff that is applied by merging
Page: https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project
Chapter: 6
Section: 2

Question: What occur if you push to a branch currently used in a pull request
Answer: this branch is added to the pull request
Page: https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project
Chapter: 6
Section: 2

Instruction: #n
Page: https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project
Effect: Reference to object number n in the current project
Context: github in some text
Chapter: 6
Section: 2

Instruction: username#n
Page: https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project
Effect: Reference to object number n in the current project, in the repo of user username
Context: github in some text
Chapter: 6
Section: 2

Instruction: project/username#n
Page: https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project
Effect: Reference to object number n in project in the repo of username
Context: github in some text
Chapter: 6
Section: 2

Question: How to reference to some github object in a text
Answer: Either by full SHA-1 commit, or by a reference with #
Page: https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project
Chapter: 6
Section: 2
Context: github in some text

Name: GitHub Flavored Markdown
Definition: A version of markdown used by github
Page: https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project
Chapter: 6
Section: 2

Instruction: [x]
Page: https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project
Effect: A checked box
Context: GitHub Flavored Markdown
Chapter: 6
Section: 2

Instruction: [ ]
Page: https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project
Effect: A unchecked box
Context: GitHub Flavored Markdown
Chapter: 6
Section: 2

Page: https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project
Effect: A task lisk, used to count the number of things done and which remains to do
Context: GitHub Flavored Markdown
Chapter: 6
Section: 2
Abbreviation: -[ ] foo
or
-[X] foo
repeated

Instruction: ```foo
bar
```
Page: https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project
Effect: A code snippet in language foo for code bar
Language: Markdown
Context: GitHub Flavored Markdown
Chapter: 6
Section: 2

Instruction: > foo_1_
...
> foo_n
Page: https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project
Effect: Quoting the text foo_1 ... foo_n
Context: GitHub Flavored Markdown
Chapter: 6
Section: 2

Instruction: :foo:
Page: https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project
Effect: The emoji foo
Context: GitHub Flavored Markdown
Chapter: 6
Section: 2

Name: collaborator on p
Definition: Someone, other than the owner of p who can push on it
Page: https://git-scm.com/book/en/v2/GitHub-Maintaining-a-Project
Chapter: 6
Section: 3
Variables: p a project
Context: github

Name: Transferring a project
Definition: Send you project to a new user, redirect from current url to their url, and give them all the watchers, favs, etc...
Page: https://git-scm.com/book/en/v2/GitHub-Maintaining-a-Project
Chapter: 6
Section: 3
Context: github

Definition: Indicates the current head
Context: git branch
Notation: *

Fla: foreach 'foo'
Effect: Run foo in each submodule folder
Page: https://git-scm.com/book/en/v2/Git-Tools-Submodules
Prefix: git submodule

Fla: -h
Effect: List all available options with one-liners
Page: https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup
Prefix: git verb
Context: git

Name: An untracked file
Definition: A file whic is not tracked
Page: https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository
Chapter: 2

Name: A clean working tree
Definition: A directory whose content is the same than the reference by the current HEAD
Page: https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository
Chapter: 2

Fla: -n
Effect: Limit log to the last n entries
Page: https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository
Prefix: git log
Chapter: 2
Section: 3
Variables: n a number

Name: Author of the commit c
Definition: The person who originally wrote the commit c
Page: https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
Chapter: 2
Section: 3
Variables: c a commit

Fla: -S foo
Page: https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
Prefix: git log
Chapter: 2
Section: 3
Print: limit displayed logs to the commits adding or removing the string foo
Extra: Called the pickaxe option

Fla: checkout -- files
Effect: Discard current changes to file in files
Page: https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
Prefix: git
Chapter: 2
Section: 4

Fla: --list "foo"
Page: https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
Prefix: git tag
Flag abbreviation: -l "foo"
Chapter: 2
Section: 5
Context: git
Print: Limit display to tag matching pattern foo

Fla: -m message
Effect: Add message to the created tag
Page: https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
Prefix: git tag -a name
Chapter: 2
Section: 6

Fla: commit_descriptor
Effect: Create the tag pointing to the commit at commit_descriptor
Page: https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
Prefix: git tag -a name
Chapter: 2
Section: 6

Fla: push tag_name to remote
Effect: remote tag_name
Page: https://git-scm.com/book/en/v2/Git-Basics-Tagging
Prefix: git push
Chapter: 2
Section: 6

Fla: -d tagname
Effect: delete tagname
Page: https://git-scm.com/book/en/v2/Git-Basics-Tagging
Prefix: git push
Chapter: 2
Section: 6

Name: HEAD point to a commit, not a branch
Definition: Detached state

Question: What are the two ways to integrate changes from one branch into another
Answer: Merge
Page: https://git-scm.com/book/en/v2/Git-Branching-Rebasing
Chapter: 3
Section: 6
Answer2: Rebase

Name: Rebasing
Definition: Take the patch of a change and apply it on top of another commit
Page: https://git-scm.com/book/en/v2/Git-Branching-Rebasing
Chapter: 3
Section: 6

Variable: .git
Meaning: folder containing all local git configurations
OR
file containing "gitdir: <path>" to point to the real directory
Page: https://git-scm.com/book/en/v2/Git-Branching-Rebasing
https://git-scm.com/docs/gitrepository-layout
Section: 1
Chapter: 4

Name: Integrator
Definition: Person in charge of unifying work of various contributor into a central branch
Page: https://git-scm.com/book/en/v2/Git-Branching-Rebasing
Chapter: 5
Section: 1
Context: Software team

Name: Each contributor has its git repo. A contributor email the maintainer and ask them to pull a change from their repo/local branch.
Definition: Integration-Manager Workflow
Page: https://git-scm.com/book/en/v2/Git-Branching-Rebasing
Chapter: 5
Section: 1
Context: Software team

Name: Dictator and Lieutenants Workflow
Page: https://git-scm.com/book/en/v2/Git-Branching-Rebasing
Chapter: 5
Section: 1
Context: Software team

Fla: request-pull source featureBranch
Effect: Generate an email message describing a pull request, for adding featureBranch in source. And a URL to access this PR
Page: https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project
Prefix: git
Chapter: 5
Section: 2

Fla: format-patch -M base
Effect: Generates an email that can be used to get current HEAD when executed from commit at `base`
Page: https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project
Prefix: git
Chapter: 5
Section: 2

Fla: send-email file.patch
Effect: Send an email with content of file.patch to maintainer, as configured in .gitconfig
Page: https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project
Prefix: git
Chapter: 5
Section: 2

Fla: apply file.patch
Effect: Modify the file in working directory according to content of file.patch
Page: https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project
Prefix: git
Chapter: 5
Section: 3

Fla: --check
Effect: only check whether applying can work, don't actually change working directory
Page: https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project
Prefix: git apply
Chapter: 5
Section: 3

Fla: am file.patch
Effect: Add to current branch a commit as described in file.patch
Page: https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project
Prefix: git
Chapter: 5
Section: 3
Assuming: file.patch was generated with git format-patch

Fla: -3
Effect: Try to apply git commit with a three way base merge
Page: https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project
Prefix: git am
Chapter: 5
Section: 3

Fla: -i
Effect: Iterates over each commit of the patch and queries whether it should be applied
Page: https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project
Prefix: git am
Chapter: 5
Section: 3

Variable: rerere.enabled
Meaning: whether to use rerere
Page: https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project
Section: 3
Chapter: 5

Fla: rerere
Effect: for each conflict, apply cached solutions if any
Page: https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project
Prefix: git
Chapter: 5
Section: 3

Variable: refs/pull/n/head
Meaning: The last commit of pull request n
Page: https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project
Context: github
Section: 3
Chapter: 6

Instruction: fetch = +foo:bar
Page: https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project
Effect: everything matching pattern foo should be tracked locally with pattern bar
Context: .git/config
Chapter: 6
Section: 3

Variable: CONTRIBUTING
Meaning: File explaining how people interested in contributing are expected to proceed
Page: https://git-scm.com/book/en/v2/GitHub-Maintaining-a-Project
Context: github
Section: 3
Chapter: 6
Kind: File

Fla: show hash
Page: https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection
Prefix: git
Chapter: 7
Section: 1
Print: description of object with hash
Kind: File

Instruction: ^foo
--not foo
Page: https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection
Effect: restrict content included in foo from the range
Context: git range
Chapter: 7
Section: 1
Kind: File

Fla: clean -f
Effect: delete all untracked un-ignored files
Page: https://git-scm.com/book/en/v2/Git-Tools-Interactive-Staging
Prefix: git
Chapter: 7
Section: 2

Fla: -d
Effect: delete directories which become empty
Page: https://git-scm.com/book/en/v2/Git-Tools-Interactive-Staging
Prefix: git clean
Chapter: 7
Section: 2

Fla: --dry-run
Effect: Simulate `clean -f` and state what would be deleted
Page: https://git-scm.com/book/en/v2/Git-Tools-Interactive-Staging
Prefix: git clean
Flag abbreviation: -n
Chapter: 7
Section: 2

Fla: -x
Effect: Remove ignored files too
Page: https://git-scm.com/book/en/v2/Git-Tools-Interactive-Staging
Prefix: git clean
Chapter: 7
Section: 2

Fla: -i
Effect: allow to interactively select which files to clean
Page: https://git-scm.com/book/en/v2/Git-Tools-Interactive-Staging
Prefix: git clean
Chapter: 7
Section: 2

Fla: -ff
Effect: Allow to clean subdirectories too
Page: https://git-scm.com/book/en/v2/Git-Tools-Interactive-Staging
Prefix: git clean
Chapter: 7
Section: 2

Fla: TODO Signing the work
Page: https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work
Prefix: git
Chapter: 7
Section: 4

Fla: verb --abort
Effect: stop action verb currently being executed and go back to commit from before it was started.
Page: https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History
Prefix: git
Chapter: 7
Section: 6
Assuming: verb is still going on. E.g. rebase interactive, merge conflict.

Question: How to do an action on all commit from history and rewrite full history
Answer: git filter-branch. Not recommended anymore, but pure git
Page: https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History
Chapter: 7
Section: 6
Answer2: git-filter-repo , a python library

Fla: --patch
Effect: Open interactive tool to decide which part of files to reset
Page: https://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified
Prefix: git reset
Chapter: 8
Section: 7

Fla: --patch
Effect: Open interactive tool to let you decide which part of file to checkout
Page: https://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified
Prefix: git checkout file
Chapter: 8
Section: 7

Fla: checkout commitRef file
Effect: take commitRef's version of file and copy it in working tree
Page: https://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified
Prefix: git
Chapter: 8
Section: 7
Assuming: accept to erase current content of file

Fla: -Xignore-all-space
Effect: Ignore all space changes during conflict resolution. Consider lines differing only by spaces to be the same
Page: https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging
Prefix: git
Chapter: 8

Fla: merge-file -p file.ours file.common file.theirs
Effect: Result of merging file.ours and file.theirs when common ancestor is file.common
Page: https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging
Prefix: git
Chapter: 8

Fla: --conflict=diff3
Effect: Uses diff3 algorithm to resolve conflict, also taking common ancestor into consideration
Page: https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging
Prefix: git verb
Chapter: 8

Fla: --left-right
Effect: add < before line of commit in their branch and > before lines of commit in our branch
< f1270f7 Update README
< 9af9d3b Create README
< 694971d Update phrase to 'hola world'
> e3eb223 Add more tests
> 7cff591 Create initial testing script
> c3ffff1 Change text to 'hello mundo'
Page: https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging
Chapter: 8
Context: git merge conflict

Fla: revert commitRef
Effect: Add a commit, that does the invert of the commit pointed at commitRef. With commit message stating it revert commitRef's name
Page: https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging
https://git-scm.com/docs/git-revert
Prefix: git
Chapter: 8
Assuming: working tree should be clean

Fla: blame file
Effect: Print file, with each line preceded by description of the commit introducing it
Page: https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging
Prefix: git
Chapter: 7
Section: 10

Fla: -L l,L
Page: https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging
Prefix: git blame file
Chapter: 7
Section: 10
Print: limit blame to lines between l and L

Fla: -C
Page: https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging
Prefix: git blame file
Chapter: 7
Section: 10
Print: print original commit introducing a line, and not the last which modified it

Variable: url
Meaning: url of the source of the submodule
Page: https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git
Context: .gitmodules, [submodule]
Chapter: 7

Fla: update submoduleName
Effect: update submodule submoduleName
Page: https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git
Prefix: git
Chapter: 7
Section: 11

Fla: bundle path HEAD commitRefs
Effect: create at path a bundle that can be used to recreate this repo and branches at commitRefs
Page: https://git-scm.com/book/en/v2/Git-Tools-Bundling
Prefix: git
Chapter: 7
Section: 12

Fla: bundle verify file
Effect: Check that file is a correct git bundle
Page: https://git-scm.com/book/en/v2/Git-Tools-Bundling
Prefix: git
Chapter: 7
Section: 12

Fla: bundle list-heads file
Effect: see the branches in the bundle file
Page: https://git-scm.com/book/en/v2/Git-Tools-Bundling
Prefix: git
Chapter: 7
Section: 12

Fla: replace hash1 hash2
Effect: each time commit must uses hash1 it'll actually uses hash2
Page: https://git-scm.com/book/en/v2/Git-Tools-Bundling
Prefix: git
Chapter: 7
Section: 12

Fla: credential
Effect: todo
Page: https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage
Prefix: git
Chapter: 7
Section: 12

Variable: core.pager
Meaning: the pager to use for log/diff
Page: https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
Context: git
Section: 1
Chapter: 8

Variable: core.signingkey
Meaning: GPG signing key
Page: https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
Context: git
Section: 1
Chapter: 8

Variable: core.excludesfile
Meaning: another gitignore file
Page: https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
Context: git
Section: 1
Chapter: 8

Variable: help.autocorrect
Meaning: Try to guess command on typo. Execute it unless you cancel the action in less than this number of second
Page: https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
Context: git
Section: 1
Chapter: 8

Variable: color.ui
Meaning: Whether color must be used
Page: https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
Context: git
Section: 1
Chapter: 8

Variable: core.autcrlf
Meaning: how to deal with CR LF end line
Page: https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
Context: git
Section: 1
Chapter: 8
Initialization: false
Value: true: use CR in the repo. Use local in the working tree. Convert between both
Value2: input: convert CRLF to lf on commit, don't convert lf to CRLF on output

Variable: core.whitespace
Meaning: comma separated list of change made on whitespace during commit
Page: https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
Context: git
Section: 1
Chapter: 8

Typ: core.whitespace
Page: https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
Language: 8
Context: git
Value: blank-at-eof, Remove spaces at end of file
Value2: blank-at-eol, Remove spaces at end of line
Value4: cr-at-eol, tells Git that carriage returns at the end of lines are OK.
Value5: indent-with-non-tab, looks for lines that begin with spaces instead of tabs (and is controlled by the tabwidth option)
Value6: space-before-tab, Looks for spaces before tabs at the beginning of a line
Value7: tab-in-indent, watches for tabs in the indentation portion of a line

Variable: receive.fsckObjects
Meaning: Whether to check objects matches their SHA.
Page: https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
Context: git
Language: 8
Initialization: false (its costly)

Variable: receive.denyNonFastForwards
Meaning: Refuse force push
Page: https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
Context: git
Language: 8

Variable: receive.denyDeletes
Meaning: Whether to accept to receive deletion request
Page: https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
Context: git
Language: 8

Variable: .gitattributes
Meaning: Attributes that are applied only inside the directory containing this file
Page: https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes
Section: 2
Chapter: 8

Instruction: pattern binary
Page: https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes
Effect: indicate that files satisfying pattern is a binary
Context: .gitattributes
Chapter: 8
Section: 2

Instruction: pattern diff=diffCmd
Page: https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes
Effect: For files satisfying pattern, uses diffCmd to diff them
Context: .gitattributes
Chapter: 8
Section: 2

Name: A filter
Definition: A rule to convert files between staging area and working directory
Page: https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes
Chapter: 8
Section: 2
Context: .gitattributes

Instruction: pattern filter=filterName
Page: https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes
Effect: State that when moving between staging area and working directory, filter filterName applied
Context: .gitattributes
Chapter: 8
Section: 2

Variable: filter.filterName.clean
Meaning: Command used to stage files that uses filter filterName
Page: https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes
Context: .gitattributes
Section: 2
Chapter: 8

Variable: filter.filterName.smudge
Meaning: Command used to checkout to working tree files that uses filter filterName
Page: https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes
Context: .gitattributes
Section: 2
Chapter: 8

Name: A hook
Definition: A custom scripts that fire when certain important actions occur
Page: https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks
Chapter: 8
Section: 3

Variable: todo
Meaning: git as client from other system. Migration from other system
Page: https://git-scm.com/book/en/v2/Git-and-Other-Systems-Git-as-a-Client
Context: git
Section: 1
Chapter: 9

Name: Content adressable file system
Definition: A file system in which you can insert any kind of content into, for which it will hand you back a unique key you can use later to retrieve that content.
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
Chapter: 10
Section: 2
Context: git

Variable: .git/objects
Meaning: Folder containing objects added to the git repository.
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
Context: git
Section: 2
Chapter: 10

Variable: .git/objects/xy
Meaning: Folders containing files added to git repo whose hash start with xy
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
Context: git
Section: 2
Chapter: 10
Variables: x, y, two characters

Variable: .git/objects/xy/String
Meaning: File added to the git repo whose hash is xyString
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
Context: git
Section: 2
Chapter: 10
Variables: x,y two letters
String a string

Variable: commitRef^{tree}
Meaning: The tree object of the commitRef
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
Context: git
Section: 2
Chapter: 10

Typ: tree object
Meaning: A git representation of some version of a folder
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
Chapter: 10
Section: 2
Context: git
Implementation: I.e. a list from file name to hashes

Fla: read-tree --prefix=bak treeHash
Effect: add to the staging area a directory bax with content of tree object at treeHash
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
Prefix: git
Chapter: 10
Section: 2

Variable: .git/refs
Meaning: folder containing dictionnary from tag/commit to commits
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-References
Section: 3
Chapter: 10

Variable: .git/refs/tags/tagName
Meaning: File containing the commit at which tagName is
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-References
Section: 3
Chapter: 10

Variable: .git/refs/heads/commitName
Meaning: File containing the commit at which the head of commitName is
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-References
Section: 3
Chapter: 10

Variable: .git/HEAD
Meaning: The reference (usually symbolic) where current HEAD is
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-References
Section: 3
Chapter: 10

Question: The possible types of git objects
Answer: blob
Page: https://git-scm.com/book/en/v2/Git-Internals-Git-References
Chapter: 10
Section: 3
Answer2: commits
Answer3: tags
Answer4: trees

Name: A loose object
Definition: An object that corresponds to the compressed version of a single file
Page: https://git-scm.com/book/en/v2/Git-Internals-Packfiles
Chapter: 10
Section: 4

Name: A packfile
Definition: A file that contains packed informations allowing to generate multiple git object out of it
Page: https://git-scm.com/book/en/v2/Git-Internals-Packfiles
Chapter: 10
Section: 4
Name2: A pack
Intuition: Efficient compression of similar objects

Name: Auto gc
Definition: A light garbage collection, occasionnaly run automatically, that check whether a full gc is required
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Chapter: 10
Section: 7
Context: git

Fla: gc
Effect: run garbage collection
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Prefix: git
Chapter: 10
Section: 7

Variable: gc.auto
Meaning: maximal number of loose object before gc is executed
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Initialization: 7000

Variable: gc.autopacklimit
Meaning: maximal number of packfiles before gc is executed
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Initialization: 50

Question: What are done during garbage collection
Answer: pack similar files into packfiles
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Chapter: 10
Section: 7
Context: git
Answer2: delete loose objects
Answer3: move references to packed-refs

Variable: .git/packed-refs
Meaning: A file containing
hash refs
used instead of .git/refs for efficiency
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10

Question: where are references r searched
Answer: .git/refs/r
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Chapter: 10
Section: 7
Context: git
Answer2: If not found .git/packed-refs

Fla: fsck
Effect: check database for integrity
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Prefix: git
Chapter: 10
Section: 7

Fla: fsck --full
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Prefix: git
Chapter: 10
Section: 7
Print: all objects that are pointed to by nothing

Fla: --verbose
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Prefix: git count-objects
Flag abbreviation: -v
Chapter: 10
Section: 7
Context: git
Print: print data about the objects number, size, etc...

Fla: --exec-path
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Prefix: git
Chapter: 10
Section: 7
Print: where git sub-programs are

Name: A program whose name is of the form "git-foo" and can be invoked with "git foo"
Definition: A git subprogram
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Chapter: 10
Section: 7
Context: git

Variable: GIT_EXEC_PATH
Meaning: Folder containing git subprograms
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Typ: environment variable

Variable: GIT_CONFIG_NOSYSTEM
Meaning: Whether to disable the system wide git configuration
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Typ: environment variable

Variable: GIT_PAGER
Meaning: Program used to page output of git command
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Typ: environment variable

Variable: GIT_EDITOR
Meaning: Command used for editor for git commands
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Typ: environment variable

Variable: GIT_DIR
Meaning: Location of the .git folder
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Typ: environment variable

Variable: GIT_CEILING_DIRECTORIES
Meaning: Maximal number of time you go to parent directory to find .git before declaring its not a git directory
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Typ: environment variable

Variable: GIT_WORK_TREE
Meaning: the location of the root of the working directory for a non-bare repository
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Typ: environment variable
Initialization: directory containing .git used

Variable: GIT_INDEX_FILE
Meaning: path to the index file
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Typ: environment variable

Variable: GIT_OBJECT_DIRECTORY
Meaning: location of the directory that usually rediseds at .git/objects
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Typ: environment variable

Variable: GIT_ALTERNATE_OBJECT_DIRECTORIES
Meaning: Colon separated list of directories to search for object.
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Typ: environment variable
Extra: for multiple projects with large identical files, that allow to factorize them.
No writte in them

Name: Pathspec
Definition: How you specify type to things in git
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Chapter: 10
Section: 7
Context: git
Example: case sensitive or not
Example2: wildcard or literal

Variable: GIT_LITERAL_PATHSPECKS GIT_NOGLOB_PATHSPECS
Meaning: in path, * are interpreted as * and not as globbing
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Kind: environment variable

Variable: GIT_GLOB_PATHSPECS
Meaning: Whether * is interpreted as globbing
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Kind: environment variable

Variable: GIT_ICASE_PATHSPECS
Meaning: Whether pathspecs are case-insensitive
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Kind: environment variable

Variable: GIT_AUTHOR_NAME
Meaning: the human-readable name in the “author” field.
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Kind: environment variable

Variable: GIT_AUTHOR_EMAIL
Meaning: the human-readable email in the “AUTHOR” field.
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Kind: environment variable

Variable: GIT_AUTHOR_DATE
Meaning: Timestamp for the "author" field
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Kind: environment variable

Variable: EMAIL
Meaning: fallback email address if user.email is not set
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Kind: environment variable

Variable: GIT_CURL_VERBOSE
Meaning: git use curl in a verbose way
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Kind: environment variable

Variable: GIT_SSL_NO_VERIFY
Meaning: Git shouldn't verify its SSL certificate for HTTPS
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Kind: environment variable

Variable: GIT_HTTP_LOW_SPEED_LIMIT
Meaning: Minimal speed over HTTP before aborting (if it goes on for GIT_HTTP_LOW_SPEED_TIME seconds)
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Kind: environment variable

Variable: GIT_HTTP_LOW_SPEED_TIME
Meaning: If during this time, speed of transfer is not sufficient, operation over HTTP is aborted
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Kind: environment variable

Variable: GIT_HTTP_USER_AGENT
Meaning: user-agent string used by git over HTTP
Page: https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery
Context: git
Section: 7
Chapter: 10
Initialization: something such as git/version_number
Kind: environment variable

Variable: TODO:
Meaning: git debugging
Page: https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables
Context: git
Section: 7
Chapter: 10

Variable: GIT_SSH
GIT_SSH_COMMAND
Meaning: the ssh program to use
Page: https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables
Context: git
Section: 7
Chapter: 10
Kind: environment variable

Variable: GIT_ASKPASS
Meaning: program used to ask for credential
Page: https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables
Context: git
Section: 7
Chapter: 10
Kind: environment variable

Variable: GIT_NAMESPACE
Meaning: controls access to namespaced refs, and is equivalent to the --namespace flag
Page: https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables
Context: git
Section: 7
Chapter: 10
Kind: environment variable

Variable: GIT_FLUSH
Meaning: Force Git to use non-buffered I/O when writing incrementally to stdout. A value of 1 causes Git to flush more often, a value of 0 causes all output to be buffered
Page: https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables
Context: git
Section: 7
Chapter: 10
Kind: environment variable

Fla: version
--version
Page: https://git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Bash
Prefix: git
Chapter: A1
Section: 6
Print: version of git currently used

Question: How to get git autocompletion in bash
Answer: follow instruction from https://git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Bash
Page: https://git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Bash
Chapter: A1
Section: 6
Context: git

Question: How to get git autocompletion in zsh
Answer: in .zsrc:
`autoload -Uz compinit && compinit`
Page: https://git-scm.com/book/en/v2/Appendix-A%3A-Git-in-Other-Environments-Git-in-Zsh
Chapter: A1
Section: 7
Context: git

Name: ligbit2
Definition: a C implementation of git
Page: https://git-scm.com/book/en/v2/Appendix-B:-Embedding-Git-in-your-Applications-Libgit2
Chapter: A2
Section: 2
Context: git

Name: JGit
Definition: A Java implementation of git
Page: https://git-scm.com/book/en/v2/Appendix-B:-Embedding-Git-in-your-Applications-Libgit2
Chapter: A2
Section: 2
Context: git

Name: go-git
Definition: A golang implementation for git
Page: https://git-scm.com/book/en/v2/Appendix-B:-Embedding-Git-in-your-Applications-go-git
Chapter: A2
Section: 4
Context: git

Name: Dulwich
Definition: Python implementation of git
Page: https://git-scm.com/book/en/v2/Appendix-B%3A-Embedding-Git-in-your-Applications-Dulwich
Chapter: A2
Section: 5
Context: git

Fla: --recurse-submodule
Effect: check that all submodules are pushed or fail current push
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Branching-and-Merging
Prefix: git push
Chapter: A3
Section: 4
Context: git

Fla: -C path
Effect: behaves as if the command was run from folder path
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Prefix: git
Chapter: A3
Section: 6

Fla: -c settingName=value
Effect: set settingName to value in this command only
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Prefix: git
Chapter: A3
Section: 6

Fla: -c settingName
Effect: set settingName to true for the current command only
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Prefix: git
Chapter: A3
Section: 6

Fla: -c settingName=
Effect: set settingName to "" or False in the current command only
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Prefix: git
Chapter: A3
Section: 6

Fla: --html-path
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Prefix: git
Chapter: A3
Section: 6
Print: The path, without trailing slash, where Git’s HTML documentation is installed and exit.

Fla: --man-path
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Prefix: git
Chapter: A3
Section: 6
Print: the manpath for the man pages for this version of Git and exit

Fla: --info-path
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Prefix: git
Chapter: A3
Section: 6
Print: the path where the Info files documenting this version of Git are installed and exit.

Fla: --paginate
Effect: pipe the output in $PAGER or less
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Prefix: git
Flag abbreviation: -p
Chapter: A3
Section: 6

Fla: --no-pager
Effect: Do not pipe git output into a pager
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Prefix: git
Flag abbreviation: -P
Chapter: A3
Section: 6

Fla: --git-dir=path
Effect: Set the path to the .git repo to path
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Prefix: git
Chapter: A3
Section: 6

Fla: --work-tree=path
Effect: Set path to the working tree path
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Prefix: git
Chapter: A3
Section: 6

Fla: --namespace=path
Effect: Set git namespace to path
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Prefix: git
Chapter: A3
Section: 6

Fla: --super-prefix=path
Effect: Currently for internal use only. Set a prefix which gives a path from above a repository down to its root. One use is to give submodules context about the superproject that invoked it.
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Prefix: git
Chapter: A3
Section: 6

Fla: --bare
Effect: Treat the repository as a bare repository
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Prefix: git
Chapter: A3
Section: 6

Fla: --no-replace-objects
Effect: Do not use replacement refs to replace Git objects.
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Prefix: git
Chapter: A3
Section: 6

Fla: --literal-pathspeecs
--noglob-pathspecs
Effect: Treat pathspecs literally
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Prefix: git
Chapter: A3
Section: 6

Fla: --glpb-pathspecs
Effect: Add "glob" magic to all pathspec
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Prefix: git
Chapter: A3
Section: 6

Fla: --icase-pathspecs
Effect: Add "icase" magic to all pathspec
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Prefix: git
Chapter: A3
Section: 6

Fla: --no-optional-locks
Effect: Do not perform optional operations that require locks.
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Prefix: git
Chapter: A3
Section: 6

Fla: --list-cmds=group_1,...,group_n
Effect: todo when not internal
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Prefix: git
Chapter: A3
Section: 6

Instruction: # foo
; foo
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Effect: nothing. Just a comment foo

Constant: <object>
Meaning: Indicates the object name for any type of object.
Context: git manual

Constant: <blob>
Meaning: Indicates a blob object name.
Context: git manual

Constant: <tree>
Meaning: Indicates a tree object name
Context: git manual

Constant: <commit>
Meaning: Indicates a commit-object name
Context: git manual

Constant: <type>
Meaning: Indicates that an object type is required.
Context: git manual
Extra: Currently one of: blob, tree, commit, or tag.

Constant: <file>
Meaning: Indicates a filename
Context: git manual

Constant: <tag>
Meaning: A valid tag name
Context: git manual
Extra: part after refs/tag

Constant: <head>
Meaning: A valid head name
Context: git manual
Extra: part after refs/heads/

Variable: GIT_INDEX_VERSION
Meaning: Specficiation of an index version for new repositories
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_DISCOVERY_ACROSS_FILESYSTEM
Meaning: Whether to continue to search for .git if going to parent directory leads to changing filesystem
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_COMMON_DIR
Meaning: Non-worktree files that are normally in $GIT_DIR will be taken from this path instead.
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_DEFAULT_HASH
Meaning: the default hash algorithm for new repositories will be set to this value
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables
Initialization: sha1

Variable: GIT_PROGRESS_DELAY
Meaning: how many seconds to delay before showing optional progress indicators
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables
Initialization: 2

Variable: GIT_SEQUENCE_EDITOR
Meaning: Editor for todolist of interactive rebase
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables
Initialization: $GIT_EDITOR

Variable: GIT_SSH_VARIANT
Meaning: state which SSH is used, openSSH, plink or tortoiseplink
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_TERMINAL_PROMPT
Meaning: Whether to prompt on the terminal (e.g. for authentification)
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_CONFIG_GLOBAL
GIT_CONFIG_SYSTEM
Meaning: Take the configuration from the given files instead from global or system-level configuration files
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_CONFIG_NOSYSTEM
Meaning: Whether to skip reading settings from the system-wide $(prefix)/etc/gitconfig file.
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_TRACE
Meaning: Enables general trace messages, e.g. alias expansion, built-in command execution and external command execution.
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_TRACE_FSMONITOR
Meaning: Enables trace messages for the filesystem monitor extension
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_TRACE_PACK_ACCESS
Meaning: Enables trace messages for all accesses to any packs.
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_TRACE_PACKET
Meaning: Enables trace messages for all packets coming in or out of a given program.
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_TRACE_PACKFILE
Meaning: Enables tracing of packfiles sent or received by a given program.
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_TRACE_PERFORMANCE
Meaning: Enables performance related trace messages, e.g. total execution time of each Git command.
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_TRACE_REFS
Meaning: Enables trace messages for operations on the ref database.
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_TRACE_SETUP
Meaning: Enables trace messages printing the .git, working tree and current working directory after Git has completed its setup phase.
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_TRACE_SHALLOW
Meaning: Enables trace messages that can help debugging fetching / cloning of shallow repositories
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_TRACE_CURL
Meaning: Enables a curl full trace dump of all incoming and outgoing data, including descriptive information, of the git transport protocol.
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_TRACE_CURL_NO_DATA
Meaning: When a curl trace is enabled, do not dump data
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_TRACE2
Meaning: Enables more detailed trace messages from the "trace2" library.
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_TRACE2_EVENT
Meaning: This setting writes a JSON-based format that is suited for machine interpretation
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_TRACE2_PERF
Meaning: writes a column-based format for understanding nesting regions.
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_TRACE_REDACT
Meaning: Whether to redact sensitive fields
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables
Initialization: 1

Variable: GIT_REF_PARANOIA
Meaning: Whether to abort operations in case of broken or badly named refs during iteration over list of refs
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables
Initialization: 1

Variable: GIT_ALLOW_PROTOCOL
Meaning: Colon-separated list of allowed protocols
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_PROTOCOL
Meaning: internal only
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_OPTIONAL_lOCKS
Meaning: Whether to allow suboperation that require a lock, e.g. refreshing the index
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_REDIRECT_STDIN
Meaning: On windows, allow to redirect STDIN to this path
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_REDIRECT_STDOUT
Meaning: On windows, allow to redirect STDOUT to this path
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: GIT_REDIRECT_STDERR
Meaning: On windows, allow to redirect STDERR to this path
Page: https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison
Context: git
Section: environment variables

Variable: .git/objects/info/alternate
Meaning: Colon separated list of directories to search for object.
Page: https://git-scm.com/docs/gitrepository-layout
Context: git
Kind: file

Name: Unpacked object
Definition: An object that is stored as-is, without any packing with similar objects
Page: https://git-scm.com/docs/gitrepository-layout
Context: git
Kind: file
Name2: A loose object

Variable: .git/objects/pack
Meaning: git repository for packs
Page: https://git-scm.com/docs/gitrepository-layout
Context: git
Kind: directory

Variable: .git/objects/info
Meaning: directory for additional information in the object store
Page: https://git-scm.com/docs/gitrepository-layout
Context: git
Kind: directory

Name: The object store
Definition: The data structure on disk that encodes from hash to objects
Page: https://git-scm.com/docs/gitrepository-layout
Context: git
Kind: directory

Variable: .git/objects/info/packs
Meaning: help dumb transports discover what packs are available in this object store.
Page: https://git-scm.com/docs/gitrepository-layout
Context: git
Kind: file

Variable: .git/objects/info/alternates
Meaning: paths to alternate object stores that this object store borrows objects from, one pathname per line
Page: https://git-scm.com/docs/gitrepository-layout
Context: git
Kind: file

Variable: .git/objects/info/http-alternates
Meaning: records URLs to alternate object stores that this object store borrows objects from, to be used when the repository is fetched over HTTP.
Page: https://git-scm.com/docs/gitrepository-layout
Context: git
Kind: file

Variable: .git/refs/replace/sha
Meaning: the sha1 of the objects that should replace sha
Page: https://git-scm.com/docs/gitrepository-layout
Context: git
Kind: file

Variable: .git/common
Meaning: Files which are shared to all working tree, when multiple are used
Page: https://git-scm.com/docs/gitrepository-layout
Context: git
Kind: file

Variable: .git/index
Meaning: The current index file for the repository.
Page: https://git-scm.com/docs/gitrepository-layout
Context: git
Kind: directory
Assuming: not bare repo usually

Variable: .git/sharedindex.sha1
Meaning: The shared index part
Page: https://git-scm.com/docs/gitrepository-layout
Context: git
Kind: directory
Assuming: split-index mode

Variable: .git/info/refs
Meaning: helps dumb transports discover what refs are available in this repository
Page: https://git-scm.com/docs/gitrepository-layout
Context: git
Kind: file

Variable: .git/info/grafts
Meaning: records fake commit ancestry information, to pretend the set of parents a commit has is different from how the commit was actually created. One record per line describes a commit and its fake parents by listing their 40-byte hexadecimal object names separated by a space and terminated by a newline.
Page: https://git-scm.com/docs/gitrepository-layout
Context: git
Kind: file
Extra: Outdated. Uses replace instead

Variable: .git/info/exclude
Meaning: stores the exclude pattern list, even respected by porcelaine.
Page: https://git-scm.com/docs/gitrepository-layout
Context: git
Kind: file
Extra: some porcelaine ignore .gitignore

Variable: .git/info/attributes
Meaning: Defines which attributes to assign to a path, similar to per-directory
Page: https://git-scm.com/docs/gitrepository-layout
Context: git
Kind: file

Variable: .git/info/sparse-checkout
Meaning: stores sparse checkout patterns.
Page: https://git-scm.com/docs/gitrepository-layout
Context: git
Kind: file

Variable: .git/commondir
Meaning: Default value of GIT_COMMON_DIR
Page: https://git-scm.com/docs/gitrepository-layout
Context: git
Kind: file

Variable: core.repositoyformatversion
Meaning: The version of git repository to use.
Page: https://git-scm.com/docs/gitrepository-layout
Context: git

Variable: extension.noop
Meaning: Force use of repository version 1. Used for test only.
Page: https://git-scm.com/docs/gitrepository-layout
Context: git

Variable: extension.preciousObject
Meaning: whether obejcts in the repository must not be deleted
Page: https://git-scm.com/docs/gitrepository-layout
Context: git

Question: What occurs if a extensions.foo is defined and git don't know what it means
Answer: No operation should proceed (it risks destroying data that it don't know how to manipulates)
Page: https://git-scm.com/docs/gitrepository-layout
Context: git

Question: How to edit or unset a configuration that can take multiple values simultaneously
Answer: A regexp should indicates which value is modified or unset
Page: https://git-scm.com/docs/git-config
Context: git

Name: A section of part_1.part_2.....part_n
Definition: some part_i
Page: https://git-scm.com/docs/git-config
Variables: part_1.part_2.....part_n
Context: git

Instruction: [sectionName "subsectionName"]
Page: https://git-scm.com/docs/git-config
Effect: Start defining variables of sectionName.subsectionName
Context: git config

Instruction: include foo
Page: https://git-scm.com/docs/git-config
Effect: behaves as if the file foo was in the current file
Context: git config

Instruction: includeIf.<condition>.path
Page: https://git-scm.com/docs/git-config
Effect: If <condition> holds, behaves as if the file path was in the current file
Context: git config

Question: Todo (maybe)
Answer: git help
Page: https://git-scm.com/docs/git-help

Question: Todo (maybe)
Answer: git bugreport
Page: https://git-scm.com/docs/git-bugreport

Fla: --porcelain[=<version>]
Page: https://git-scm.com/docs/git-add
Prefix: git status
Print: output in an easy-to-parse format for scripts. This is similar to the short output, but will remain stable across Git versions and regardless of user configuration

Fla: --long
Effect: Give the output in the long-format.
Page: https://git-scm.com/docs/git-add
Prefix: git status
Extra: the default

Fla: --verbose
Page: https://git-scm.com/docs/git-add
Prefix: git status
Flag abbreviation: -v
Print: also show the textual changes that are staged to be committed

Fla: --verbose --verbose
Page: https://git-scm.com/docs/git-add
Prefix: git status
Flag abbreviation: -vv
Print: also show the changes in the working tree that have not yet been staged (i.e., like the output of git diff).

Fla: --untracked-files=no
Page: https://git-scm.com/docs/git-add
Prefix: git status
Flag abbreviation: -uno
Print: Don't show untracked files.
Extra: this is the default

Fla: --untracked-files=all
--untracked-files
Page: https://git-scm.com/docs/git-add
Prefix: git status
Flag abbreviation: -uall
-u
Print: show untracked directories and all untracked files, even in untracked directories

Fla: --untracked-files=normal
Page: https://git-scm.com/docs/git-add
Prefix: git status
Flag abbreviation: -unormal
Print: show untracked directories and all untracked files in tracked directories

Fla: --ignore-sumodule=none
Effect: onsider the submodule modified when it either contains untracked or modified files or its HEAD differs from the commit recorded in the superproject and can be used to override any settings of the ignore option in git-config[1] or gitmodules[5].
Page: https://git-scm.com/docs/git-add
Prefix: git status

Fla: --ignore-sumodule=untracked
Effect: submodules are not considered dirty when they only contain untracked content (but they are still scanned for modified content)
Page: https://git-scm.com/docs/git-add
Prefix: git status

Fla: --ignore-sumodule=dirty
Effect: ignores all changes to the work tree of submodules, only changes to the commits stored in the superproject are shown
Page: https://git-scm.com/docs/git-add
Prefix: git status

Fla: --ignore-sumodule=all
Effect: hides all changes to submodules
Page: https://git-scm.com/docs/git-add
Prefix: git status

Fla: --ignored=no
Page: https://git-scm.com/docs/git-add
Prefix: git status
Print: Show no ignored file

Fla: --ignored=matching
Page: https://git-scm.com/docs/git-add
Prefix: git status
Print: Shows ignored files and directories matching an ignore pattern.

Fla: --ignored=traditional
Page: https://git-scm.com/docs/git-add
Prefix: git status
Print: Shows ignored files and directories, unless --untracked-files=all is specified, in which case individual files in ignored directories are displayed.

Fla: -z
Effect: Terminate entries with NUL, instead of LF. This implies the --porcelain=v1 output format if no other format is given.
Page: https://git-scm.com/docs/git-add
Prefix: git status

Fla: --column=status
Effect: same as column.status: display utracked files in column
Page: https://git-scm.com/docs/git-add
Prefix: git status

Fla: --ahead-behind
Page: https://git-scm.com/docs/git-add
Prefix: git status
Print: display detailed ahead/behind counts for the branch relative to its upstream branch.

Fla: --no-ahead-behind
Page: https://git-scm.com/docs/git-add
Prefix: git status
Print: do not display detailed ahead/behind counts for the branch relative to its upstream branch.

Fla: --rename
Effect: turn on rename detection
Page: https://git-scm.com/docs/git-add
Prefix: git status

Fla: --no-rename
Effect: turn off rename detection
Page: https://git-scm.com/docs/git-add
Prefix: git status

Fla: --find-rename=n
Effect: set rename detection threshod to n
Page: https://git-scm.com/docs/git-add
Prefix: git status

Fla: todo
Page: https://git-scm.com/docs/git-notes
Prefix: git notes

Fla: --force
Effect: Force renaming or moving of a file even if the target exists
Page: https://git-scm.com/docs/git-mv
Prefix: git mv
Flag abbreviation: -f

Fla: -k
Effect: Skip move or rename actions which would lead to an error condition.
Page: https://git-scm.com/docs/git-mv
Prefix: git mv

Fla: --dry-run
Effect: Do nothing; only show what would happen
Page: https://git-scm.com/docs/git-mv
Prefix: git mv
Flag abbreviation: -n

Fla: --verbose
Effect: Report the names of files as they are moved.
Page: https://git-scm.com/docs/git-mv
Prefix: git mv
Flag abbreviation: -v

Fla: Todo
Page: https://git-scm.com/docs/git-submodule
Prefix: git module

Fla: todo
Page: https://git-scm.com/docs/git-apply
Prefix: git apply

Fla: --continue
Effect: Continue the operation in progress using the information in .git/sequencer
Page: https://git-scm.com/docs/git-revert
Prefix: git revert

Fla: --skip
Effect: Skip the current commit and continue with the rest of the sequence.
Page: https://git-scm.com/docs/git-revert
Prefix: git revert

Fla: --abort
Effect: Cancel the operation and return to the pre-sequence state.
Page: https://git-scm.com/docs/git-revert
Prefix: git revert

Fla: todo
Page: https://git-scm.com/docs/git-blame
Prefix: git blame

Fla: todo
Page: https://git-scm.com/docs/git-clean
Prefix: git clean

Fla: todo
Page: https://git-scm.com/docs/git-gc
Prefix: git gc

Fla: todo?
Page: https://git-scm.com/docs/git-fsck
Prefix: git fsck

Fla: instaweb
Effect: Instantly browse your working repository in gitweb
Page: https://git-scm.com/docs/git-filter-branch
Prefix: git

Fla: --local
Effect: only bind the web server to the local IP
Page: https://git-scm.com/docs/git-filter-branch
Prefix: git instaweb
Flag abbreviation: -l

Fla: --httpd
Effect: The HTTP daemon command-line that will be executed.
Page: https://git-scm.com/docs/git-filter-branch
Prefix: git instaweb
Flag abbreviation: -d

Fla: --module-path
Effect: The module path (only needed if httpd is Apache).
Page: https://git-scm.com/docs/git-filter-branch
Prefix: git instaweb
Flag abbreviation: -m

Fla: --port
Effect: The port number to bind the httpd to
Page: https://git-scm.com/docs/git-filter-branch
Prefix: git instaweb
Flag abbreviation: -p

Fla: --browser
Effect: The web browser that should be used to view the gitweb page.
Page: https://git-scm.com/docs/git-filter-branch
Prefix: git instaweb
Flag abbreviation: -b

Fla: start
--start
Effect: Start the httpd instance and exit. Regenerate configuration files as necessary for spawning a new instance.
Page: https://git-scm.com/docs/git-filter-branch
Prefix: git instaweb

Fla: stop
--stop
Effect: Stop the httpd instance and exit.
Page: https://git-scm.com/docs/git-filter-branch
Prefix: git instaweb

Fla: restart
--restart
Effect: Restart the httpd instance and exit.
Page: https://git-scm.com/docs/git-filter-branch
Prefix: git instaweb

Fla: todo
Page: https://git-scm.com/docs/git-archive
Prefix: git archive

Fla: todo
Page: https://git-scm.com/docs/git-bundle
Prefix: git bundle

Fla: todo
Page: https://git-scm.com/docs/git-daemon
Prefix: git daemon

Fla: update-server-info
Effect: Update auxiliary info file to help dumb servers
Page: https://git-scm.com/docs/git-update-server-info
Prefix: git

Fla: check-ignore <pathname>...
Effect: output 0 if at least one file is ignored, else 1
Page: https://git-scm.com/docs/git-check-ignore
Prefix: git
Print: show files matching <pathname>... that are ignored or excluded

Fla: --quiet
Page: https://git-scm.com/docs/git-check-ignore
Prefix: git
Flag abbreviation: -q
Print: Don’t output anything, just set exit status

Fla: --verbose
Page: https://git-scm.com/docs/git-check-ignore
Prefix: git
Flag abbreviation: -v
Print: also print not excluded files, preceding by a !

Fla: --stdin
Effect: Read pathnames from the standard input, one per line, instead of from the command-line.
Page: https://git-scm.com/docs/git-check-ignore
Prefix: git

Fla: -z
Effect: The output format is modified to be machine-parsable (see below).
Page: https://git-scm.com/docs/git-check-ignore
Prefix: git

Fla: --non-matching
Effect: Show given paths which don’t match any pattern.
Page: https://git-scm.com/docs/git-check-ignore
Prefix: git
Flag abbreviation: -n
Assuming: --verbose

Fla: --no-index
Effect: Don’t look in the index when undertaking the checks.
Page: https://git-scm.com/docs/git-check-ignore
Prefix: git
Assuming: --verbose

Fla: --human-readable
Effect: Print sizes in human readable format
Page: https://git-scm.com/docs/git-count-objects
Prefix: git count-objects
Flag abbreviation: -H

Fla: -t type
Effect: ensure the object is of type
Page: https://git-scm.com/docs/git-hash-object
Prefix: git hash-object

Fla: --stdin-paths
Effect: Read file names from the standard input, one per line, instead of from the command-line.
Page: https://git-scm.com/docs/git-hash-object
Prefix: git hash-object

Fla: --path
Effect: Hash object as it were located at the given path.
Page: https://git-scm.com/docs/git-hash-object
Prefix: git hash-object

Fla: --no-filters
Effect: Hash the contents as is, ignoring any input filter that would have been chosen by the attributes mechanism, including the end-of-line conversion.
Page: https://git-scm.com/docs/git-hash-object
Prefix: git hash-object

Fla: --literally
Effect: Allow --stdin to hash any garbage into a loose object which might not otherwise pass standard object parsing or git-fsck checks.
Page: https://git-scm.com/docs/git-hash-object
Prefix: git hash-object
Extra: Useful for stress-testing Git itself or reproducing characteristics of corrupt or bogus objects encountered in the wild.

Fla: merge-base commit0 <commits>...
Page: https://git-scm.com/docs/git-merge-base
Prefix: git
Print: a best common ancestor for commit0 and a merge of <commits>...

Fla: merge-base --octobus <commit>...
Page: https://git-scm.com/docs/git-merge-base
Prefix: git
Print: the best common ancestor of all commits

Fla: --independant <commit>.
Page: https://git-scm.com/docs/git-merge-base
Prefix: git merge-base
Print: print a minimal subset of the supplied commits with the same ancestors of <commit>s

Fla: --is-ancestor commit1 commit2
Effect: whether commit1 is ancestor or commit2 in return status
Page: https://git-scm.com/docs/git-merge-base
Prefix: git merge-base

Fla: --fork-point <ref>
Effect: Find the point at which a branch (or any history that leads to <commit>) forked from another branch (or any reference) <ref>.
Page: https://git-scm.com/docs/git-merge-base
Prefix: git merge-base

Fla: --all
Effect: Output all merge bases for the commits, instead of just one.
Page: https://git-scm.com/docs/git-merge-base
Prefix: git merge-base
Flag abbreviation: -a

Fla: todo
Page: https://git-scm.com/docs/git-read-tree
Prefix: git read-tree

Fla: todo
Page: https://git-scm.com/docs/git-show-ref
Prefix: git show-ref

Fla: todo
Page: https://git-scm.com/docs/git-symbolic-ref
Prefix: git symbolic-ref

Fla: todo
Page: https://git-scm.com/docs/git-update-index
Prefix: git update-index

Fla: todo
Page: https://git-scm.com/docs/git-update-ref
Prefix: git update-ref

Fla: --stat-only
Effect: Do not verify the pack contents; only show the histogram of delta chain length. With --verbose, list of objects is also shown.
Page: https://git-scm.com/docs/git-update-ref
Prefix: git verify-pack
Flag abbreviation: -s

Fla: --missing-ok
Effect: Normally git write-tree ensures that the objects referenced by the directory exist in the object database. This option disables this check.
Page: https://git-scm.com/docs/git-write-tree
Prefix: git write-tree

Fla: --prefix=<prefix>
Effect: Writes a tree object that represents a subdirectory <prefix>. This can be used to write the tree object for a subproject that is in the named subdirectory.
Page: https://git-scm.com/docs/git-write-tree
Prefix: git write-tree

Question: in git, in which orders are the element of the command line
Answer: git, verb, [options (i.e. flags) and their argument]*, arguments of the verb.
Page: https://git-scm.com/docs/gitcli

Question: in script, should you prefer git foo or git-foo
Answer: git foo
Page: https://git-scm.com/docs/gitcli

Question: in script, should you prefer `-ab` or `-a -b`
Answer: `-a -b`
Page: https://git-scm.com/docs/gitcli
Context: git

Name: An option in stuck form
Definition: An option without spaces. Using either -oArg or --option=Arg
Page: https://git-scm.com/docs/gitcli
Context: git

Fla: --no-foo
Effect: deactivate flag foo
Page: https://git-scm.com/docs/gitcli
Prefix: git

Instruction: !pattern
Page: https://git-scm.com/docs/gitignore
Effect: include files matching pattern (unless an ancestor directory was excluded)
Context: gitignore

Instruction: \ (escaped space)
Page: https://git-scm.com/docs/gitignore
Effect: represents a space in the pattern
Context: gitignore

Instruction: pattern ending with /
Page: https://git-scm.com/docs/gitignore
Effect: only directories are excluded
Context: gitignore

Instruction: pattern starting with /
Page: https://git-scm.com/docs/gitignore
Effect: match relative to the current level of .gitignore
Context: gitignore

Instruction: pattern containing / in the middle
Page: https://git-scm.com/docs/gitignore
Effect: match relative to the current level of .gitignore
Context: gitignore

Instruction: *
Page: https://git-scm.com/docs/gitignore
Effect: matches anything except /
Context: gitignore

Instruction: ?
Page: https://git-scm.com/docs/gitignore
Effect: matches a single character except /
Context: gitignore

Instruction: **/foo
Page: https://git-scm.com/docs/gitignore
Effect: match foo in all directories
Context: gitignore

Instruction: foo/**
Page: https://git-scm.com/docs/gitignore
Effect: match all content of foo
Context: gitignore

Instruction: foo/**/bar
Page: https://git-scm.com/docs/gitignore
Effect: match all bar in any subdirectory of a directory matching foo
Context: gitignore

Instruction: todo
Page: https://git-scm.com/docs/gitrevisions
Effect: git revisions

Name: Alternate object database
Definition: A database of obejct that is used by a git repo to read extra object on top of its default database
Page: https://git-scm.com/docs/gitglossary

Name: A chain
Definition: A list of objects, where each object in the list contains a reference to its successor
Page: https://git-scm.com/docs/gitglossary
Context: git
Example: the successor of a commit could be one of its parents

Name: Core git
Definition: Fundamental data structures and utilities of Git. Exposes only limited source code management tools.
Page: https://git-scm.com/docs/gitglossary
Context: git
Name2: Plumbing

Name: A dangling object
Definition: An unreachable object which is not reachable even from other unreachable objects; a dangling object has no references to it from any reference or object in the repository.
Page: https://git-scm.com/docs/gitglossary
Context: git

Name: detached HEAD
Definition: HEAD points to a commit directly instead of a branch
Page: https://git-scm.com/docs/gitglossary
Context: git

Name: dirty
Definition: A working tree which differs from the commit at HEAD
Page: https://git-scm.com/docs/gitglossary
Context: git

Name: A repository
Definition: A collection of refs together with an object database containing all objects which are reachable from the refs, possibly accompanied by meta data from one or more porcelains.
Page: https://git-scm.com/docs/gitglossary
Context: git
Name2: A git archive (on arch)

Name: Gitfile
Definition: A plain file .git at the root of a working tree that points at the directory that is the real repository.
Page: https://git-scm.com/docs/gitglossary
Context: git

Name: An index entry
Definition: The information regarding a particular file, stored in the index
Page: https://git-scm.com/docs/gitglossary
Context: git

Name: Checking-out
Definition: The action of updating all or part of the working tree with a tree object or blob from the object database, and updating the index and HEAD if the whole working tree has been pointed at a new branch.
Page: https://git-scm.com/docs/gitglossary
Context: git

Name: An object
Definition: The unit of storage in Git.
Page: https://git-scm.com/docs/gitglossary
Context: git
Denoted by: Its SHA-1

Name: An object database
Definition: A structure storing a set of object
Page: https://git-scm.com/docs/gitglossary
Context: git

Name: Origin
Definition: The default upstream repository.
Page: https://git-scm.com/docs/gitglossary
Context: git

Name: Overlay
Definition: Only update and add files to the working directory, but don’t delete them, similar to how cp -R would update the contents in the destination directory
Page: https://git-scm.com/docs/gitglossary
Context: git

Name: A pack index
Definition: The list of identifiers, and other information, of the objects in a pack, to assist in efficiently accessing the contents of a pack.
Page: https://git-scm.com/docs/gitglossary
Context: git

Name: A magic word
Definition: a word chaging how pathspec are interpreted
Page: https://git-scm.com/docs/gitglossary
Context: git pathspec

Instruction: :(
  magic_word_1,
  ...,
  magic_word_n
)path_pattern
Page: https://git-scm.com/docs/gitglossary
Effect: Intepreret path_pattern with options of magic_word_i's
Context: git pathspec

Instruction: top
Page: https://git-scm.com/docs/gitglossary
Effect: makes the pattern match from the root of the working tree, even when you are running the command from inside a subdirectory.
Context: git pathspec, magic word
Abbreviation: /

Instruction: icase
Page: https://git-scm.com/docs/gitglossary
Effect: case insensitive match
Context: git pathspec, magic word

Instruction: glob
Page: https://git-scm.com/docs/gitglossary
Effect: Git treats the pattern as a shell glob suitable for consumption by fnmatch
Context: git pathspec, magic word

Instruction: exclude
Page: https://git-scm.com/docs/gitglossary
Effect: After a path matches any non-exclude pathspec, it will be run through all exclude pathspecs. If it matches, the path is ignored. When there is no non-exclude pathspec, the exclusion is applied to the result set as if invoked without any pathspec.
Context: git pathspec, magic word
Abbreviation: ! or ^

Instruction: attributeName
Page: https://git-scm.com/docs/gitglossary
Effect: require attributeName to be set
Context: git pathspec, magic word

Instruction: -attributeName
Page: https://git-scm.com/docs/gitglossary
Effect: require attributeName to be not set
Context: git pathspec, magic word

Instruction: !attributeName
Page: https://git-scm.com/docs/gitglossary
Effect: require attributeName to be not specified
Context: git pathspec, magic word

Instruction: attributeName=Value
Page: https://git-scm.com/docs/gitglossary
Effect: require attributeName to be the string Value
Context: git pathspec, magic word

Name: A parent of commit
Definition: A predecessor of commit
Page: https://git-scm.com/docs/gitglossary
Variables: commit a commit
Context: git

Name: Pickaxe
Definition: An option to the diffcore routines that help select changes that add or delete a given text string. With the --pickaxe-all option, it can be used to view the full changeset that introduced or removed, say, a particular line of text.
Page: https://git-scm.com/docs/gitglossary
Context: git

Name: a pseudoref
Definition: class of files under $GIT_DIR which behave like refs for the purposes of rev-parse, but which are treated specially by git
Page: https://git-scm.com/docs/gitglossary
Context: git

Name: Pulling a branch
Definition: Fetching a branch ang merging it
Page: https://git-scm.com/docs/gitglossary
Context: git

Name: Pushing a branch
Definition: Getting the branch’s head ref from a remote repository, find out if it is an ancestor to the branch’s local head ref, and in that case, putting all objects, which are reachable from the local head ref, and which are missing from the remote repository, into the remote object database, and updating the remote head ref.
Page: https://git-scm.com/docs/gitglossary
Context: git

Name: An object reachable from o
Definition: An object o' such that there is a chain of reference from o to o'
Page: https://git-scm.com/docs/gitglossary
Variables: o an object
Context: git

Name: Rebasing
Definition: Reapply a series of changes from a branch to a different base, and reset the head of that branch to the result.
Page: https://git-scm.com/docs/gitglossary
Variables: o an object
Context: git

Name: A pseudo ref
Definition: A reference pointing to another reference
Page: https://git-scm.com/docs/gitglossary
Variables: o an object
Context: git

Name: Rewind
Definition: To throw away part of the development, i.e. to assign the head to an earlier revision.
Page: https://git-scm.com/docs/gitglossary
Context: git

Name: Source code management
Page: https://git-scm.com/docs/gitglossary
Context: git
Abbreviation: SCM

Name: Secure hash algorithm 1
Definition: a cryptographic hash function.
Page: https://git-scm.com/docs/gitglossary
Context: git
Abbreviation: SHA-1

Name: A shallow repository
Definition: A repository with an incomplete history.
Page: https://git-scm.com/docs/gitglossary
Context: git

Name: A tag object
Definition: An object containing a ref pointing to another object, which can contain a message just like a commit object
Page: https://git-scm.com/docs/gitglossary
Context: git

Name: A signed tag object
Definition: A tag object with a PGP signature
Page: https://git-scm.com/docs/gitglossary
Context: git

Name: A topic branch
Definition: A regular Git branch that is used by a developer to identify a conceptual line of development.
Page: https://git-scm.com/docs/gitglossary
Context: git

Name: A tree
Definition: A working tree
Page: https://git-scm.com/docs/gitglossary
Context: git
Conjdef: Either
Name2: A tree object with the dependent blob and tree objects

Name: A tree object
Definition: An object containing a list of file names and modes along with refs to the associated blob and/or tree objects.
Page: https://git-scm.com/docs/gitglossary
Context: git
Intuition: A directory, stored in git

Name: A tree-ish
Definition: A tree object or an object that can be recursively dereferenced to a tree object.
Page: https://git-scm.com/docs/gitglossary
Context: git
Definition2: Either a commit-ish, a tree object, a tag object that points to a tree-ish

Name: An unreachable object
Definition: An object which is not reachable from a branch tag or any other reference
Page: https://git-scm.com/docs/gitglossary
Context: git

Variable: p4-prepare-changelist
Meaning: executed right after preparing the default changelist message and before the editor is started
Page: https://git-scm.com/docs/gitglossary
Context: git

Name: Centralized version control system
Definition: A version control system with a main server, used to coordinate many users
Chapter: 1
Example: CSV
Example2: Subversion

Fla: todo
Effect: tag
Page: https://git-scm.com/docs/git-tag

Variable: range-diff
Meaning: todo
Page: https://git-scm.com/docs/git-range-diff