Index
A
- --allow-empty option
- used, for creating empty commit / How to do it...
- --auto option / How to do it...
- 34ac2 branching point / Branch points
- a1b2c3 commit / The first parent, Cherry picking
- add -p/--patch option
- about / How to do it...
- Agile movement techniques / Split up features and tasks
- alias, Git
- about / Git aliases, How to do it..., How it works...
- aliases
- examples / More aliases, How to do it...
- ancestry references
- about / Ancestry references
- first parent / The first parent
- second parent / The second parent
- annotated tag / Creating a tag
- annotated tags
- about / Branches and tags, Annotated tags
- anonymous Git protocol
- about / Anonymous Git protocol
- Apache Subversion (SVN) / Understanding what happens under the hood
- archives
- creating, from tree / Creating archives from a tree, How to do it..., There's more…
- Atlassian SourceTree
- about /
- attribute macros
- defining / Defining attribute macros
- attributes
- setting up, for exporting archive / Attributes to export an archive, There's more…
- author
- versus committer / Predefined and user defined output formats
- authors
- mapping / Summarizing contributions
- autocompletion feature
- enabling / Autocompletion, How it works…
- for Linux users / Linux
- for mac users / Mac
- on Windows / Windows
- autocorrect, Git configuration
- about / Autocorrect, There's more...
- autocorrection
- about / Typos autocorrection
- automatic garbage collection
- switching off / Turning off automatic garbage collection, How to do it...
- autosquash feature, Git / Auto-squashing commits
- auto squashing
- commits / Auto-squashing commits , How to do it...
B
- bare repositories
- about / Bare repositories, Bare repositories
- regular repositories, converting to / Converting a regular repository to a bare one
- bare repository
- about / Back up your repositories as mirror repositories
- versus mirror repository / How to do it...
- bash prompt
- with status information / Bash prompt with status information, How it works…, See also
- basic configurations, Git
- about / Basic configurations
- typos autocorrection / Typos autocorrection
- push default / Push default
- default editor, defining / Defining the default editor
- beta software branch
- about / The develop branch
- binaries
- storing, to another location / Storing binaries elsewhere, How to do it..., How it works…
- binary files
- metadata, diffing / Metadata diff of binary files, How to do it..., How it works…
- identifying / Identifying binary files and end-of-line conversions
- binary handlers
- bisect command / Debugging with git bisect
- blame command
- Blob object
- about / Git objects
- blob object
- about / The blob object
- writing, to database / Writing a blob object to the database, How it works…
- branch
- anatomy / Anatomy of branches
- current branches, viewing / Looking at the current branches
- creating / Creating a new branch
- switching / Switching from branch to branch, Understanding what happens under the hood
- viewing / A bird's eye view to branches
- merging / Merging branches
- merging scenarios / Exercises, Scenario
- merged modifications / Deal with branches' modifications
- diffing / Diffing branches
- merge conflicts, resolving / Resolving merge conflicts
- pushing, to remote / Pushing a new branch to the remote
- about / Branches and tags
- rewinding / Discarding changes and rewinding branch
- branch, rebasing
- about / Rebasing a branch
- merge, versus rebase / Merge versus rebase
- types of rebase / Types of rebase
- advanced rebasing techniques / Advanced rebasing techniques
- branch.<name>.rebase configuration / Rebase and merge setup
- branch.autosetuprebase configuration / Rebase and merge setup
- branch changes
- discarding / Discarding changes and rewinding branch
- branch description
- using, in commit / Using a branch description in the commit message,
- branches
- local branches, managing / Managing your local branches, How to do it…, How it works…, There's more...
- remote branches / Branches with remotes, Getting ready, There's more...
- merging, with merge commit / Forcing a merge commit, How to do it..., There's more…
- merging, git rerere used / Using git rerere to merge known conflicts, How to do it…, There's more...
- differentiating / The difference between branches, How to do it…
- patches, creating from / Creating patches from branches, How to do it..., There's more…
- creating / Creating a new branch
- merging / Merging a branch (no conflicts)
- unpublished merge, undoing / Undoing an unpublished merge
- working with / Working with branches
- new branch, creating / Creating a new branch
- orphan branches, creating / Creating orphan branches
- selecting / Selecting and switching to a branch
- switching / Selecting and switching to a branch
- obstacles, switching to / Obstacles to switching to a branch
- anonymous branches / Anonymous branches
- Git checkout DWIM-mery / Git checkout DWIM-mery
- listing / Listing branches
- rewinding / Rewinding or resetting a branch
- resetting / Rewinding or resetting a branch
- deleting / Deleting a branch
- branch name, changing / Changing the branch name
- about / Types and purposes of branches
- types / Types and purposes of branches
- purposes / Types and purposes of branches
- long-lived branches / Long-running, perpetual branches
- short-lived branches / Short-lived branches
- workflows / Branching workflows and release engineering
- release engineering / Branching workflows and release engineering
- branches, interacting in remote repositories
- about / Interacting with branches in remote repositories
- upstream / Upstream and downstream
- downstream / Upstream and downstream
- refspec / Remote-tracking branches and refspec, Refspec – remote to local branch mapping specification
- remote-tracking branches / Remote-tracking branches
- fetching and pulling, versus pushing / Fetching and pulling versus pushing
- current branches, fetching / Pull – fetch and update current branch
- current branches, updating / Pull – fetch and update current branch
- current branches, pushing in nonbare remote repository / Pushing to the current branch in a nonbare remote repository
- default fetch refspec / The default fetch refspec and push modes
- push modes / The default fetch refspec and push modes, Push modes and their use
- fetching tags / Fetching and pushing branches and tags, Fetching tags and automatic tag following
- fetching branches / Fetching branches
- automatic tag following / Fetching tags and automatic tag following
- pushing branches / Pushing branches and tags
- pushing tags / Pushing branches and tags
- branches, merging
- about / Merging branches
- no divergence / No divergence – fast-forward and up-to-date cases
- merge commit, creating / Creating a merge commit
- merge strategies / Merge strategies and their options
- merge drivers / Reminder – merge drivers
- merges, signing / Reminder – signing merges and merging tags
- tags, merging / Reminder – signing merges and merging tags
- branch head / Working with branches
- rewinding / Rewinding the branch head, softly
- resetting / Resetting the branch head and the index
- branching
- branching workflow
- Bugfix / Deciding what to base your work on
- new feature / Deciding what to base your work on
- branch object
- about / The branch
- branch operation
- about / Branches and tags
- branch points
- about / Branch points
- branch references
- about / Branch and tag references
- bugs
- finding, with git bisect / Finding bugs with git bisect
- built-in attributes
- about / Other built-in attributes
- bunch of files
- committing / Committing a bunch of files
- bundle
- about / Offline transport with bundles
- used, for updating existing repository / Using bundle to update an existing repository
- utilizing / Utilizing bundle to help with the initial clone
- bundle command / How it works…
C
- --cached option
- about / How it works…
- -C option
- about / There's more…
- caret character / Ancestry references
- carriage return (CR) character / Formatting and whitespace
- cat-file command /
- about / The commit object
- using / How it works…
- cat cat-me.txt command / The blob object
- centralized workflow
- about / The centralized workflow, Pushing to a public repository
- advantages / The centralized workflow
- disadvantages / The centralized workflow
- centralized workflows
- about / Centralized workflows
- working / How they work
- changed files
- list, obtaining of / Getting a list of the changed files, How it works...
- changes
- searching, in revision / Searching changes in revisions
- including / Including, formatting, and summing up changes
- formatting / Including, formatting, and summing up changes
- summing up / Including, formatting, and summing up changes
- stashing away / Stashing away your changes
- integrating / Integrating changes
- submitting / Submitting and describing changes
- describing / Submitting and describing changes
- peer review, completing / The art of the change review
- changes, combining
- methods / Methods of combining changes
- changeset
- copying / Copying and applying a changeset
- applying / Copying and applying a changeset
- copy, creating / Cherry-pick – creating a copy of a changeset
- revert / Revert – undoing an effect of a commit
- series of commits, applying from patches / Applying a series of commits from patches
- cherry-picking / Cherry-picking and reverting a merge
- merge, reverting / Cherry-picking and reverting a merge
- changes examining, commit
- about / Examining the changes to be committed
- working directory, status / The status of the working directory
- changes to be committed / The status of the working directory
- changes not staged for commit / The status of the working directory
- untracked files / The status of the working directory
- differences, examining / Examining differences from the last revision
- unified diff output format / Unified Git diff format
- changes upstream
- publishing / Publishing your changes upstream
- cherry picking activity / Cherry picking
- child / Directed Acyclic Graphs
- chunk
- about / Configuring diff output
- clean command
- about / How to do it...
- clean filter / How to do it...
- client-side hooks
- about / Automating Git with hooks
- commit process hooks / Commit process hooks
- for applying patches from e-mails / Hooks for applying patches from e-mails
- pre-rebase hook / Other client-side hooks
- pre-push hook / Other client-side hooks
- post-checkout hook / Other client-side hooks
- post-merge hook / Other client-side hooks
- clone command / How to do it…
- Cmder
- about /
- URL, for downloading /
- code review (code collaboration) tool
- about / Tools to manage Git repositories
- code reviews
- about / Submitting pull requests
- collaborative workflows
- about / Collaborative workflows
- centralized workflow / The centralized workflow
- peer-to-peer workflow / The peer-to-peer or forking workflow
- integration-manager workflow / The maintainer or integration manager workflow
- hierarchical workflow / The hierarchical or dictator and lieutenants workflows
- combined diff format / Examining differences – the combined diff format
- command line
- about / Git on the command line
- command substitution / Triple-dot notation
- comments
- responding to / Responding to reviews and comments
- commit
- anatomy / Anatomy of a commit
- author /
- e-mail /
- date /
- reference link / Conclusions
- tagging, in repository / Tagging commits in the repository, Getting ready, How to do it..., There's more...
- branch description, using in / Using a branch description in the commit message,
- push, preventing / Preventing the push of specific commits, How to do it..., There's more...
- undoing / Undo – remove a commit completely, How to do it..., How it works…
- resetting / Undo – remove a commit and retain the changes to files, How to do it...
- undoing, while retaining changes in staging area / Undo – remove a commit and retain the changes in the staging area, How to do it..., How it works…
- redo / Redo – recreate the latest commit with new changes, How to do it...
- changes, reverting / Revert – undo the changes introduced by a commit, How to do it..., How it works...
- creating / Creating a new commit
- DAG view / The DAG view of creating a new commit
- index / The index – a staging area for commits
- changes, examining / Examining the changes to be committed
- selective commit / Selective commit
- amending / Amending a commit, Removing or amending a commit
- removing / Removing or amending a commit
- splitting, with reset command / Splitting a commit with reset
- reverting / Reverting a commit
- faulty merge, reverting / Reverting a faulty merge
- reverted merges, recovering / Recovering from reverted merges
- commit-msg hook
- about / Commit process hooks
- commit contents
- matching / Matching commit contents
- commit hash
- about /
- commit message
- external information, using / Using external information in the commit message, How to do it...
- commit messages
- about / Commit messages
- writing, before coding / Write commit messages before starting to code
- grepping / Grepping the commit messages, How to do it...
- commit message template
- commit object
- about / The commit object, Git objects
- creating, stages /
- writing, to database / Writing a commit object to the database, How it works…
- commit parents
- about / Commit parents
- commit process hooks
- about / Commit process hooks
- pre-commit hook / Commit process hooks
- prepare-commit-msg hook / Commit process hooks
- commit-msg hook / Commit process hooks
- post-commit hook / Commit process hooks
- commits
- finding, in history / Finding commits in history, There's more...
- rebasing, to another branch / Rebasing commits to another branch, How it works
- squashing, interactive rebase used / Squashing commits using an interactive rebase, How to do it..., There's more…
- author changing, rebase used / Changing the author of commits using a rebase, How to do it..., How it works...
- auto squashing / Auto-squashing commits , How to do it...
- about / Directed Acyclic Graphs
- squashing, with reset command / Squashing commits with reset
- moving, to feature branch / Moving commits to a feature branch
- commit snapshot
- about /
- commit template
- setting up / Setting up and using a commit template, How to do it...
- using / Getting ready, How to do it...
- committer
- versus author / Predefined and user defined output formats
- committing
- about / The art of committing
- right commit, building / Building the right commit, Make only one change per commit, Split up features and tasks, Write commit messages before starting to code, Include the whole change in one commit, Don't be afraid to commit, Isolate meaningless commits, Adding bulleted details lines, when needed, Conclusions
- commit tools
- about / Types of graphical tools
- commit walker downloader / Local transport
- Common Vulnerabilities and Exposures (CVE) / Matching commit contents
- about / Writing a good commit message
- configuration, Git
- querying / Querying the existing configuration,
- rebase and merge setup / Getting ready, Rebase and merge setup
- object expiry / Expiry of objects
- autocorrect / Autocorrect, There's more...
- configuration, GLOBAL layer / Configuration targets,
- configuration, LOCAL layer / Configuration targets,
- configuration, SYSTEM layer / Configuration targets,
- configuration architecture, Git / Configuration architecture
- configuration files, Git
- editing, manually / Editing configuration files manually
- configuration levels, Git
- about / Configuration levels
- system level / System level
- global level / Global level
- repository level / Repository level
- configurations, Git
- listing / Listing configurations
- configuration variables, Git
- reference link / Other configurations
- conflicts
- resolving, by removing file / Resolving conflicts by removing the file
- content-addressed storage / Content-addressed storage
- Continuous Delivery structure / The GitHub flow
- contributions
- summarizing / Summarizing contributions
- Coordinated Universal Time (UTC)
- about / Git objects
- credential helpers
- about / Credential helpers
- credentials
- about / Credentials/password management
- credentials/password management
- about / Credentials/password management
- asking for password / Asking for passwords
- public key authentication, for SSH / Public key authentication for SSH
- credential helpers / Credential helpers
- credentials helpers
- current push mode
- current variable / Getting ready
D
- --diff-filter=DA option / How to do it…
- d0dd1f61 commit / Tracing changes in a file
- DAG
- about / Viewing the DAG
- viewing /
- dangling commit / How it works…
- database
- blob object, writing to / Writing a blob object to the database, How it works…
- tree object, writing to / Writing a tree object to the database, How it works…
- commit object, writing to / Writing a commit object to the database, How it works…
- data model, Git / Introduction
- data recovery
- about / Data recovery and troubleshooting
- lost commit, recovering / Recovering a lost commit
- default branch
- setting, of remote / Setting the default branch of remote
- descriptioInCommit branch
- about /
- detached HEAD situation
- about / Branches and tags
- develop branch, GitFlow / The develop branch
- development workflows
- augmenting / Augmenting development workflows
- diff
- revision range notation, using in / Triple-dot notation
- diff-tree command
- using / How to do it...
- diff command
- about / There's more…
- diff configuration
- about / Diff and merge configuration
- diffing binary files / Generating diffs and binary files
- diff output
- configuring / Configuring diff output
- diff utility
- URL / Diffing branches
- Directed Acyclic Graph (DAG)
- about / Directed Acyclic Graphs
- directed edges / Directed Acyclic Graphs
- directed graph
- about / Directed Acyclic Graphs
- directories
- examining / Examining files and directories
- distributed version control systems / An introduction to version control and Git
- distributed version control systems (DVCS)
- about / Directed Acyclic Graphs
- double dot notation / Double dot notation
- do what I mean (DWIM)
- Do What I Mean (DWIM) / Git checkout DWIM-mery
- downloaded remote changes
- applying / Applying downloaded changes
- dumb protocols
- about / Dumb protocols
E
- Easy Git (eg) / Alternative command line
- end-of-line conversions
- identifying / Identifying binary files and end-of-line conversions
- end of line (eol) characters / Identifying binary files and end-of-line conversions
- env-filter
- about / There's more…
- environment configurations, Git
- environment variables
- affecting global behavior / Environment variables affecting global behavior
- affecting repository locations / Environment variables affecting repository locations
- affecting committing / Environment variables affecting committing
- exif-diff filter / How to do it...
- exiftool diff filter
- setting up / How to do it...
- external information
- using, in commit message / Using external information in the commit message, How to do it...
- external tools
- for large-scale history rewriting / External tools for large-scale history rewriting
- eXtreme Programming
- URL / Submitting pull requests
F
- --format=<format> option / There's more…
- failed merges
- examining / Examining failed merges
- conflict markers, in worktree / Conflict markers in the worktree
- three stages, in index / Three stages in the index
- differences, examining / Examining differences – the combined diff format
- git log / How do we get there: git log --merge
- feature branch
- commits, moving to / Moving commits to a feature branch
- about / Working on a topic branch
- feature branches, GitFlow / The feature branches
- feature branch workflow
- about / Feature branch workflow
- file
- unstaging / Unstaging a file
- committing to Subversion, with Git as client / Committing a file to Subversion using Git as a client
- sensitive data, removing from / Rewriting history – changing a single file, How it works…
- adding / Interactive add, How to do it..., There's more…
- file attributes
- checking / Checking the attributes of a file, How to do it...
- about / File attributes
- file contents
- searching / Searching file contents
- file history
- about / History of a file
- path limiting / Path limiting
- simplification / History simplification
- file identity / Blame – the line-wise history of a file
- file information
- displaying / Displaying the file information, How to do it..., There's more…
- file manager integration (or graphical shell integration)
- about / Types of graphical tools
- files
- ignoring / Ignoring some files and folders by default, Ignoring files, How to do it..., There's more…, See also…, Ignoring files, Which types of file should be ignored?
- viewing, at revision / Viewing a revision and a file at revision
- un-tracking / Ignoring files, Un-tracking, un-staging, and un-modifying files
- re-tracking / Ignoring files
- marking, as intentionally untracked (ignored) / Marking files as intentionally untracked
- transforming / Transforming files (content filtering)
- examining / Examining files and directories
- un-staging / Un-tracking, un-staging, and un-modifying files
- un-modifying / Un-tracking, un-staging, and un-modifying files
- resetting, to old version / Resetting a file to the old version
- removing from history, with BFG Repo Cleaner / Removing files from the history with BFG Repo Cleaner
- file statuses
- about /
- untracked /
- unmodified /
- staged /
- modified /
- file status life cycle
- Filesystem Hierarchy Standard (FHS) / Git configuration files
- filter-branch
- running, without filters / Running the filter-branch without filters
- filter-branch command / Introduction
- filters
- filter types
- used, for filter-branch / Available filter types for filter-branch and their use
- using / Available filter types for filter-branch and their use
- fixed issues
- extracting / Extracting fixed issues,
- folders
- ignoring / Ignoring some files and folders by default
- foreign SCM repositories
- using, as remotes / Using foreign SCM repositories as remotes
- forking
- about / Forking a repository
- forks
- about / Forking a repository
- fsck command
- used, for searching lost changes / Finding lost changes with git fsck, Getting ready, How to do it..., How it works...
- about / Finding lost changes with git fsck
G
- --global
- about / How to do it...
- .gitignore
- about / Ignoring files
- .gitignore file
- URL, for syntax / Ignoring some files and folders by default
- .gitignore templates
- reference link / Which types of file should be ignored?
- garbage collection
- manually running / Running garbage collection manually, How to do it..., How it works…
- gc.pruneexpire / Expiry of objects
- gc.reflogexpire / Expiry of objects
- gc.reflogexpireunreachable / Expiry of objects
- Gerrit
- Gerrit Code Review
- about / How it works…
- Git
- about / Installing Git, Working with remotes, Branches and tags
- installing / Installing Git
- references, for downloading / Installing Git
- configuration levels / Configuration levels, System level
- used, for working on Subversion repository / Working on a Subversion repository using Git
- Subversion repository, cloning from / Cloning a Subversion repository from Git
- using, with Subversion repository / Using Git with a Subversion repository
- learning, in visual manner / Learning Git in a visual manner
- data model / Introduction
- objects / Git's objects, Getting ready
- three stages, for creating commit object /
- existing configuration, querying / Querying the existing configuration,
- alias / Git aliases, How to do it..., How it works...
- clean filter / How to do it...
- smudge filter / How to do it...
- environment variables, using / Environment variables used by Git
- troubleshooting / Troubleshooting Git
- Git, automating
- about / Automating Git with hooks
- Git hook, installing / Installing a Git hook
- template, for repositories / A template for repositories
- client-side hooks / Client-side hooks
- server-side hooks / Server-side hooks
- Git, extending
- about / Extending Git
- command aliases / Command aliases for Git
- new commands, adding / Adding new Git commands
- remote helpers / Credential helpers and remote helpers
- credentials helpers / Credential helpers and remote helpers
- Git, on command line
- about / Git on the command line
- Git-aware command prompt / Git-aware command prompt
- command-line completion, for Git / Command-line completion for Git
- auto correction, for Git commands / Autocorrection for Git commands
- command line, customizing / Making the command line prettier
- alternative porcelain / Alternative command line
- Git, on Internet
- about / Git on the Internet
- Git community, on Google+ / Git community on Google+
- GitMinutes / GitMinutes and Thomas Ferris Nicolaisen's blog
- Thomas Ferris Nicolaisen blog / GitMinutes and Thomas Ferris Nicolaisen's blog
- Ferdinando Santacroce's blog / Ferdinando Santacroce's blog
- git-annex handler
- URL / See also
- git-bin handler
- URL / See also
- Git-enforced policy
- implementing, hooks used / Using hooks to implement the Git-enforced policy
- enforcing, with server-side hooks / Enforcing the policy with server-side hooks
- policy violations, notifying with client-side hooks / Early notices about policy violations with client-side hooks
- Git-flow
- git-media handler
- URL / See also
- git-media tool
- reference link / Obligatory file transformations
- Git actions
- viewing, with git reflog / Viewing past Git actions with git reflog, How to do it..., How it works...
- git add command / Interactive add
- Git aliases / Typing is boring – Git aliases
- about / Git aliases
- shortcut, to common commands / Shortcuts to common commands
- commands, creating / Creating commands
- git unstage / git unstage
- git undo / git undo
- git last / git last
- git difflast / git difflast
- advanced aliases, with external commands / Advanced aliases with external commands
- removing / Removing an alias
- git command, aliasing / Aliasing the git command itself
- configuring, with git config / How to do it...
- using / How to do it..., How it works...
- git am command / How it works…, There's more…
- git apply command / There's more…
- git archive command / Archiving the repository
- gitattributes / Unified Git diff format
- Git attributes file
- git bisect
- bugs, finding with / Finding bugs with git bisect
- git bisect command
- about / Debugging with git bisect
- debugging with / Debugging with git bisect, Getting ready, How to do it..., There's more…
- git blame command / Tracing changes in a file
- git branch command
- about / There's more...
- Git bundle
- using / Using a Git bundle, How to do it…, There's more…
- git bundle command / Bundling the repository, Creating Git bundles
- Git bundles
- creating / Creating Git bundles, How to do it...
- Git by example / Git by example
- git cat-file -p command /
- git cherry-pick command / Cherry picking
- git clone command / Converting a regular repository to a bare one
- git command / Sending patches
- Git command, running
- about / Running our first Git command
- new repository, setting up / Setting up a new repository
- text file, creating /
- added file, committing /
- committed file, modifying /
- Git commands
- versus Subversion commands / Comparing Git and Subversion commands
- git commit --amend --reset-author / How to do it...
- Git community, on Google+
- URL / Git community on Google+
- git config
- used, for configuring Git aliases / How to do it...
- git config command / Configuration architecture
- about / How it works…
- git config file
- about / How it works…
- git config rebase.autosquash true / How to do it...
- Git configuration
- dissecting / Dissecting the Git configuration
- architecture / Configuration architecture
- about / Configuring Git
- command-line options / Command-line options and environment variables
- environment variables / Command-line options and environment variables
- configuration files / Git configuration files
- configuration files syntax / The syntax of Git configuration files
- accessing / Accessing the Git configuration
- basic client-side configuration / Basic client-side configuration
- merge / The rebase and merge setup, configuring pull
- pull, configuring / The rebase and merge setup, configuring pull
- undo information, preserving / Preserving undo information – the expiry of objects
- formatting / Formatting and whitespace
- whitespace / Formatting and whitespace
- server-side configuration / Server-side configuration
- per-file configuration, with gitattributes / Per-file configuration with gitattributes
- git describe command /
- git diff command
- about / How it works...
- git difflast alias
- about / git difflast
- git directory
- about / The working directory
- git fetch command / Checking for modifications and downloading them
- about / There's more...
- git filter-branch
- git filter-branch command
- about / How it works…
- env-filter / There's more…
- tree-filter / There's more…
- msg-filter / There's more…
- subdirectory-filter / There's more…
- filter types, defining / Available filter types for filter-branch and their use
- GitFlow
- about / GitFlow
- reference link, for blog post / GitFlow
- master branch / The master branch
- hotfixes branches / Hotfixes branches
- develop branch / The develop branch
- release branch / The release branch
- feature branches / The feature branches
- conclusions / Conclusion
- GitFlow commands
- reference link / Conclusion
- git format-patch command / There's more…
- git gc command / Running garbage collection manually, How it works…
- Git GUI
- about /
- interactive add, using with / Interactive add with Git GUI, How to do it...
- Git GUI, for Linux
- URL / Linux
- Git GUI clients
- about / Git GUI clients
- Windows / Windows
- Mac OS X / Mac OS X
- Linux / Linux
- Git hook
- installing / Installing a Git hook
- Git hosting solutions
- about / Tools to manage Git repositories
- GitHub
- about / Working with remotes
- URL / Setting up a new GitHub account
- local repository, publishing to / Going backward: publish a local repository to GitHub
- GitHub account
- setting up / Setting up a new GitHub account
- GitHub flow
- about / The GitHub flow
- reference link / The GitHub flow, Conclusions
- rules / The GitHub flow, Pushing to named branches constantly, Conclusions
- GitHub for Windows /
- gitignore files
- gitignore templates
- Git internals
- defining / An introduction to Git internals
- Git objects / Git objects
- plumbing command / The plumbing and porcelain Git commands
- porcelain command / The plumbing and porcelain Git commands
- Gitk
- history, viewing with / Viewing history with Gitk, How it works...
- git last alias
- about / git last
- git log command / Viewing the history, Viewing the DAG, Searching through history code, Extracting the top contributor
- about /
- git ls-tree command /
- git merge command / Cherry picking
- GitMinutes
- git push command / What do I send to the remote when I push?, Push default
- Git Queues(gq) / Alternative command line
- Git Quilt (Guilt)
- git rebase --interactive
- running / How to do it...
- git rebase -continue
- used, for continuing rebase / Continuing a rebase with merge conflicts, How to do it, How it works
- git rebase -i command / How to do it...
- Git references
- about / Git references
- symbolic references / Symbolic references
- ancestry references / Ancestry references
- Git remote
- about / Working with remotes
- Git repositories
- managing / Managing large Git repositories
- hosting / Git on the server
- server-side hooks / Server-side hooks
- hooks, for implementing Git-enforced policy / Using hooks to implement the Git-enforced policy
- signed pushes / Signed pushes
- serving / Serving Git repositories
- local protocol / Local protocol
- SSH protocol / SSH protocol
- anonymous Git protocol / Anonymous Git protocol
- smart HTTP(S) protocol / Smart HTTP(S) protocol
- dumb protocols / Dumb protocols
- remote helpers / Remote helpers
- tools, for managing / Tools to manage Git repositories
- tips and tricks, for hosting / Tips and tricks for hosting repositories
- Git repositories, handling with large binary files
- about / Handling repositories with large binary files
- binary asset folder, splitting into seperate submodule / Splitting the binary asset folder into a separate submodule
- large binary files, storing outside repository / Storing large binary files outside the repository
- Git repositories, handling with long history
- about / Handling repositories with a very long history
- shallow clones, using / Using shallow clones to get truncated history
- single branch, cloning / Cloning only a single branch
- Git repository management solutions
- about / Tools to manage Git repositories
- git rerere
- used, for merging branches / Using git rerere to merge known conflicts, How to do it…, There's more...
- about / Using git rerere to merge known conflicts
- git reset command /
- Git scripts
- configuring / Configuring and using Git scripts, How to do it...
- using / How to do it...
- git send-email command / Sending patches, There's more…
- git show command / Tracing changes in a file,
- about / There's more...
- git stash
- git stash command / Using git stash, There's more…
- git stash list command / How to do it...
- git status command
- about / There's more…
- Git submodules solution
- git submodule command / Gitlinks, .git files, and the git submodule command
- .git files / Gitlinks, .git files, and the git submodule command
- subproject, adding as submodule / Adding a subproject as a submodule
- superprojects, cloning with submodules / Cloning superprojects with submodules
- submodules, updating after superproject changes / Updating submodules after superproject changes
- changes, examining in submodule / Examining changes in a submodule
- updates, from upstream of submodule / Getting updates from the upstream of the submodule
- submodule changes upstream, sending / Sending submodule changes upstream
- git subtree command / See also
- git tag command
- about / How to do it...
- Git tags / Highlighting an important commit – Git tags
- Subversion tags, converting to /
- git undo alias
- about / git undo
- git unstage alias
- about / git unstage
- GIT_PS1_DESCRIBE_STYLE variable
- about / How it works…
- GIT_PS1_SHOWDIRTYSTATE variable
- about / How it works…
- GIT_PS1_SHOWSTASHSTATE variable
- about / How it works…
- GIT_PS1_SHOWUNTRACKEDFILES variable
- about / How it works…
- GIT_PS1_SHOWUPSTREAM variable
- about / How it works…
- GLOBAL layer
- configuring / Configuration targets,
- GNU Portability Library (Gnulib) / Performing a 3-way merge
- Gradle / Submodule versus subtree merging
- graduation branches workflow
- graphical blame
- about / Types of graphical tools
- graphical history viewer
- about / Types of graphical tools
- graphical interface, Git
- about / Graphical interfaces
- graphical tools / Types of graphical tools
- graphical diff tools / Graphical diff and merge tools
- graphical merge tools / Graphical diff and merge tools
- examples / Graphical interface examples
- graphical tools
- graphical history viewer / Types of graphical tools
- graphical blame / Types of graphical tools
- commit tools / Types of graphical tools
H
- hard reset / Undo – working with a dirty area
- hash-object command
- using / How to do it..., How it works…
- HEAD command
- about / HEAD – the implicit revision
- FETCH_HEAD / HEAD – the implicit revision
- ORIG_HEAD / HEAD – the implicit revision
- HEAD pointer
- about / Branches and tags
- helpers mechanism
- hierarchical workflow
- history
- viewing, with Gitk / Viewing history with Gitk, How it works...
- commits, finding in / Finding commits in history, There's more...
- searching / Searching history
- rewriting / Rewriting history, Rewriting history and notes
- last commit, amending / Amending the last commit
- interactive rebase / An interactive rebase
- history, viewing of repository
- about / Viewing the history
- commit, anatomy / Anatomy of a commit
- bunch of files, committing / Committing a bunch of files
- important commit, highlighting / Highlighting an important commit – Git tags
- history, without rewriting
- amending / Amending history without rewriting
- history code
- searching through / Searching through history code, How it works..., There's more...
- hook
- about / Automating Git with hooks
- client-side hooks / Automating Git with hooks
- server-side hooks / Automating Git with hooks
- pre hooks / Automating Git with hooks
- post hooks / Automating Git with hooks
- hotfixes branches, GitFlow / Hotfixes branches
I
- --ignore-unmatch option
- about / How it works…
- --include-untracked option / There's more…
- --index-filter option / How to do it...
- --index option / There's more…
- -i option
- about / How to do it...
- IDE integration
- about / Types of graphical tools
- ignored files
- ignore patterns / Adding files in bulk and removing files
- index / The index – a staging area for commits
- about / Ignoring files
- resetting / Resetting the branch head and the index
- index on master / How it works…
- information
- updating, of remotes / Updating information about remotes
- installation, Git / Installing Git
- integration branches / The graduation, or progressive-stability branches workflow
- integration manager workflow
- about / The maintainer or integration manager workflow
- advantages / The maintainer or integration manager workflow
- disadvantages / The maintainer or integration manager workflow
- interactive add
- starting / Interactive add, How to do it..., There's more…
- with Git GUI / Interactive add with Git GUI, How to do it...
- interactive rebase / Amending a commit, Squashing commits with reset
- used, for squashing commits / Squashing commits using an interactive rebase, How to do it..., There's more…
- about / An interactive rebase
- commits, reordering / Reordering, removing, and fixing commits
- commits, removing / Reordering, removing, and fixing commits
- commits, fixing / Reordering, removing, and fixing commits
- commits, squashing / Squashing commits
- commits, splitting / Splitting commits
- rebased commit, testing / Testing each rebased commit
J
- JGit project
- about / Extracting fixed issues
- JGit repository
- cloning /
- splitting / Getting ready, How to do it..., How it works…, There's more…
- jgit repository
- cloning /
K
- keyword expansion
- filters, creating with attribute functionality / Keyword expansion with attribute filters, How to do it..., How it works…, There's more…
- keyword substitution / Keyword expansion and substitution
L
- -l option / How to do it...
- layers
- LOCAL layer / Configuration targets
- SYSTEM layer / Configuration targets
- GLOBAL layer / Configuration targets
- leaf nodes / Directed Acyclic Graphs
- LearnGitBranching
- lib_a file
- about / How to do it...
- lib_a_master branch / How to do it...
- lieutenants
- lightweight tag
- line-ending / Formatting and whitespace
- Linus branch
- about / The Linux kernel workflow
- Linux
- about / Linux
- Linux kernel workflow
- about / The Linux kernel workflow
- list
- obtaining, of changed files / Getting a list of the changed files, How it works...
- list of branches
- modifying, tracked by node / Changing the list of branches tracked by remote
- local branch
- pushing, to remote repository / Pushing a local branch to a remote repository
- local branches
- LOCAL layer
- configuring / Configuration targets,
- local protocol
- about / Local protocol
- local repository
- publishing, to GitHub / Going backward: publish a local repository to GitHub
- remote, adding to / Adding a remote to a local repository
- local Subversion repository
- creating / Creating a local Subversion repository
- local Subversion server
- setting up /
- local transport
- about / Local transport
- long-lived branches
- integration / Integration, graduation, or progressive-stability branches
- graduation / Integration, graduation, or progressive-stability branches
- progressive-stability / Integration, graduation, or progressive-stability branches
- per-release branches / Per-release branches and per-release maintenance
- per-release maintenance / Per-release branches and per-release maintenance
- hotfix branches / Hotfix branches for security fixes
- per-deployment branches / Per-customer or per-deployment branches
- per-customer branches / Per-customer or per-deployment branches
- automation branches / Automation branches
- mob branches, for anonymous push access / Mob branches for anonymous push access
- orphan branch trick / The orphan branch trick
- lost changes
- searching, with git fsck / Finding lost changes with git fsck, Getting ready, How to do it..., How it works...
- ls-files command
- ls-tree command
- using / How to do it...
M
- -M option
- about / There's more…
- Mac OS X
- about / Mac OS X
- main branches / GitFlow
- maint branch / Branch points
- management of remotes
- about / Types of graphical tools
- man pages
- about / The staging area
- Markdown
- master branch / How to do it..., Branch points
- about / How to do it...
- master branch, GitFlow / The master branch
- matching push mode
- Maven / Submodule versus subtree merging
- meaningless commits
- isolating / Isolate meaningless commits
- merge
- undoing / Undoing a merge or a pull
- merge commit
- forcing, for merging branches / Forcing a merge commit, Getting ready, How to do it..., There's more…
- merge commits
- reverting / Reverting a merge, Getting ready, How to do it..., There is more...
- about / Merge commits
- merge configuration
- about / Diff and merge configuration
- merge conflict, resolving
- about / Resolving a merge conflict
- files, adding in bulk / Adding files in bulk and removing files
- files, removing / Adding files in bulk and removing files
- file changes, undoing / Undoing changes to a file
- merge conflicts
- resolving / Resolving merge conflicts, Resolving merge conflicts
- collisions, editing / Edit collisions
- about / Resolving merge conflicts
- three-way merge / The three-way merge
- failed merges, examining / Examining failed merges
- avoiding / Avoiding merge conflicts
- merge options / Useful merge options
- rerere (reuse recorded resolutions) / Rerere – reuse recorded resolutions
- dealing with / Dealing with merge conflicts
- merge, aborting / Aborting a merge
- version, selecting / Selecting ours or theirs version
- manual file remerging / Scriptable fixes – manual file remerging
- scriptable fixes / Scriptable fixes – manual file remerging
- graphical merge tools, using / Using graphical merge tools
- files, marking as resolved / Marking files as resolved and finalizing merges
- merges, finalizing / Marking files as resolved and finalizing merges
- rebase conflicts, resolving / Resolving rebase conflicts
- git-imerge / git-imerge – incremental merge and rebase for git
- merging, branches
- with merge commit / Forcing a merge commit, Getting ready, How to do it..., There's more…
- with git rerere / Using git rerere to merge known conflicts, How to do it…, There's more...
- migrating, to Git
- prerequisites / Prerequisites
- mirror repository
- about / Back up your repositories as mirror repositories
- versus bare repository / How to do it...
- mixed reset / Resetting the branch head and the index
- modification
- uploading, to remotes / Uploading modifications to remotes
- msg-filter
- about / There's more…
- Msysgit installation
- about / Windows
- MUA (Mail User Agent) / How it works…
- multiple working directories / Multiple working directories
N
- --name-status option / How to do it…
- --no-commit option / How to do it...
- -<n> option / There's more…
- -n, --numbered option / There's more…
- native Git protocol
- about / Native Git protocol
- nodes
- about / Directed Acyclic Graphs
- nodes, DAG
- root nodes / Directed Acyclic Graphs
- leaf nodes / Directed Acyclic Graphs
- notes
- about / Introduction
- adding / Adding your first Git note,
- sorting, by category / Separating notes by category,
- retrieving, from remote repository / Retrieving notes from the remote repository, How to do it..., How it works...
- pushing, to repository / Pushing notes to a remote repository, How to do it..., There's more...
- additional information, storing with / Storing additional information with notes
- adding, to commit / Adding notes to a commit
- storing / How notes are stored
- using / Other categories and uses of notes
- rewriting / Rewriting history and notes
- publishing / Publishing and retrieving notes
- retrieving / Publishing and retrieving notes
- fetching / Publishing and retrieving notes
- number of revisions
- limiting / Limiting the number of revisions
O
- -1 option
- about / How it works…
- -o <dir> option / There's more…
- -o latest-commit option
- about / How it works…
- -o option / There's more…
- object expiry, Git configuration
- about / Expiry of objects
- gc.reflogexpire / Expiry of objects
- gc.reflogexpireunreachable / Expiry of objects
- gc.pruneexpire / Expiry of objects
- objects, Git
- about / Git's objects
- commit / The commit object
- tree / The tree object
- blob / The blob object
- branch / The branch
- tag / The tag object
- obligatory file transformations
- about / Obligatory file transformations
- offline transport, with bundles
- about / Offline transport with bundles
- oh-my-zsh
- URL / See also
- old version
- files, resetting to / Resetting a file to the old version
- OpenDocument Format (ODF) files / Transforming files (content filtering)
- origin alias
- about / The origin
- orphan branches / Directed Acyclic Graphs
- output
- selecting / Selecting and formatting the git log output
- formatting / Selecting and formatting the git log output
P
- --prefix option / How to do it...
- --preserve-merges flag / How to do it...
- --pretty=fuller option / How it works…
- parent / Directed Acyclic Graphs
- patches
- creating / Creating patches, How to do it..., There's more…
- creating, from branches / Creating patches from branches, How to do it..., There's more…
- applying / Applying patches, How to do it..., There's more…
- sending / Sending patches, How to do it..., There's more…
- exchanging / Exchanging patches
- patch management interfaces
- defining / External tools – patch management interfaces
- peer-to-peer workflow
- about / The peer-to-peer or forking workflow
- advantages / The peer-to-peer or forking workflow
- disadvantages / The peer-to-peer or forking workflow
- perfect commit message
- about / The perfect commit message
- meaningful subject, writing / Writing a meaningful subject
- bulleted details lines, adding / Adding bulleted details lines, when needed
- useful information, adding / Tie other useful information
- special messages, for releases / Special messages for releases
- conclusions / Conclusions
- personal Git server
- building up, with web interface / Building up a personal Git server with web interface
- plumbing / Listing branches
- plumbing command / The plumbing and porcelain Git commands
- plumbing commands
- versus porcelain commands / Listing ignored files
- Pomodoro Technique / Split up features and tasks
- porcelain command / The plumbing and porcelain Git commands
- porcelain commands
- versus plumbing commands / Listing ignored files
- porcelain option
- about / There's more...
- Portable Object / Other built-in attributes
- post-commit hook
- about / Commit process hooks
- post-receive hook
- about / The post-receive hook
- post-update hook
- post hooks
- about / Automating Git with hooks
- pre-commit hook
- about / Commit process hooks
- pre-push hook
- about / Other client-side hooks
- pre-rebase hook
- about / Other client-side hooks
- pre-receive hook
- about / The pre-receive hook
- preceding command
- options / How to do it...
- predefined revision formats
- Preemptive commit comments blog post
- reference link / Write commit messages before starting to code
- pre hooks
- about / Automating Git with hooks
- prepare-commit-msg hook
- about / Using a branch description in the commit message, Commit process hooks
- used, for creating commit message / How to do it..., There's more...
- prepushHook branch
- about / How to do it...
- Pretty Good Privacy (PGP)
- problems
- Wrong problem / The art of the change review
- Does not work / The art of the change review
- Fails best practices / The art of the change review
- progressive-stability branches / The graduation, or progressive-stability branches workflow
- progressive-stability branches workflow
- project
- starting / Starting a project
- work, dividing into repositories / Dividing work into repositories
- collaboration workflow, selecting / Selecting the collaboration workflow
- generated files, tracking / Choosing which files to keep under version control
- working / Working on a project
- topic branch, working / Working on a topic branch
- base, deciding / Deciding what to base your work on
- changes, splitting into logically separate steps / Splitting changes into logically separate steps
- good commit message, writing / Writing a good commit message
- changes, preparing for submission / Preparing changes for submission
- public key authentication
- public repository
- pushing to / Pushing to a public repository
- published history
- rewriting / The perils of rewriting published history
- consequences, of upstream rewrite / The consequences of upstream rewrite
- upstream history rewrite, recovering / Recovering from an upstream history rewrite
- pull
- undoing / Undoing a merge or a pull
- pull.rebase configuration / Rebase and merge setup
- pull request
- generating / Generating a pull request
- push-to-update hook
- pushing
- about / Pushing to a public repository
- push modes
- about / Push modes and their use
- simple push mode / The simple push mode – the default
- matching push mode / The matching push mode for maintainers
- upstream push mode / The upstream push mode for the centralized workflow
- current push mode / The current push mode for the blessed repository workflow
Q
- --quiet option / How to do it...
- -q, --quiet option / There's more…
R
- -rq option
- about / How it works…
- rebase
- about / Introduction, The consequences of upstream rewrite
- continuing, git rebase -continue used / Continuing a rebase with merge conflicts, How to do it, How it works
- used, for changing author of commits / Changing the author of commits using a rebase, How to do it..., How it works...
- rebase and merge setup, Git configuration
- about / Rebase and merge setup
- pull.rebase / Rebase and merge setup
- branch.autosetuprebase / Rebase and merge setup
- branch.<name>.rebase / Rebase and merge setup
- rebasing
- commits, to another branch / Rebasing commits to another branch, How it works
- selective commits / Rebasing selective commits interactively, How to do it, There's more…
- recommendations
- defining / Other recommendations
- recovering possibility / Don't panic, recovery is almost always possible
- published history, changing / Don't change the published history
- releases, numbering / Numbering and tagging releases
- releases, tagging / Numbering and tagging releases
- automating / Automate what is possible
- references (refs)
- about / Branches and tags
- reflog / An introduction to version control and Git
- reflog command
- about / Viewing past Git actions with git reflog
- used, for viewing Git actions / Viewing past Git actions with git reflog, How to do it..., How it works...
- reflog shortnames / Reflog shortnames
- refs namespaces
- about / How to do it...
- refspec
- about / The refspec exemplified
- using / The refspec exemplified, Getting ready, How to do it..., How it works...
- format / How it works...
- refspec fetch
- about / How to do it...
- refspecs / Listing and examining remotes
- regular repositories
- converting, to bare repositories / Converting a regular repository to a bare one
- release branch, GitFlow / The release branch
- release branches workflow
- release candidates / The release and trunk branches workflow
- release note
- generating / The contents of the releases, How to do it..., How it works...
- remote
- adding, to local repository / Adding a remote to a local repository
- about / The origin remote
- default branch, setting of / Setting the default branch of remote
- remote-tracking branches
- about / Branches and tags
- upstreaming / Upstream of remote-tracking branches
- remote branch
- tracking / Tracking branches
- remote branches
- remote changes
- remote Git repository
- adding / Adding a new remote
- remote helpers
- remote repositories
- managing / Managing remote repositories
- remote repository
- local branch, pushing to / Pushing a local branch to a remote repository
- remotes
- working with / Working with remotes
- modification, uploading to / Uploading modifications to remotes
- new branch, pushing to / Pushing a new branch to the remote
- about / Branches and tags
- listing / Listing and examining remotes
- examining / Listing and examining remotes
- information, updating of / Updating information about remotes
- renaming / Renaming remotes
- foreign SCM repositories, using as / Using foreign SCM repositories as remotes
- remote tracking branches
- deleting / Deleting remote-tracking branches
- remote transport helpers
- about / Remote transport helpers
- remote URLs
- modifying / Changing the remote URLs
- removed file conflict
- resolving / Resolving a removed file conflict
- edited file, keeping / Keeping the edited file
- rename detection / Blame – the line-wise history of a file
- rename tracking / Blame – the line-wise history of a file
- replacements mechanism
- using / Using the replacements mechanism
- defining / The replacements mechanism
- histories, joining with git replace / Example – joining histories with git replace
- grafts, defining / Historical note – grafts
- publishing / Publishing and retrieving replacements
- retrieving / Publishing and retrieving replacements
- repo / Setting up a new repository
- repositories
- working with / Working with repositories
- file, unstaging / Unstaging a file
- backing up / Backup repositories
- backing up, as mirror repositories / Back up your repositories as mirror repositories, How to do it..., How it works…, There's more…, A quick submodule how-to
- interacting with / Interacting with other repositories
- comparing / Environment variables affecting repository locations
- repository
- cloning / Cloning a repository
- forking / Forking a repository
- archiving / Archiving the repository
- bundling / Bundling the repository
- notes, retrieving from / Retrieving notes from the remote repository, How to do it..., How it works...
- notes, pushing to / Pushing notes to a remote repository, How to do it..., There's more...
- commit, tagging in / Tagging commits in the repository, Getting ready, How to do it..., There's more...
- splitting / Splitting a repository, Getting ready, How to do it..., How it works…
- updating, bundle used / Using bundle to update an existing repository
- repository history
- rewriting / How to do it..., How it works…
- editing, with reposurgeon / Editing the repository history with reposurgeon
- repository information
- displaying / Displaying the repository information, There's more…
- repository maintenance
- about / Repository maintenance
- repository only configurations / Repository level
- repository setup
- about / Repository setup
- Git repository, creating / Creating a Git repository
- repository, cloning / Cloning the repository and creating the first commit
- first commit, creating / Cloning the repository and creating the first commit
- changes, publishing / Publishing changes, Examining history and viewing changes, Renaming and moving files
- repository, updating / Updating your repository (with merge)
- tag, creating / Creating a tag
- repository structure
- reposurgeon
- repository history, editing with / Editing the repository history with reposurgeon
- repo tool
- Request For Comments (RFC)
- reset command / How it works…
- about / Fixing mistakes with the reset command
- commits, squashing with / Squashing commits with reset
- commit, splitting with / Splitting a commit with reset
- rev-parse command
- examples / Displaying the repository information
- about / There's more…
- reverse ancestry references / Reverse ancestry references: the git describe output
- revert command / How it works...
- review
- responding to / Responding to reviews and comments
- reviewer preferences
- about / The art of the change review
- revision
- changes, saving in / Searching changes in revisions
- viewing / Viewing a revision and a file at revision
- revision metadata
- matching / Matching revision metadata
- revision range
- selecting / Selecting the revision range
- single revision, using as / Single revision as a revision range
- for single revision / The revision range for a single revision
- revision range notation
- using, in diff / Triple-dot notation
- revisions
- root nodes / Directed Acyclic Graphs
S
- --squash option / How to do it...
- --stdout option / There's more…
- --suffix=.<sfx> option / There's more…
- -s, --signoff option / There's more…
- safer reset
- about / Safer reset – keeping your changes
- changes, rebasing to earlier revision / Rebase changes to an earlier revision
- SCM Manager
- about / The SCM Manager
- URL / The SCM Manager
- scripted rewrite
- used, with git filter-branch / Scripted rewrite with the git filter-branch
- Secure Shell (SSH)
- about / SSH protocol
- selective commit
- about / Selective commit
- files, sending to / Selecting files to commit
- changes, selecting interactively / Interactively selecting changes
- creating step by step, with staging area / Creating a commit step by step
- selective commits
- semantic versioning
- send-email command / There's more…
- server-side hooks
- about / Automating Git with hooks, Server-side hooks, Server-side hooks
- pre-receive hook / The pre-receive hook
- push-to-update hook / Push-to-update hook for pushing to nonbare repositories
- update hook / The update hook
- post-receive hook / The post-receive hook
- post-update hook / The post-update hook (legacy mechanism)
- SHA-1 hash function / SHA-1 and the shortened SHA-1 identifier
- shallow clone
- about / Historical note – grafts
- shell prompt / Git-aware command prompt
- short-lived branches
- about / Short-lived branches
- feature branches / Topic or feature branches
- topic branches / Topic or feature branches
- bugfix branches / Bugfix branches
- anonymous branches / Detached HEAD – the anonymous branch
- shortened SHA-1 identifier / SHA-1 and the shortened SHA-1 identifier
- shortlog git command /
- signed commits
- about / Signed commits
- signed pushes
- about / Signed pushes
- signed tag / Creating a tag
- verifying / Tag verification
- signed tags
- simple push mode
- single revision
- using, as revision range / Single revision as a revision range
- single revision selection
- about / Single revision selection
- ancestry references / Ancestry references
- by commit message / Selecting revision by the commit message
- smart HTTP(S) protocol
- smart transports
- about / Smart transports
- native Git protocol / Native Git protocol
- SSH protocol / SSH protocol
- smart HTTP(S) protocol / Smart HTTP(S) protocol
- smudge filter / How to do it...
- social coding
- about / Social coding – collaborate using GitHub
- repository, forking / Forking a repository
- pull requests, submitting / Submitting pull requests
- pull requests, creating / Creating a pull request
- source command
- about / How to do it...
- source tree
- bottlenecks, searching / Finding bottlenecks in the source tree, There's more...
- SSH protocol
- about / SSH protocol
- Stacked Git (StGit)
- staging area / Getting ready
- about / The staging area, Stash and the staging area
- managing / Managing worktrees and the staging area
- standard layout
- stash
- about / Stash and the staging area
- un-applying / Un-applying a stash
- stash command / How it works…, There's more…
- stashes
- saving / Saving and applying stashes, How to do it..., There's more…
- applying / Saving and applying stashes, How to do it..., There's more…
- recovering / Recovering stashes that were dropped erroneously
- stashing
- about / Stashing
- stash internals
- about / Stash internals
- state
- saving, with WIP commit / Saving and restoring state with the WIP commit
- restoring, with WIP commit / Saving and restoring state with the WIP commit
- status command / There's more…
- status information
- bash prompt, used with / Bash prompt with status information, How it works…, See also
- StGit / Amending a commit
- subdirectory-filter
- about / There's more…
- subfolder
- transforming, into subtree or submodule / Transforming a subfolder into a subtree or submodule
- submodule
- about / A quick submodule how-to
- working / Getting ready, How to do it..., There's more…
- repository, cloning / There's more…
- versus subtree merging / Submodule versus subtree merging
- submodules
- use cases / Use cases for submodules
- subtree
- using, URL / See also
- subtree merging
- about / Subtree merging, How to do it..., How it works…, See also
- versus submodule / Submodule versus subtree merging
- subtrees
- versus submodules / Subtrees versus submodules
- use cases / Use cases for subtrees
- Subversion commands
- versus Git commands / Comparing Git and Subversion commands
- Subversion repository
- working on / Working on a Subversion repository using Git
- checking out, with svn client / Checking out the Subversion repository with svn client
- cloning, from Git / Cloning a Subversion repository from Git
- tag, adding / Adding a tag and a branch
- branch, adding / Adding a tag and a branch
- Git, using with / Using Git with a Subversion repository
- cloning / Cloning the Subversion repository
- Subversion repository, migrating
- about / Migrating a Subversion repository
- list of Subversion users, retrieving / Retrieving the list of Subversion users
- ignored files, preserving / Preserving the ignored file list
- pushing, to local bare Git repository / Pushing to a local bare Git repository
- branches, adding / Arranging branches and tags
- tags, adding / Arranging branches and tags
- trunk branch, renaming to master /
- local repository, pushing to remote / Pushing the local repository to a remote
- Subversion tags
- converting, to Git tags /
- super project
- recloning / Getting ready, How to do it...
- svn client
- Subversion repository, checking out with / Checking out the Subversion repository with svn client
- symbolic references / Symbolic references
- system-wide configurations / System level
- SYSTEM layer
- configuring / Configuration targets,
T
- tab completion / Command-line completion for Git
- tag
- about / Branches and tags
- tagging, commit
- in repository / Tagging commits in the repository, Getting ready, How to do it..., There's more...
- tag object
- about / The tag object, Branches and tags, Git objects
- tag objects
- about / Annotated tags, Git objects
- tag operation
- about / Branches and tags
- tag references
- about / Branch and tag references
- tags
- about / Tagging commits in the repository
- lightweight tag / Tagging commits in the repository
- annotated tag / Tagging commits in the repository
- publishing / Publishing tags
- template
- creating / Templates, How to do it...
- template directory
- creating / A .git directory template, Getting ready, How to do it..., How it works...
- third-party subproject management solutions / Third-party subproject management solutions
- tilde character / Ancestry references
- time-limiting options
- about / Time-limiting options
- time metaphor
- about / The time metaphor
- past /
- present / The present
- future / The future
- tips and tricks, for hosting repositories
- about / Tips and tricks for hosting repositories
- size taken by repositories, reducing / Reducing the size taken by repositories
- smart protocols, speeding up with pack bitmaps / Speeding up smart protocols with pack bitmaps
- large nonresumable initial clone problem, solving / Solving the large nonresumable initial clone problem
- top contributor
- extracting / Extracting the top contributor,
- topic branch
- about / Working on a topic branch
- topic branches workflow
- about / The topic branches workflow
- graduation branches / Graduation branches in a topic branch workflow
- branch management / Branch management for a release in a topic branch workflow
- TortoiseGit
- about /
- TortoiseSVN
- URL / Prerequisites
- about /
- tracked files
- about / Ignoring files
- tracking-related variables
- GIT_TRACE / Troubleshooting Git
- GIT_TRACE_PACKET / Troubleshooting Git
- GIT_TRACE_SETUP / Troubleshooting Git
- GIT_TRACE_PERFORMANCE / Troubleshooting Git
- transport protocols
- about / Transport protocols
- local transport / Local transport
- smart transports / Smart transports
- offline transport with bundles / Offline transport with bundles
- remote transport helpers / Remote transport helpers
- transport relay
- with remote helpers / Transport relay with remote helpers
- tree
- archives, creating from / Creating archives from a tree, How to do it..., There's more…
- tree-filter
- about / There's more…
- tree information
- displaying / Displaying the tree information, How to do it...
- tree object
- about / The tree object, Git objects
- writing, to database / Writing a tree object to the database, How it works…
- tree objects
- about / Git objects
- triangular workflows
- about / Support for triangular workflows
- tricks
- about / Tricks
- bare repositories / Bare repositories
- triple dot notation / Triple-dot notation
- troubleshooting, Git
- trunk / The release and trunk branches workflow
- trunk branches workflow
- typos
- about / Typos autocorrection
U
- UI
- coloring, in prompt / Color UI in the prompt, How to do it...
- update-index command
- using / How it works…
- update hook
- about / The update hook
- upstream push mode
- user-defined revision formats
- user-wide configurations / Global level
V
- VCS
- about / Introduction
- Version control system / An introduction to version control and Git
- Version control system (VCS)
- about / Directed Acyclic Graphs
- Version Control System (VCS) / Building the right commit
- Vim (Vi Improved) /
- visual diff tool
- using / Using a visual diff tool
- visual manner
- Git, learning in / Learning Git in a visual manner
W
- 3-way merge
- performing / Performing a 3-way merge
- web interface
- personal Git server, building with / Building up a personal Git server with web interface
- web interfaces
- about / Tools to manage Git repositories
- whitespace / Formatting and whitespace
- whole-tree commits
- about / Whole-tree commits
- Windows
- about / Windows
- WIP commit
- state, saving with / Saving and restoring state with the WIP commit
- state, restoring with / Saving and restoring state with the WIP commit
- workflows
- adopting / Adopting a workflow – a wise act
- centralized workflows / Centralized workflows, How they work
- feature branch workflow / Feature branch workflow
- workflows, branches
- release ranches workflow / The release and trunk branches workflow
- trunk branches workflow / The release and trunk branches workflow
- graduation branches workflow / The graduation, or progressive-stability branches workflow
- progressive-stability branches workflow / The graduation, or progressive-stability branches workflow
- topic branches workflow / The topic branches workflow
- Git-flow / Git-flow – a successful Git branching model
- security issue, fixing / Fixing a security issue
- working area
- cleaning / Cleaning the working area
- working directory
- about / The working directory
- file statuses /
- reverting, to clean state / Undo – working with a dirty area, How to do it...
- worktree
- about / Ignoring files
- worktrees
- managing / Managing worktrees and the staging area
- world-wise techniques
- about / World-wide techniques
- last commit message, modifying / Changing the last commit message
- changes, tracing in file / Tracing changes in a file
- cherry picking activity / Cherry picking
X
- x4y5z6 commit / The first parent, Cherry picking
Z
- zero-status
- about / There's more…