Index
A
Access control list (ACL)
Ancestry references
Attributes
binary files
export-ignore
export-subst
keyword expansion
merge strategies
Authorized_keys file
B
Branching
branch-management tools
branch pointer
checkout command
commit
snapshots
tree objects
git branch
hotfix branch
iss53 branch
long-running branches
master branch
merge command
rebasing
client and server branches
definition
drawbacks
onto option
rebase vs. merge
SHA checksum
topic branch
remote branches
cloning
delete option
fetch origin command
pull command
push command
remote add command
teamone/master server
tracking
switch branches
divergent history
HEAD pointer back
working directory
testing
topic branches
uncommitted changes
C
Centralized Version Control Systems (CVCSs)
Command-line Git
Commands
git add
git am
git apply
git archive
git bisect
git blame
git checkout
git cherry-pick
git clean
git clone
git commit
git config
git describe
git diff
git difftool
git fast-import
git fetch
git format-patch
git fsck
git gc
git grep
git help
git init
git log
git merge
git mergetool
git mv
git pull
git push
git rebase
git reflog
git remote
git request-pull
git reset
git revert
git rm
git send-email
git shortlog
git show
git stash
git status
git submodule
git svn
git tag
plumbing commands
Configuration settings
client configuration
commit.template
core.editor
core.excludesfile
core.pager
help.autocorrect
user.signingkey
colors
external diff tool
external merge tool
formatting and whitespace issues
core.autocrlf
core.whitespace
git config command
server configuration
receive.denyDeletes
receive.denyNonFastForwards
receive.fsckObjects
Credential storage system
Custom importing process
code implementation
commit metadata
deleteall command
directory structure
export_data method
inline_data method
print_export method
target directory
D
Debugging
binary search
file annotation
Distributed Version Control Systems (DVCSs)
E, F
Environment variables
commit object
debugging
diffing and merging
GIT_ASKPASS
GIT_FLUSH
GIT_NAMESPACE controls
GIT_REFLOG_ACTION
GIT_SSH
global behavior
network operations
pathspecs
repository locations
G
Git
adds data
aliases
in Bash
command line tools
commit history
configuration set up
checking
editor
identity
data recovery
data storage
base version
in Eclipse
help commands
installation
on Linux
on Mac
on windows
integrity
maintenance
overview
in Powershell
remote repositories
fetching
pulls down data
reading and writing
remove and rename
show command
remove objects
expire option
git verify-pack
ignore-unmatch option
rev-list command
size-pack entry
tree-filter option
repository
commit changes
existing directory
file movement
ignore files
lifecycle status
modified files
remove files
short status flag
skip staging area
staged and unstaged changes
status command
tracking files
states
tagging
annotated tags
lightweight tags
listing
updated rakefile commit
undo command
modified file
staged file
Visual Studio
VPN client
Zsh
Git Daemon
Git Grep search
GitHub
API
comment issues
commit status
GET request
gitignore template
email address
forking projects
Markdown
code snippets
emojis
images
quoting
tasklists
Octokit
organization management
Audit Log
menu items
organization page
team page
Pull Request
creation page
Cross references
discussion page
email notifications
line of code
merge conflicts
outdated diff
patches
repository creation (see Repository creation)
Services and Hooks
sign-up form
SSH access
Two-factor Authentication
webhook
configuration
workflow
your avatar
GitLab
administration interface
group administration screen
hooks
projects
remote command
users
working principles
Git log search
Git protocol
Git server
bare repository
hosted options
setting up
git-shell command
GitWeb
httpd option
stop option
VirtualHost
web-based visualizer
GPG
everyone signs
signing commits
signing tags
verification tags
Graphical interfaces
git-gui
Mac
windows
gitk
H
Hooks
ACL system
client-side
post-checkout
post-rewrite
pre-auto-gc
pre-push
commit message format
committing process
commit-msg
post-commit
pre-commit
email workflows
server-side
post-receive
pre-receive
update script
HTTP protocols
Dumb
cons method
pros method
Smart
SSH
I, J, K
Interactive commands
staging and unstaging files
staging patches
L
Libgit2
bindings
LibGit2Sharp
objective-git
Pygit2
ConfigError/ObjectError
ODB implementation
Rugged repository
Line log search
Local protocol
cons
URL
M, N
Mercurial repository
branches and bookmarks
gitignore file
git-remote-hg
log command
server-side repository
Merging
abort option
coflict check out
commit creation
diff format
file stages
ignore whitespace
merge commits
reset-hard
revert commit
merge log
recursive mode
submodules changes
subtree merge
O
Objects
cat-file command
hash-object command
Ruby mode
irb command
require command
zlib library
tree object
content structure
data model
read-tree command
update-index command
write-tree command
P, Q
Packfiles
Perforce server
Git Fusion
revision graph
SSL certificates
virtual machine
workflows
Git-p4
branching
clone command
setup
Plumbing commands
hash-object
update-index
Porcelain commands
Protocols
dumb protocol
HEAD reference
HTTP GET request
packfiles
smart protocol
download data
upload data
R
References
directory objects
HEAD file
remote directory
tags
Refspec
configuration file
delete references
push value
Replace command
commit-tree command
existing repository
master branch repository
onto argument
remote repository
SHAs upstream
truncated repository
Repository creation
collaborators
CONTRIBUTING file
dropdown
Notifications page
web notifications
project administration
default branch
Transfer ownership option
Pull Requests
fork and branch
ls-remote command
Merge button
thread
README file
Rerere functionality
Reset Demystified
checkout
path reset
reset command
move HEAD
recap
update index
squashing commit
three trees
HEAD
index
workflow diagrams
Revision Selection
ancestry references
branch references
range specifications
double-dot syntax
multiple points
triple-dot syntax
RefLog shortnames
SHA-1 values
single commits
Rewrite commits
filter-branch
e-mail address
subdirectory
last message
muliple messages
reordering commits
splitting
squashing
S
Secure Shell (SSH) protocols
public keys
Stashing
cleaning
creation
stash branch
unapply command
Submodules
abortion command
bundling
DbConnector directory
foreach command
issues
merging changes
publishing changes
upstream changes
Subversion server
annotation
merge commit
commits back
git svn command
git svn dcommit
git svn fetch
git svn rebase
ignore commands
server information
set up
style history
T, U
Team Foundation Server (TFS)
Team Foundation Version Control (TFVC)
features
Git-tf
Git-tfs
V
Version control system (VCS)
W, X, Y, Z
Workflows
$ git checkout-b featureB origin/master
$ git push-u myfork featureA
$ git remote add myfork (url)
$ git request-pull origin/master myfork
advantages
benefit of Git
centralized workflow
command-line program
Commit history after featureA working
contribution
dictator and lieutenants
feature
featureBv2 branch
fetch and merge origin/master
git fetch origin
git merge issue54
Git source code
guidelines
implementation
initial commit history
integration-manager
Jessica’s history
Jessica’s Machine
John’s divergent history
John’s history
managed-team basic sequence
origin/master syntax
project maintaining
$ git diff master
$ git log contrib-not master
$ git merge-base contrib masterc
build number generation
checking out remote branches
conflicted merge or rebase operation
large-merging workflows
limit-log-function.patch
merging workflows
rebasing and cherry picking workflow
rerere
shortlog
tagging releases
working
sequence of multiple-developer