<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Git User Manual</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div lang="en" class="book"><div class="titlepage"><div><div><h1 class="title"><a name="id-1"></a>Git User Manual</h1></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="preface"><a href="#_introduction">Introduction</a></span></dt><dt><span class="chapter"><a href="#repositories-and-branches">1. Repositories and Branches</a></span></dt><dd><dl><dt><span class="section"><a href="#how-to-get-a-git-repository">How to get a Git repository</a></span></dt><dt><span class="section"><a href="#how-to-check-out">How to check out a different version of a project</a></span></dt><dt><span class="section"><a href="#understanding-commits">Understanding History: Commits</a></span></dt><dd><dl><dt><span class="section"><a href="#understanding-reachability">Understanding history: commits, parents, and reachability</a></span></dt><dt><span class="section"><a href="#history-diagrams">Understanding history: History diagrams</a></span></dt><dt><span class="section"><a href="#what-is-a-branch">Understanding history: What is a branch?</a></span></dt></dl></dd><dt><span class="section"><a href="#manipulating-branches">Manipulating branches</a></span></dt><dt><span class="section"><a href="#detached-head">Examining an old version without creating a new branch</a></span></dt><dt><span class="section"><a href="#examining-remote-branches">Examining branches from a remote repository</a></span></dt><dt><span class="section"><a href="#how-git-stores-references">Naming branches, tags, and other references</a></span></dt><dt><span class="section"><a href="#Updating-a-repository-With-git-fetch">Updating a repository with git fetch</a></span></dt><dt><span class="section"><a href="#fetching-branches">Fetching branches from other repositories</a></span></dt></dl></dd><dt><span class="chapter"><a href="#exploring-git-history">2. Exploring Git history</a></span></dt><dd><dl><dt><span class="section"><a href="#using-bisect">How to use bisect to find a regression</a></span></dt><dt><span class="section"><a href="#naming-commits">Naming commits</a></span></dt><dt><span class="section"><a href="#creating-tags">Creating tags</a></span></dt><dt><span class="section"><a href="#browsing-revisions">Browsing revisions</a></span></dt><dt><span class="section"><a href="#generating-diffs">Generating diffs</a></span></dt><dt><span class="section"><a href="#viewing-old-file-versions">Viewing old file versions</a></span></dt><dt><span class="section"><a href="#history-examples">Examples</a></span></dt><dd><dl><dt><span class="section"><a href="#counting-commits-on-a-branch">Counting the number of commits on a branch</a></span></dt><dt><span class="section"><a href="#checking-for-equal-branches">Check whether two branches point at the same history</a></span></dt><dt><span class="section"><a href="#finding-tagged-descendants">Find first tagged version including a given fix</a></span></dt><dt><span class="section"><a href="#showing-commits-unique-to-a-branch">Showing commits unique to a given branch</a></span></dt><dt><span class="section"><a href="#making-a-release">Creating a changelog and tarball for a software release</a></span></dt><dt><span class="section"><a href="#Finding-commits-With-given-Content">Finding commits referencing a file with given content</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#Developing-With-git">3. Developing with Git</a></span></dt><dd><dl><dt><span class="section"><a href="#telling-git-your-name">Telling Git your name</a></span></dt><dt><span class="section"><a href="#creating-a-new-repository">Creating a new repository</a></span></dt><dt><span class="section"><a href="#how-to-make-a-commit">How to make a commit</a></span></dt><dt><span class="section"><a href="#creating-good-commit-messages">Creating good commit messages</a></span></dt><dt><span class="section"><a href="#ignoring-files">Ignoring files</a></span></dt><dt><span class="section"><a href="#how-to-merge">How to merge</a></span></dt><dt><span class="section"><a href="#resolving-a-merge">Resolving a merge</a></span></dt><dd><dl><dt><span class="section"><a href="#conflict-resolution">Getting conflict-resolution help during a merge</a></span></dt></dl></dd><dt><span class="section"><a href="#undoing-a-merge">Undoing a merge</a></span></dt><dt><span class="section"><a href="#fast-forwards">Fast-forward merges</a></span></dt><dt><span class="section"><a href="#fixing-mistakes">Fixing mistakes</a></span></dt><dd><dl><dt><span class="section"><a href="#reverting-a-commit">Fixing a mistake with a new commit</a></span></dt><dt><span class="section"><a href="#fixing-a-mistake-by-rewriting-history">Fixing a mistake by rewriting history</a></span></dt><dt><span class="section"><a href="#checkout-of-path">Checking out an old version of a file</a></span></dt><dt><span class="section"><a href="#interrupted-work">Temporarily setting aside work in progress</a></span></dt></dl></dd><dt><span class="section"><a href="#ensuring-good-performance">Ensuring good performance</a></span></dt><dt><span class="section"><a href="#ensuring-reliability">Ensuring reliability</a></span></dt><dd><dl><dt><span class="section"><a href="#checking-for-corruption">Checking the repository for corruption</a></span></dt><dt><span class="section"><a href="#recovering-lost-changes">Recovering lost changes</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#sharing-development">4. Sharing development with others</a></span></dt><dd><dl><dt><span class="section"><a href="#getting-updates-With-git-pull">Getting updates with git pull</a></span></dt><dt><span class="section"><a href="#submitting-patches">Submitting patches to a project</a></span></dt><dt><span class="section"><a href="#importing-patches">Importing patches to a project</a></span></dt><dt><span class="section"><a href="#public-repositories">Public Git repositories</a></span></dt><dd><dl><dt><span class="section"><a href="#setting-up-a-public-repository">Setting up a public repository</a></span></dt><dt><span class="section"><a href="#exporting-via-git">Exporting a Git repository via the Git protocol</a></span></dt><dt><span class="section"><a href="#exporting-via-http">Exporting a git repository via HTTP</a></span></dt><dt><span class="section"><a href="#pushing-changes-to-a-public-repository">Pushing changes to a public repository</a></span></dt><dt><span class="section"><a href="#forcing-push">What to do when a push fails</a></span></dt><dt><span class="section"><a href="#setting-up-a-shared-repository">Setting up a shared repository</a></span></dt><dt><span class="section"><a href="#setting-up-gitweb">Allowing web browsing of a repository</a></span></dt></dl></dd><dt><span class="section"><a href="#how-to-get-a-git-repository-with-minimal-history">How to get a Git repository with minimal history</a></span></dt><dt><span class="section"><a href="#sharing-development-examples">Examples</a></span></dt><dd><dl><dt><span class="section"><a href="#maintaining-topic-branches">Maintaining topic branches for a Linux subsystem maintainer</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#cleaning-up-history">5. Rewriting history and maintaining patch series</a></span></dt><dd><dl><dt><span class="section"><a href="#patch-series">Creating the perfect patch series</a></span></dt><dt><span class="section"><a href="#using-git-rebase">Keeping a patch series up to date using git rebase</a></span></dt><dt><span class="section"><a href="#rewriting-one-commit">Rewriting a single commit</a></span></dt><dt><span class="section"><a href="#reordering-patch-series">Reordering or selecting from a patch series</a></span></dt><dt><span class="section"><a href="#interactive-rebase">Using interactive rebases</a></span></dt><dt><span class="section"><a href="#patch-series-tools">Other tools</a></span></dt><dt><span class="section"><a href="#problems-With-rewriting-history">Problems with rewriting history</a></span></dt><dt><span class="section"><a href="#bisect-merges">Why bisecting merge commits can be harder than bisecting linear history</a></span></dt></dl></dd><dt><span class="chapter"><a href="#advanced-branch-management">6. Advanced branch management</a></span></dt><dd><dl><dt><span class="section"><a href="#fetching-individual-branches">Fetching individual branches</a></span></dt><dt><span class="section"><a href="#fetch-fast-forwards">git fetch and fast-forwards</a></span></dt><dt><span class="section"><a href="#forcing-fetch">Forcing git fetch to do non-fast-forward updates</a></span></dt><dt><span class="section"><a href="#remote-branch-configuration">Configuring remote-tracking branches</a></span></dt></dl></dd><dt><span class="chapter"><a href="#git-concepts">7. Git concepts</a></span></dt><dd><dl><dt><span class="section"><a href="#the-object-database">The Object Database</a></span></dt><dd><dl><dt><span class="section"><a href="#commit-object">Commit Object</a></span></dt><dt><span class="section"><a href="#tree-object">Tree Object</a></span></dt><dt><span class="section"><a href="#blob-object">Blob Object</a></span></dt><dt><span class="section"><a href="#trust">Trust</a></span></dt><dt><span class="section"><a href="#tag-object">Tag Object</a></span></dt><dt><span class="section"><a href="#pack-files">How Git stores objects efficiently: pack files</a></span></dt><dt><span class="section"><a href="#dangling-objects">Dangling objects</a></span></dt><dt><span class="section"><a href="#recovering-from-repository-corruption">Recovering from repository corruption</a></span></dt></dl></dd><dt><span class="section"><a href="#the-index">The index</a></span></dt></dl></dd><dt><span class="chapter"><a href="#submodules">8. Submodules</a></span></dt><dd><dl><dt><span class="section"><a href="#pitfalls-with-submodules">Pitfalls with submodules</a></span></dt></dl></dd><dt><span class="chapter"><a href="#low-level-operations">9. Low-level Git operations</a></span></dt><dd><dl><dt><span class="section"><a href="#object-manipulation">Object access and manipulation</a></span></dt><dt><span class="section"><a href="#the-workflow">The Workflow</a></span></dt><dd><dl><dt><span class="section"><a href="#working-directory-to-index">working directory → index</a></span></dt><dt><span class="section"><a href="#index-to-object-database">index → object database</a></span></dt><dt><span class="section"><a href="#object-database-to-index">object database → index</a></span></dt><dt><span class="section"><a href="#index-to-working-directory">index → working directory</a></span></dt><dt><span class="section"><a href="#tying-it-all-together">Tying it all together</a></span></dt></dl></dd><dt><span class="section"><a href="#examining-the-data">Examining the data</a></span></dt><dt><span class="section"><a href="#merging-multiple-trees">Merging multiple trees</a></span></dt><dt><span class="section"><a href="#merging-multiple-trees-2">Merging multiple trees, continued</a></span></dt></dl></dd><dt><span class="chapter"><a href="#hacking-git">10. Hacking Git</a></span></dt><dd><dl><dt><span class="section"><a href="#object-details">Object storage format</a></span></dt><dt><span class="section"><a href="#birdview-on-the-source-code">A birds-eye view of Git’s source code</a></span></dt></dl></dd><dt><span class="chapter"><a href="#glossary">11. Git Glossary</a></span></dt><dd><dl><dt><span class="section"><a href="#git-explained">Git explained</a></span></dt></dl></dd><dt><span class="appendix"><a href="#git-quick-start">A. Git Quick Reference</a></span></dt><dd><dl><dt><span class="section"><a href="#quick-creating-a-new-repository">Creating a new repository</a></span></dt><dt><span class="section"><a href="#managing-branches">Managing branches</a></span></dt><dt><span class="section"><a href="#exploring-history">Exploring history</a></span></dt><dt><span class="section"><a href="#making-changes">Making changes</a></span></dt><dt><span class="section"><a href="#merging">Merging</a></span></dt><dt><span class="section"><a href="#sharing-your-changes">Sharing your changes</a></span></dt><dt><span class="section"><a href="#repository-maintenance">Repository maintenance</a></span></dt></dl></dd><dt><span class="appendix"><a href="#todo">B. Notes and todo list for this manual</a></span></dt><dd><dl><dt><span class="section"><a href="#todo-list">Todo list</a></span></dt></dl></dd></dl></div>

<div class="preface"><div class="titlepage"><div><div><h1 class="title"><a name="_introduction"></a>Introduction</h1></div></div></div>

<p>Git is a fast distributed revision control system.</p>
<p>This manual is designed to be readable by someone with basic UNIX
command-line skills, but no previous knowledge of Git.</p>
<p><a class="xref" href="#repositories-and-branches" title="Chapter 1. Repositories and Branches">Chapter 1, <i>Repositories and Branches</i></a> and <a class="xref" href="#exploring-git-history" title="Chapter 2. Exploring Git history">Chapter 2, <i>Exploring Git history</i></a> explain how
to fetch and study a project using git—​read these chapters to learn how
to build and test a particular version of a software project, search for
regressions, and so on.</p>
<p>People needing to do actual development will also want to read
<a class="xref" href="#Developing-With-git" title="Chapter 3. Developing with Git">Chapter 3, <i>Developing with Git</i></a> and <a class="xref" href="#sharing-development" title="Chapter 4. Sharing development with others">Chapter 4, <i>Sharing development with others</i></a>.</p>
<p>Further chapters cover more specialized topics.</p>
<p>Comprehensive reference documentation is available through the man
pages, or <a class="ulink" href="git-help.html" target="_top">git-help(1)</a> command.  For example, for the command
<code class="literal">git</code> <code class="literal">clone</code> <span class="emphasis"><em>&lt;repo&gt;</em></span>, you can either use:</p>
<pre class="screen">$ man git-clone</pre>
<p>or:</p>
<pre class="screen">$ git help clone</pre>
<p>With the latter, you can use the manual viewer of your choice; see
<a class="ulink" href="git-help.html" target="_top">git-help(1)</a> for more information.</p>
<p>See also <a class="xref" href="#git-quick-start" title="Appendix A. Git Quick Reference">Appendix A, <i>Git Quick Reference</i></a> for a brief overview of Git commands,
without any explanation.</p>
<p>Finally, see <a class="xref" href="#todo" title="Appendix B. Notes and todo list for this manual">Appendix B, <i>Notes and todo list for this manual</i></a> for ways that you can help make this manual more
complete.</p>
</div>
<div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="repositories-and-branches"></a>Chapter 1. Repositories and Branches</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#how-to-get-a-git-repository">How to get a Git repository</a></span></dt><dt><span class="section"><a href="#how-to-check-out">How to check out a different version of a project</a></span></dt><dt><span class="section"><a href="#understanding-commits">Understanding History: Commits</a></span></dt><dd><dl><dt><span class="section"><a href="#understanding-reachability">Understanding history: commits, parents, and reachability</a></span></dt><dt><span class="section"><a href="#history-diagrams">Understanding history: History diagrams</a></span></dt><dt><span class="section"><a href="#what-is-a-branch">Understanding history: What is a branch?</a></span></dt></dl></dd><dt><span class="section"><a href="#manipulating-branches">Manipulating branches</a></span></dt><dt><span class="section"><a href="#detached-head">Examining an old version without creating a new branch</a></span></dt><dt><span class="section"><a href="#examining-remote-branches">Examining branches from a remote repository</a></span></dt><dt><span class="section"><a href="#how-git-stores-references">Naming branches, tags, and other references</a></span></dt><dt><span class="section"><a href="#Updating-a-repository-With-git-fetch">Updating a repository with git fetch</a></span></dt><dt><span class="section"><a href="#fetching-branches">Fetching branches from other repositories</a></span></dt></dl></div>

<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="how-to-get-a-git-repository"></a>How to get a Git repository</h2></div></div></div>

<p>It will be useful to have a Git repository to experiment with as you
read this manual.</p>
<p>The best way to get one is by using the <a class="ulink" href="git-clone.html" target="_top">git-clone(1)</a> command to
download a copy of an existing repository.  If you don’t already have a
project in mind, here are some interesting examples:</p>
<pre class="screen">        # Git itself (approx. 40MB download):
$ git clone git://git.kernel.org/pub/scm/git/git.git
        # the Linux kernel (approx. 640MB download):
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git</pre>
<p>The initial clone may be time-consuming for a large project, but you
will only need to clone once.</p>
<p>The clone command creates a new directory named after the project
(<code class="literal">git</code> or <code class="literal">linux</code> in the examples above).  After you cd into this
directory, you will see that it contains a copy of the project files,
called the <a class="link" href="#def_working_tree">working tree</a>, together with a special
top-level directory named .<code class="literal">git</code>, which contains all the information
about the history of the project.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="how-to-check-out"></a>How to check out a different version of a project</h2></div></div></div>

<p>Git is best thought of as a tool for storing the history of a collection
of files.  It stores the history as a compressed collection of
interrelated snapshots of the project’s contents.  In Git each such
version is called a <a class="link" href="#def_commit">commit</a>.</p>
<p>Those snapshots aren’t necessarily all arranged in a single line from
oldest to newest; instead, work may simultaneously proceed along
parallel lines of development, called <a class="link" href="#def_branch">branches</a>, which may
merge and diverge.</p>
<p>A single Git repository can track development on multiple branches.  It
does this by keeping a list of <a class="link" href="#def_head">heads</a> which reference the
latest commit on each branch; the <a class="ulink" href="git-branch.html" target="_top">git-branch(1)</a> command shows
you the list of branch heads:</p>
<pre class="screen">$ git branch
* master</pre>
<p>A freshly cloned repository contains a single branch head, by default
named "master", with the working directory initialized to the state of
the project referred to by that branch head.</p>
<p>Most projects also use <a class="link" href="#def_tag">tags</a>.  Tags, like heads, are
references into the project’s history, and can be listed using the
<a class="ulink" href="git-tag.html" target="_top">git-tag(1)</a> command:</p>
<pre class="screen">$ git tag -l
v2.6.11
v2.6.11-tree
v2.6.12
v2.6.12-rc2
v2.6.12-rc3
v2.6.12-rc4
v2.6.12-rc5
v2.6.12-rc6
v2.6.13
...</pre>
<p>Tags are expected to always point at the same version of a project,
while heads are expected to advance as development progresses.</p>
<p>Create a new branch head pointing to one of these versions and check it
out using <a class="ulink" href="git-switch.html" target="_top">git-switch(1)</a>:</p>
<pre class="screen">$ git switch -c new v2.6.13</pre>
<p>The working directory then reflects the contents that the project had
when it was tagged v2.6.13, and <a class="ulink" href="git-branch.html" target="_top">git-branch(1)</a> shows two
branches, with an asterisk marking the currently checked-out branch:</p>
<pre class="screen">$ git branch
  master
* new</pre>
<p>If you decide that you’d rather see version 2.6.17, you can modify
the current branch to point at v2.6.17 instead, with</p>
<pre class="screen">$ git reset --hard v2.6.17</pre>
<p>Note that if the current branch head was your only reference to a
particular point in history, then resetting that branch may leave you
with no way to find the history it used to point to; so use this command
carefully.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="understanding-commits"></a>Understanding History: Commits</h2></div></div></div>

<p>Every change in the history of a project is represented by a commit.
The <a class="ulink" href="git-show.html" target="_top">git-show(1)</a> command shows the most recent commit on the
current branch:</p>
<pre class="screen">$ git show
commit 17cf781661e6d38f737f15f53ab552f1e95960d7
Author: Linus Torvalds &lt;torvalds@ppc970.osdl.org.(none)&gt;
Date:   Tue Apr 19 14:11:06 2005 -0700

    Remove duplicate getenv(DB_ENVIRONMENT) call

    Noted by Tony Luck.

diff --git a/init-db.c b/init-db.c
index 65898fa..b002dc6 100644
--- a/init-db.c
+++ b/init-db.c
@@ -7,7 +7,7 @@

 int main(int argc, char **argv)
 {
-       char *sha1_dir = getenv(DB_ENVIRONMENT), *path;
+       char *sha1_dir, *path;
        int len, i;

        if (mkdir(".git", 0755) &lt; 0) {</pre>
<p>As you can see, a commit shows who made the latest change, what they
did, and why.</p>
<p>Every commit has a 40-hexdigit id, sometimes called the "object name" or the
"SHA-1 id", shown on the first line of the <code class="literal">git</code> <code class="literal">show</code> output.  You can usually
refer to a commit by a shorter name, such as a tag or a branch name, but this
longer name can also be useful.  Most importantly, it is a globally unique
name for this commit: so if you tell somebody else the object name (for
example in email), then you are guaranteed that name will refer to the same
commit in their repository that it does in yours (assuming their repository
has that commit at all).  Since the object name is computed as a hash over the
contents of the commit, you are guaranteed that the commit can never change
without its name also changing.</p>
<p>In fact, in <a class="xref" href="#git-concepts" title="Chapter 7. Git concepts">Chapter 7, <i>Git concepts</i></a> we shall see that everything stored in Git
history, including file data and directory contents, is stored in an object
with a name that is a hash of its contents.</p>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="understanding-reachability"></a>Understanding history: commits, parents, and reachability</h3></div></div></div>

<p>Every commit (except the very first commit in a project) also has a
parent commit which shows what happened before this commit.
Following the chain of parents will eventually take you back to the
beginning of the project.</p>
<p>However, the commits do not form a simple list; Git allows lines of
development to diverge and then reconverge, and the point where two
lines of development reconverge is called a "merge".  The commit
representing a merge can therefore have more than one parent, with
each parent representing the most recent commit on one of the lines
of development leading to that point.</p>
<p>The best way to see how this works is using the <a class="ulink" href="gitk.html" target="_top">gitk(1)</a>
command; running gitk now on a Git repository and looking for merge
commits will help understand how Git organizes history.</p>
<p>In the following, we say that commit X is "reachable" from commit Y
if commit X is an ancestor of commit Y.  Equivalently, you could say
that Y is a descendant of X, or that there is a chain of parents
leading from commit Y to commit X.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="history-diagrams"></a>Understanding history: History diagrams</h3></div></div></div>

<p>We will sometimes represent Git history using diagrams like the one
below.  Commits are shown as "o", and the links between them with
lines drawn with - / and \.  Time goes left to right:</p>
<pre class="literallayout">         o--o--o &lt;-- Branch A
        /
 o--o--o &lt;-- master
        \
         o--o--o &lt;-- Branch B</pre>
<p>If we need to talk about a particular commit, the character "o" may
be replaced with another letter or number.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="what-is-a-branch"></a>Understanding history: What is a branch?</h3></div></div></div>

<p>When we need to be precise, we will use the word "branch" to mean a line
of development, and "branch head" (or just "head") to mean a reference
to the most recent commit on a branch.  In the example above, the branch
head named "A" is a pointer to one particular commit, but we refer to
the line of three commits leading up to that point as all being part of
"branch A".</p>
<p>However, when no confusion will result, we often just use the term
"branch" both for branches and for branch heads.</p>
</div>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="manipulating-branches"></a>Manipulating branches</h2></div></div></div>

<p>Creating, deleting, and modifying branches is quick and easy; here’s
a summary of the commands:</p>
<div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">git</code> <code class="literal">branch</code></span></dt><dd>
list all branches.
</dd><dt><span class="term"><code class="literal">git</code> <code class="literal">branch</code> <span class="emphasis"><em>&lt;branch&gt;</em></span></span></dt><dd>
create a new branch named <span class="emphasis"><em>&lt;branch&gt;</em></span>, referencing the same
point in history as the current branch.
</dd><dt><span class="term"><code class="literal">git</code> <code class="literal">branch</code> <span class="emphasis"><em>&lt;branch&gt;</em></span> <span class="emphasis"><em>&lt;start-point&gt;</em></span></span></dt><dd>
create a new branch named <span class="emphasis"><em>&lt;branch&gt;</em></span>, referencing
<span class="emphasis"><em>&lt;start-point&gt;</em></span>, which may be specified any way you like,
including using a branch name or a tag name.
</dd><dt><span class="term"><code class="literal">git</code> <code class="literal">branch</code> <code class="literal">-d</code> <span class="emphasis"><em>&lt;branch&gt;</em></span></span></dt><dd>
delete the branch <span class="emphasis"><em>&lt;branch&gt;</em></span>; if the branch is not fully
merged in its upstream branch or contained in the current branch,
this command will fail with a warning.
</dd><dt><span class="term"><code class="literal">git</code> <code class="literal">branch</code> <code class="literal">-D</code> <span class="emphasis"><em>&lt;branch&gt;</em></span></span></dt><dd>
delete the branch <span class="emphasis"><em>&lt;branch&gt;</em></span> irrespective of its merged status.
</dd><dt><span class="term"><code class="literal">git</code> <code class="literal">switch</code> <span class="emphasis"><em>&lt;branch&gt;</em></span></span></dt><dd>
make the current branch <span class="emphasis"><em>&lt;branch&gt;</em></span>, updating the working
directory to reflect the version referenced by <span class="emphasis"><em>&lt;branch&gt;</em></span>.
</dd><dt><span class="term"><code class="literal">git</code> <code class="literal">switch</code> <code class="literal">-c</code> <span class="emphasis"><em>&lt;new&gt;</em></span> <span class="emphasis"><em>&lt;start-point&gt;</em></span></span></dt><dd>
create a new branch <span class="emphasis"><em>&lt;new&gt;</em></span> referencing <span class="emphasis"><em>&lt;start-point&gt;</em></span>, and
check it out.
</dd></dl></div>
<p>The special symbol "HEAD" can always be used to refer to the current
branch.  In fact, Git uses a file named <code class="literal">HEAD</code> in the .<code class="literal">git</code> directory
to remember which branch is current:</p>
<pre class="screen">$ cat .git/HEAD
ref: refs/heads/master</pre>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="detached-head"></a>Examining an old version without creating a new branch</h2></div></div></div>

<p>The <code class="literal">git</code> <code class="literal">switch</code> command normally expects a branch head, but will also
accept an arbitrary commit when invoked with --detach; for example,
you can check out the commit referenced by a tag:</p>
<pre class="screen">$ git switch --detach v2.6.17
Note: checking out 'v2.6.17'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another switch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command again. Example:

  git switch -c new_branch_name

HEAD is now at 427abfa Linux v2.6.17</pre>
<p>The HEAD then refers to the SHA-1 of the commit instead of to a branch,
and git branch shows that you are no longer on a branch:</p>
<pre class="screen">$ cat .git/HEAD
427abfa28afedffadfca9dd8b067eb6d36bac53f
$ git branch
* (detached from v2.6.17)
  master</pre>
<p>In this case we say that the HEAD is "detached".</p>
<p>This is an easy way to check out a particular version without having to
make up a name for the new branch.   You can still create a new branch
(or tag) for this version later if you decide to.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="examining-remote-branches"></a>Examining branches from a remote repository</h2></div></div></div>

<p>The "master" branch that was created at the time you cloned is a copy
of the HEAD in the repository that you cloned from.  That repository
may also have had other branches, though, and your local repository
keeps branches which track each of those remote branches, called
remote-tracking branches, which you
can view using the <code class="literal">-r</code> option to <a class="ulink" href="git-branch.html" target="_top">git-branch(1)</a>:</p>
<pre class="screen">$ git branch -r
  origin/HEAD
  origin/html
  origin/maint
  origin/man
  origin/master
  origin/next
  origin/seen
  origin/todo</pre>
<p>In this example, "origin" is called a remote repository, or "remote"
for short. The branches of this repository are called "remote
branches" from our point of view. The remote-tracking branches listed
above were created based on the remote branches at clone time and will
be updated by <code class="literal">git</code> <code class="literal">fetch</code> (hence <code class="literal">git</code> <code class="literal">pull</code>) and <code class="literal">git</code> <code class="literal">push</code>. See
<a class="xref" href="#Updating-a-repository-With-git-fetch" title="Updating a repository with git fetch">the section called “Updating a repository with git fetch”</a> for details.</p>
<p>You might want to build on one of these remote-tracking branches
on a branch of your own, just as you would for a tag:</p>
<pre class="screen">$ git switch -c my-todo-copy origin/todo</pre>
<p>You can also check out <code class="literal">origin/todo</code> directly to examine it or
write a one-off patch.  See <a class="link" href="#detached-head" title="Examining an old version without creating a new branch">detached head</a>.</p>
<p>Note that the name "origin" is just the name that Git uses by default
to refer to the repository that you cloned from.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="how-git-stores-references"></a>Naming branches, tags, and other references</h2></div></div></div>

<p>Branches, remote-tracking branches, and tags are all references to
commits.  All references are named with a slash-separated path name
starting with <code class="literal">refs</code>; the names we’ve been using so far are actually
shorthand:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
The branch <code class="literal">test</code> is short for <code class="literal">refs/heads/test</code>.
</li><li class="listitem">
The tag <code class="literal">v2.6.18</code> is short for <code class="literal">refs/tags/v2.6.18</code>.
</li><li class="listitem">
<code class="literal">origin/master</code> is short for <code class="literal">refs/remotes/origin/master</code>.
</li></ul></div>
<p>The full name is occasionally useful if, for example, there ever
exists a tag and a branch with the same name.</p>
<p>(Newly created refs are actually stored in the .<code class="literal">git/refs</code> directory,
under the path given by their name.  However, for efficiency reasons
they may also be packed together in a single file; see
<a class="ulink" href="git-pack-refs.html" target="_top">git-pack-refs(1)</a>).</p>
<p>As another useful shortcut, the "HEAD" of a repository can be referred
to just using the name of that repository.  So, for example, "origin"
is usually a shortcut for the HEAD branch in the repository "origin".</p>
<p>For the complete list of paths which Git checks for references, and
the order it uses to decide which to choose when there are multiple
references with the same shorthand name, see the "SPECIFYING
REVISIONS" section of <a class="ulink" href="gitrevisions.html" target="_top">gitrevisions(7)</a>.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Updating-a-repository-With-git-fetch"></a>Updating a repository with git fetch</h2></div></div></div>

<p>After you clone a repository and commit a few changes of your own, you
may wish to check the original repository for updates.</p>
<p>The <code class="literal">git-fetch</code> command, with no arguments, will update all of the
remote-tracking branches to the latest version found in the original
repository.  It will not touch any of your own branches—​not even the
"master" branch that was created for you on clone.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="fetching-branches"></a>Fetching branches from other repositories</h2></div></div></div>

<p>You can also track branches from repositories other than the one you
cloned from, using <a class="ulink" href="git-remote.html" target="_top">git-remote(1)</a>:</p>
<pre class="screen">$ git remote add staging git://git.kernel.org/.../gregkh/staging.git
$ git fetch staging
...
From git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
 * [new branch]      master     -&gt; staging/master
 * [new branch]      staging-linus -&gt; staging/staging-linus
 * [new branch]      staging-next -&gt; staging/staging-next</pre>
<p>New remote-tracking branches will be stored under the shorthand name
that you gave <code class="literal">git</code> <code class="literal">remote</code> <code class="literal">add</code>, in this case <code class="literal">staging</code>:</p>
<pre class="screen">$ git branch -r
  origin/HEAD -&gt; origin/master
  origin/master
  staging/master
  staging/staging-linus
  staging/staging-next</pre>
<p>If you run <code class="literal">git</code> <code class="literal">fetch</code> <span class="emphasis"><em>&lt;remote&gt;</em></span> later, the remote-tracking branches
for the named <span class="emphasis"><em>&lt;remote&gt;</em></span> will be updated.</p>
<p>If you examine the file .<code class="literal">git/config</code>, you will see that Git has added
a new stanza:</p>
<pre class="screen">$ cat .git/config
...
[remote "staging"]
        url = git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
        fetch = +refs/heads/*:refs/remotes/staging/*
...</pre>
<p>This is what causes Git to track the remote’s branches; you may modify
or delete these configuration options by editing .<code class="literal">git/config</code> with a
text editor.  (See the "CONFIGURATION FILE" section of
<a class="ulink" href="git-config.html" target="_top">git-config(1)</a> for details.)</p>
</div>
</div>
<div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="exploring-git-history"></a>Chapter 2. Exploring Git history</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#using-bisect">How to use bisect to find a regression</a></span></dt><dt><span class="section"><a href="#naming-commits">Naming commits</a></span></dt><dt><span class="section"><a href="#creating-tags">Creating tags</a></span></dt><dt><span class="section"><a href="#browsing-revisions">Browsing revisions</a></span></dt><dt><span class="section"><a href="#generating-diffs">Generating diffs</a></span></dt><dt><span class="section"><a href="#viewing-old-file-versions">Viewing old file versions</a></span></dt><dt><span class="section"><a href="#history-examples">Examples</a></span></dt><dd><dl><dt><span class="section"><a href="#counting-commits-on-a-branch">Counting the number of commits on a branch</a></span></dt><dt><span class="section"><a href="#checking-for-equal-branches">Check whether two branches point at the same history</a></span></dt><dt><span class="section"><a href="#finding-tagged-descendants">Find first tagged version including a given fix</a></span></dt><dt><span class="section"><a href="#showing-commits-unique-to-a-branch">Showing commits unique to a given branch</a></span></dt><dt><span class="section"><a href="#making-a-release">Creating a changelog and tarball for a software release</a></span></dt><dt><span class="section"><a href="#Finding-commits-With-given-Content">Finding commits referencing a file with given content</a></span></dt></dl></dd></dl></div>

<p>Git is best thought of as a tool for storing the history of a
collection of files.  It does this by storing compressed snapshots of
the contents of a file hierarchy, together with "commits" which show
the relationships between these snapshots.</p>
<p>Git provides extremely flexible and fast tools for exploring the
history of a project.</p>
<p>We start with one specialized tool that is useful for finding the
commit that introduced a bug into a project.</p>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="using-bisect"></a>How to use bisect to find a regression</h2></div></div></div>

<p>Suppose version 2.6.18 of your project worked, but the version at
"master" crashes.  Sometimes the best way to find the cause of such a
regression is to perform a brute-force search through the project’s
history to find the particular commit that caused the problem.  The
<a class="ulink" href="git-bisect.html" target="_top">git-bisect(1)</a> command can help you do this:</p>
<pre class="screen">$ git bisect start
$ git bisect good v2.6.18
$ git bisect bad master
Bisecting: 3537 revisions left to test after this
[65934a9a028b88e83e2b0f8b36618fe503349f8e] BLOCK: Make USB storage depend on SCSI rather than selecting it [try #6]</pre>
<p>If you run <code class="literal">git</code> <code class="literal">branch</code> at this point, you’ll see that Git has
temporarily moved you in "(no branch)". HEAD is now detached from any
branch and points directly to a commit (with commit id 65934) that
is reachable from "master" but not from v2.6.18. Compile and test it,
and see whether it crashes. Assume it does crash. Then:</p>
<pre class="screen">$ git bisect bad
Bisecting: 1769 revisions left to test after this
[7eff82c8b1511017ae605f0c99ac275a7e21b867] i2c-core: Drop useless bitmaskings</pre>
<p>checks out an older version.  Continue like this, telling Git at each
stage whether the version it gives you is good or bad, and notice
that the number of revisions left to test is cut approximately in
half each time.</p>
<p>After about 13 tests (in this case), it will output the commit id of
the guilty commit.  You can then examine the commit with
<a class="ulink" href="git-show.html" target="_top">git-show(1)</a>, find out who wrote it, and mail them your bug
report with the commit id.  Finally, run</p>
<pre class="screen">$ git bisect reset</pre>
<p>to return you to the branch you were on before.</p>
<p>Note that the version which <code class="literal">git</code> <code class="literal">bisect</code> checks out for you at each
point is just a suggestion, and you’re free to try a different
version if you think it would be a good idea.  For example,
occasionally you may land on a commit that broke something unrelated;
run</p>
<pre class="screen">$ git bisect visualize</pre>
<p>which will run gitk and label the commit it chose with a marker that
says "bisect".  Choose a safe-looking commit nearby, note its commit
id, and check it out with:</p>
<pre class="screen">$ git reset --hard fb47ddb2db</pre>
<p>then test, run <code class="literal">bisect</code> <code class="literal">good</code> or <code class="literal">bisect</code> <code class="literal">bad</code> as appropriate, and
continue.</p>
<p>Instead of <code class="literal">git</code> <code class="literal">bisect</code> <code class="literal">visualize</code> and then <code class="literal">git</code> <code class="literal">reset</code> <code class="literal">--hard</code>
<code class="literal">fb47ddb2db</code>, you might just want to tell Git that you want to skip
the current commit:</p>
<pre class="screen">$ git bisect skip</pre>
<p>In this case, though, Git may not eventually be able to tell the first
bad one between some first skipped commits and a later bad commit.</p>
<p>There are also ways to automate the bisecting process if you have a
test script that can tell a good from a bad commit. See
<a class="ulink" href="git-bisect.html" target="_top">git-bisect(1)</a> for more information about this and other <code class="literal">git</code>
<code class="literal">bisect</code> features.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="naming-commits"></a>Naming commits</h2></div></div></div>

<p>We have seen several ways of naming commits already:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
40-hexdigit object name
</li><li class="listitem">
branch name: refers to the commit at the head of the given
branch
</li><li class="listitem">
tag name: refers to the commit pointed to by the given tag
(we’ve seen branches and tags are special cases of
<a class="link" href="#how-git-stores-references" title="Naming branches, tags, and other references">references</a>).
</li><li class="listitem">
HEAD: refers to the head of the current branch
</li></ul></div>
<p>There are many more; see the "SPECIFYING REVISIONS" section of the
<a class="ulink" href="gitrevisions.html" target="_top">gitrevisions(7)</a> man page for the complete list of ways to
name revisions.  Some examples:</p>
<pre class="screen">$ git show fb47ddb2 # the first few characters of the object name
                    # are usually enough to specify it uniquely
$ git show HEAD^    # the parent of the HEAD commit
$ git show HEAD^^   # the grandparent
$ git show HEAD~4   # the great-great-grandparent</pre>
<p>Recall that merge commits may have more than one parent; by default,
<code class="literal">^</code> and <code class="literal">~</code> follow the first parent listed in the commit, but you can
also choose:</p>
<pre class="screen">$ git show HEAD^1   # show the first parent of HEAD
$ git show HEAD^2   # show the second parent of HEAD</pre>
<p>In addition to HEAD, there are several other special names for
commits:</p>
<p>Merges (to be discussed later), as well as operations such as
<code class="literal">git</code> <code class="literal">reset</code>, which change the currently checked-out commit, generally
set ORIG_HEAD to the value HEAD had before the current operation.</p>
<p>The <code class="literal">git</code> <code class="literal">fetch</code> operation always stores the head of the last fetched
branch in FETCH_HEAD.  For example, if you run <code class="literal">git</code> <code class="literal">fetch</code> without
specifying a local branch as the target of the operation</p>
<pre class="screen">$ git fetch git://example.com/proj.git theirbranch</pre>
<p>the fetched commits will still be available from FETCH_HEAD.</p>
<p>When we discuss merges we’ll also see the special name MERGE_HEAD,
which refers to the other branch that we’re merging in to the current
branch.</p>
<p>The <a class="ulink" href="git-rev-parse.html" target="_top">git-rev-parse(1)</a> command is a low-level command that is
occasionally useful for translating some name for a commit to the object
name for that commit:</p>
<pre class="screen">$ git rev-parse origin
e05db0fd4f31dde7005f075a84f96b360d05984b</pre>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="creating-tags"></a>Creating tags</h2></div></div></div>

<p>We can also create a tag to refer to a particular commit; after
running</p>
<pre class="screen">$ git tag stable-1 1b2e1d63ff</pre>
<p>You can use <code class="literal">stable-1</code> to refer to the commit 1b2e1d63ff.</p>
<p>This creates a "lightweight" tag.  If you would also like to include a
comment with the tag, and possibly sign it cryptographically, then you
should create a tag object instead; see the <a class="ulink" href="git-tag.html" target="_top">git-tag(1)</a> man page
for details.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="browsing-revisions"></a>Browsing revisions</h2></div></div></div>

<p>The <a class="ulink" href="git-log.html" target="_top">git-log(1)</a> command can show lists of commits.  On its
own, it shows all commits reachable from the parent commit; but you
can also make more specific requests:</p>
<pre class="screen">$ git log v2.5..        # commits since (not reachable from) v2.5
$ git log test..master  # commits reachable from master but not test
$ git log master..test  # ...reachable from test but not master
$ git log master...test # ...reachable from either test or master,
                        #    but not both
$ git log --since="2 weeks ago" # commits from the last 2 weeks
$ git log Makefile      # commits which modify Makefile
$ git log fs/           # ... which modify any file under fs/
$ git log -S'foo()'     # commits which add or remove any file data
                        # matching the string 'foo()'</pre>
<p>And of course you can combine all of these; the following finds
commits since v2.5 which touch the <code class="literal">Makefile</code> or any file under <code class="literal">fs</code>:</p>
<pre class="screen">$ git log v2.5.. Makefile fs/</pre>
<p>You can also ask git log to show patches:</p>
<pre class="screen">$ git log -p</pre>
<p>See the <code class="literal">--pretty</code> option in the <a class="ulink" href="git-log.html" target="_top">git-log(1)</a> man page for more
display options.</p>
<p>Note that git log starts with the most recent commit and works
backwards through the parents; however, since Git history can contain
multiple independent lines of development, the particular order that
commits are listed in may be somewhat arbitrary.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="generating-diffs"></a>Generating diffs</h2></div></div></div>

<p>You can generate diffs between any two versions using
<a class="ulink" href="git-diff.html" target="_top">git-diff(1)</a>:</p>
<pre class="screen">$ git diff master..test</pre>
<p>That will produce the diff between the tips of the two branches.  If
you’d prefer to find the diff from their common ancestor to test, you
can use three dots instead of two:</p>
<pre class="screen">$ git diff master...test</pre>
<p>Sometimes what you want instead is a set of patches; for this you can
use <a class="ulink" href="git-format-patch.html" target="_top">git-format-patch(1)</a>:</p>
<pre class="screen">$ git format-patch master..test</pre>
<p>will generate a file with a patch for each commit reachable from test
but not from master.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="viewing-old-file-versions"></a>Viewing old file versions</h2></div></div></div>

<p>You can always view an old version of a file by just checking out the
correct revision first.  But sometimes it is more convenient to be
able to view an old version of a single file without checking
anything out; this command does that:</p>
<pre class="screen">$ git show v2.5:fs/locks.c</pre>
<p>Before the colon may be anything that names a commit, and after it
may be any path to a file tracked by Git.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="history-examples"></a>Examples</h2></div></div></div>

<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="counting-commits-on-a-branch"></a>Counting the number of commits on a branch</h3></div></div></div>

<p>Suppose you want to know how many commits you’ve made on <code class="literal">mybranch</code>
since it diverged from <code class="literal">origin</code>:</p>
<pre class="screen">$ git log --pretty=oneline origin..mybranch | wc -l</pre>
<p>Alternatively, you may often see this sort of thing done with the
lower-level command <a class="ulink" href="git-rev-list.html" target="_top">git-rev-list(1)</a>, which just lists the SHA-1’s
of all the given commits:</p>
<pre class="screen">$ git rev-list origin..mybranch | wc -l</pre>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="checking-for-equal-branches"></a>Check whether two branches point at the same history</h3></div></div></div>

<p>Suppose you want to check whether two branches point at the same point
in history.</p>
<pre class="screen">$ git diff origin..master</pre>
<p>will tell you whether the contents of the project are the same at the
two branches; in theory, however, it’s possible that the same project
contents could have been arrived at by two different historical
routes.  You could compare the object names:</p>
<pre class="screen">$ git rev-list origin
e05db0fd4f31dde7005f075a84f96b360d05984b
$ git rev-list master
e05db0fd4f31dde7005f075a84f96b360d05984b</pre>
<p>Or you could recall that the <code class="literal">...</code> operator selects all commits
reachable from either one reference or the other but not
both; so</p>
<pre class="screen">$ git log origin...master</pre>
<p>will return no commits when the two branches are equal.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="finding-tagged-descendants"></a>Find first tagged version including a given fix</h3></div></div></div>

<p>Suppose you know that the commit e05db0fd fixed a certain problem.
You’d like to find the earliest tagged release that contains that
fix.</p>
<p>Of course, there may be more than one answer—​if the history branched
after commit e05db0fd, then there could be multiple "earliest" tagged
releases.</p>
<p>You could just visually inspect the commits since e05db0fd:</p>
<pre class="screen">$ gitk e05db0fd..</pre>
<p>or you can use <a class="ulink" href="git-name-rev.html" target="_top">git-name-rev(1)</a>, which will give the commit a
name based on any tag it finds pointing to one of the commit’s
descendants:</p>
<pre class="screen">$ git name-rev --tags e05db0fd
e05db0fd tags/v1.5.0-rc1^0~23</pre>
<p>The <a class="ulink" href="git-describe.html" target="_top">git-describe(1)</a> command does the opposite, naming the
revision using a tag on which the given commit is based:</p>
<pre class="screen">$ git describe e05db0fd
v1.5.0-rc0-260-ge05db0f</pre>
<p>but that may sometimes help you guess which tags might come after the
given commit.</p>
<p>If you just want to verify whether a given tagged version contains a
given commit, you could use <a class="ulink" href="git-merge-base.html" target="_top">git-merge-base(1)</a>:</p>
<pre class="screen">$ git merge-base e05db0fd v1.5.0-rc1
e05db0fd4f31dde7005f075a84f96b360d05984b</pre>
<p>The merge-base command finds a common ancestor of the given commits,
and always returns one or the other in the case where one is a
descendant of the other; so the above output shows that e05db0fd
actually is an ancestor of v1.5.0-rc1.</p>
<p>Alternatively, note that</p>
<pre class="screen">$ git log v1.5.0-rc1..e05db0fd</pre>
<p>will produce empty output if and only if v1.5.0-rc1 includes e05db0fd,
because it outputs only commits that are not reachable from v1.5.0-rc1.</p>
<p>As yet another alternative, the <a class="ulink" href="git-show-branch.html" target="_top">git-show-branch(1)</a> command lists
the commits reachable from its arguments with a display on the left-hand
side that indicates which arguments that commit is reachable from.
So, if you run something like</p>
<pre class="screen">$ git show-branch e05db0fd v1.5.0-rc0 v1.5.0-rc1 v1.5.0-rc2
! [e05db0fd] Fix warnings in sha1_file.c - use C99 printf format if
available
 ! [v1.5.0-rc0] GIT v1.5.0 preview
  ! [v1.5.0-rc1] GIT v1.5.0-rc1
   ! [v1.5.0-rc2] GIT v1.5.0-rc2
...</pre>
<p>then a line like</p>
<pre class="screen">+ ++ [e05db0fd] Fix warnings in sha1_file.c - use C99 printf format if
available</pre>
<p>shows that e05db0fd is reachable from itself, from v1.5.0-rc1,
and from v1.5.0-rc2, and not from v1.5.0-rc0.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="showing-commits-unique-to-a-branch"></a>Showing commits unique to a given branch</h3></div></div></div>

<p>Suppose you would like to see all the commits reachable from the branch
head named <code class="literal">master</code> but not from any other head in your repository.</p>
<p>We can list all the heads in this repository with
<a class="ulink" href="git-show-ref.html" target="_top">git-show-ref(1)</a>:</p>
<pre class="screen">$ git show-ref --heads
bf62196b5e363d73353a9dcf094c59595f3153b7 refs/heads/core-tutorial
db768d5504c1bb46f63ee9d6e1772bd047e05bf9 refs/heads/maint
a07157ac624b2524a059a3414e99f6f44bebc1e7 refs/heads/master
24dbc180ea14dc1aebe09f14c8ecf32010690627 refs/heads/tutorial-2
1e87486ae06626c2f31eaa63d26fc0fd646c8af2 refs/heads/tutorial-fixes</pre>
<p>We can get just the branch-head names, and remove <code class="literal">master</code>, with
the help of the standard utilities cut and grep:</p>
<pre class="screen">$ git show-ref --heads | cut -d' ' -f2 | grep -v '^refs/heads/master'
refs/heads/core-tutorial
refs/heads/maint
refs/heads/tutorial-2
refs/heads/tutorial-fixes</pre>
<p>And then we can ask to see all the commits reachable from master
but not from these other heads:</p>
<pre class="screen">$ gitk master --not $( git show-ref --heads | cut -d' ' -f2 |
                                grep -v '^refs/heads/master' )</pre>
<p>Obviously, endless variations are possible; for example, to see all
commits reachable from some head but not from any tag in the repository:</p>
<pre class="screen">$ gitk $( git show-ref --heads ) --not  $( git show-ref --tags )</pre>
<p>(See <a class="ulink" href="gitrevisions.html" target="_top">gitrevisions(7)</a> for explanations of commit-selecting
syntax such as <code class="literal">--not</code>.)</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="making-a-release"></a>Creating a changelog and tarball for a software release</h3></div></div></div>

<p>The <a class="ulink" href="git-archive.html" target="_top">git-archive(1)</a> command can create a tar or zip archive from
any version of a project; for example:</p>
<pre class="screen">$ git archive -o latest.tar.gz --prefix=project/ HEAD</pre>
<p>will use HEAD to produce a gzipped tar archive in which each filename
is preceded by <code class="literal">project/</code>.  The output file format is inferred from
the output file extension if possible, see <a class="ulink" href="git-archive.html" target="_top">git-archive(1)</a> for
details.</p>
<p>Versions of Git older than 1.7.7 don’t know about the <code class="literal">tar.gz</code> format,
you’ll need to use gzip explicitly:</p>
<pre class="screen">$ git archive --format=tar --prefix=project/ HEAD | gzip &gt;latest.tar.gz</pre>
<p>If you’re releasing a new version of a software project, you may want
to simultaneously make a changelog to include in the release
announcement.</p>
<p>Linus Torvalds, for example, makes new kernel releases by tagging them,
then running:</p>
<pre class="screen">$ release-script 2.6.12 2.6.13-rc6 2.6.13-rc7</pre>
<p>where release-script is a shell script that looks like:</p>
<pre class="screen">#!/bin/sh
stable="$1"
last="$2"
new="$3"
echo "# git tag v$new"
echo "git archive --prefix=linux-$new/ v$new | gzip -9 &gt; ../linux-$new.tar.gz"
echo "git diff v$stable v$new | gzip -9 &gt; ../patch-$new.gz"
echo "git log --no-merges v$new ^v$last &gt; ../ChangeLog-$new"
echo "git shortlog --no-merges v$new ^v$last &gt; ../ShortLog"
echo "git diff --stat --summary -M v$last v$new &gt; ../diffstat-$new"</pre>
<p>and then he just cut-and-pastes the output commands after verifying that
they look OK.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="Finding-commits-With-given-Content"></a>Finding commits referencing a file with given content</h3></div></div></div>

<p>Somebody hands you a copy of a file, and asks which commits modified a
file such that it contained the given content either before or after the
commit.  You can find out with this:</p>
<pre class="screen">$  git log --raw --abbrev=40 --pretty=oneline |
        grep -B 1 `git hash-object filename`</pre>
<p>Figuring out why this works is left as an exercise to the (advanced)
student.  The <a class="ulink" href="git-log.html" target="_top">git-log(1)</a>, <a class="ulink" href="git-diff-tree.html" target="_top">git-diff-tree(1)</a>, and
<a class="ulink" href="git-hash-object.html" target="_top">git-hash-object(1)</a> man pages may prove helpful.</p>
</div>
</div>
</div>
<div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="Developing-With-git"></a>Chapter 3. Developing with Git</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#telling-git-your-name">Telling Git your name</a></span></dt><dt><span class="section"><a href="#creating-a-new-repository">Creating a new repository</a></span></dt><dt><span class="section"><a href="#how-to-make-a-commit">How to make a commit</a></span></dt><dt><span class="section"><a href="#creating-good-commit-messages">Creating good commit messages</a></span></dt><dt><span class="section"><a href="#ignoring-files">Ignoring files</a></span></dt><dt><span class="section"><a href="#how-to-merge">How to merge</a></span></dt><dt><span class="section"><a href="#resolving-a-merge">Resolving a merge</a></span></dt><dd><dl><dt><span class="section"><a href="#conflict-resolution">Getting conflict-resolution help during a merge</a></span></dt></dl></dd><dt><span class="section"><a href="#undoing-a-merge">Undoing a merge</a></span></dt><dt><span class="section"><a href="#fast-forwards">Fast-forward merges</a></span></dt><dt><span class="section"><a href="#fixing-mistakes">Fixing mistakes</a></span></dt><dd><dl><dt><span class="section"><a href="#reverting-a-commit">Fixing a mistake with a new commit</a></span></dt><dt><span class="section"><a href="#fixing-a-mistake-by-rewriting-history">Fixing a mistake by rewriting history</a></span></dt><dt><span class="section"><a href="#checkout-of-path">Checking out an old version of a file</a></span></dt><dt><span class="section"><a href="#interrupted-work">Temporarily setting aside work in progress</a></span></dt></dl></dd><dt><span class="section"><a href="#ensuring-good-performance">Ensuring good performance</a></span></dt><dt><span class="section"><a href="#ensuring-reliability">Ensuring reliability</a></span></dt><dd><dl><dt><span class="section"><a href="#checking-for-corruption">Checking the repository for corruption</a></span></dt><dt><span class="section"><a href="#recovering-lost-changes">Recovering lost changes</a></span></dt></dl></dd></dl></div>

<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="telling-git-your-name"></a>Telling Git your name</h2></div></div></div>

<p>Before creating any commits, you should introduce yourself to Git.
The easiest way to do so is to use <a class="ulink" href="git-config.html" target="_top">git-config(1)</a>:</p>
<pre class="screen">$ git config --global user.name 'Your Name Comes Here'
$ git config --global user.email 'you@yourdomain.example.com'</pre>
<p>Which will add the following to a file named .<code class="literal">gitconfig</code> in your
home directory:</p>
<pre class="screen">[user]
        name = Your Name Comes Here
        email = you@yourdomain.example.com</pre>
<p>See the "CONFIGURATION FILE" section of <a class="ulink" href="git-config.html" target="_top">git-config(1)</a> for
details on the configuration file.  The file is plain text, so you can
also edit it with your favorite editor.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="creating-a-new-repository"></a>Creating a new repository</h2></div></div></div>

<p>Creating a new repository from scratch is very easy:</p>
<pre class="screen">$ mkdir project
$ cd project
$ git init</pre>
<p>If you have some initial content (say, a tarball):</p>
<pre class="screen">$ tar xzvf project.tar.gz
$ cd project
$ git init
$ git add . # include everything below ./ in the first commit:
$ git commit</pre>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="how-to-make-a-commit"></a>How to make a commit</h2></div></div></div>

<p>Creating a new commit takes three steps:</p>
<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
Making some changes to the working directory using your
favorite editor.
</li><li class="listitem">
Telling Git about your changes.
</li><li class="listitem">
Creating the commit using the content you told Git about
in step 2.
</li></ol></div>
<p>In practice, you can interleave and repeat steps 1 and 2 as many
times as you want: in order to keep track of what you want committed
at step 3, Git maintains a snapshot of the tree’s contents in a
special staging area called "the index."</p>
<p>At the beginning, the content of the index will be identical to
that of the HEAD.  The command <code class="literal">git</code> <code class="literal">diff</code> <code class="literal">--cached</code>, which shows
the difference between the HEAD and the index, should therefore
produce no output at that point.</p>
<p>Modifying the index is easy:</p>
<p>To update the index with the contents of a new or modified file, use</p>
<pre class="screen">$ git add path/to/file</pre>
<p>To remove a file from the index and from the working tree, use</p>
<pre class="screen">$ git rm path/to/file</pre>
<p>After each step you can verify that</p>
<pre class="screen">$ git diff --cached</pre>
<p>always shows the difference between the HEAD and the index file—​this
is what you’d commit if you created the commit now—​and that</p>
<pre class="screen">$ git diff</pre>
<p>shows the difference between the working tree and the index file.</p>
<p>Note that <code class="literal">git</code> <code class="literal">add</code> always adds just the current contents of a file
to the index; further changes to the same file will be ignored unless
you run <code class="literal">git</code> <code class="literal">add</code> on the file again.</p>
<p>When you’re ready, just run</p>
<pre class="screen">$ git commit</pre>
<p>and Git will prompt you for a commit message and then create the new
commit.  Check to make sure it looks like what you expected with</p>
<pre class="screen">$ git show</pre>
<p>As a special shortcut,</p>
<pre class="screen">$ git commit -a</pre>
<p>will update the index with any files that you’ve modified or removed
and create a commit, all in one step.</p>
<p>A number of commands are useful for keeping track of what you’re
about to commit:</p>
<pre class="screen">$ git diff --cached # difference between HEAD and the index; what
                    # would be committed if you ran "commit" now.
$ git diff          # difference between the index file and your
                    # working directory; changes that would not
                    # be included if you ran "commit" now.
$ git diff HEAD     # difference between HEAD and working tree; what
                    # would be committed if you ran "commit -a" now.
$ git status        # a brief per-file summary of the above.</pre>
<p>You can also use <a class="ulink" href="git-gui.html" target="_top">git-gui(1)</a> to create commits, view changes in
the index and the working tree files, and individually select diff hunks
for inclusion in the index (by right-clicking on the diff hunk and
choosing "Stage Hunk For Commit").</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="creating-good-commit-messages"></a>Creating good commit messages</h2></div></div></div>

<p>Though not required, it’s a good idea to begin the commit message
with a single short (no more than 50 characters) line summarizing the
change, followed by a blank line and then a more thorough
description.  The text up to the first blank line in a commit
message is treated as the commit title, and that title is used
throughout Git.  For example, <a class="ulink" href="git-format-patch.html" target="_top">git-format-patch(1)</a> turns a
commit into email, and it uses the title on the Subject line and the
rest of the commit in the body.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="ignoring-files"></a>Ignoring files</h2></div></div></div>

<p>A project will often generate files that you do <span class="emphasis"><em>not</em></span> want to track with Git.
This typically includes files generated by a build process or temporary
backup files made by your editor. Of course, <span class="emphasis"><em>not</em></span> tracking files with Git
is just a matter of <span class="emphasis"><em>not</em></span> calling <code class="literal">git</code> <code class="literal">add</code> on them. But it quickly becomes
annoying to have these untracked files lying around; e.g. they make
<code class="literal">git</code> <code class="literal">add</code> . practically useless, and they keep showing up in the output of
<code class="literal">git</code> <code class="literal">status</code>.</p>
<p>You can tell Git to ignore certain files by creating a file called
.<code class="literal">gitignore</code> in the top level of your working directory, with contents
such as:</p>
<pre class="screen"># Lines starting with '#' are considered comments.
# Ignore any file named foo.txt.
foo.txt
# Ignore (generated) html files,
*.html
# except foo.html which is maintained by hand.
!foo.html
# Ignore objects and archives.
*.[oa]</pre>
<p>See <a class="ulink" href="gitignore.html" target="_top">gitignore(5)</a> for a detailed explanation of the syntax.  You can
also place .gitignore files in other directories in your working tree, and they
will apply to those directories and their subdirectories.  The .<code class="literal">gitignore</code>
files can be added to your repository like any other files (just run <code class="literal">git</code> <code class="literal">add</code>
<code class="literal">.gitignore</code> and <code class="literal">git</code> <code class="literal">commit</code>, as usual), which is convenient when the exclude
patterns (such as patterns matching build output files) would also make sense
for other users who clone your repository.</p>
<p>If you wish the exclude patterns to affect only certain repositories
(instead of every repository for a given project), you may instead put
them in a file in your repository named .<code class="literal">git/info/exclude</code>, or in any
file specified by the <code class="literal">core.excludesFile</code> configuration variable.
Some Git commands can also take exclude patterns directly on the
command line.  See <a class="ulink" href="gitignore.html" target="_top">gitignore(5)</a> for the details.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="how-to-merge"></a>How to merge</h2></div></div></div>

<p>You can rejoin two diverging branches of development using
<a class="ulink" href="git-merge.html" target="_top">git-merge(1)</a>:</p>
<pre class="screen">$ git merge branchname</pre>
<p>merges the development in the branch <code class="literal">branchname</code> into the current
branch.</p>
<p>A merge is made by combining the changes made in <code class="literal">branchname</code> and the
changes made up to the latest commit in your current branch since
their histories forked. The work tree is overwritten by the result of
the merge when this combining is done cleanly, or overwritten by a
half-merged results when this combining results in conflicts.
Therefore, if you have uncommitted changes touching the same files as
the ones impacted by the merge, Git will refuse to proceed. Most of
the time, you will want to commit your changes before you can merge,
and if you don’t, then <a class="ulink" href="git-stash.html" target="_top">git-stash(1)</a> can take these changes
away while you’re doing the merge, and reapply them afterwards.</p>
<p>If the changes are independent enough, Git will automatically complete
the merge and commit the result (or reuse an existing commit in case
of <a class="link" href="#fast-forwards" title="Fast-forward merges">fast-forward</a>, see below). On the other hand,
if there are conflicts—​for example, if the same file is
modified in two different ways in the remote branch and the local
branch—​then you are warned; the output may look something like this:</p>
<pre class="screen">$ git merge next
 100% (4/4) done
Auto-merged file.txt
CONFLICT (content): Merge conflict in file.txt
Automatic merge failed; fix conflicts and then commit the result.</pre>
<p>Conflict markers are left in the problematic files, and after
you resolve the conflicts manually, you can update the index
with the contents and run Git commit, as you normally would when
creating a new file.</p>
<p>If you examine the resulting commit using gitk, you will see that it
has two parents, one pointing to the top of the current branch, and
one to the top of the other branch.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="resolving-a-merge"></a>Resolving a merge</h2></div></div></div>

<p>When a merge isn’t resolved automatically, Git leaves the index and
the working tree in a special state that gives you all the
information you need to help resolve the merge.</p>
<p>Files with conflicts are marked specially in the index, so until you
resolve the problem and update the index, <a class="ulink" href="git-commit.html" target="_top">git-commit(1)</a> will
fail:</p>
<pre class="screen">$ git commit
file.txt: needs merge</pre>
<p>Also, <a class="ulink" href="git-status.html" target="_top">git-status(1)</a> will list those files as "unmerged", and the
files with conflicts will have conflict markers added, like this:</p>
<pre class="screen">&lt;&lt;&lt;&lt;&lt;&lt;&lt; HEAD:file.txt
Hello world
=======
Goodbye
&gt;&gt;&gt;&gt;&gt;&gt;&gt; 77976da35a11db4580b80ae27e8d65caf5208086:file.txt</pre>
<p>All you need to do is edit the files to resolve the conflicts, and then</p>
<pre class="screen">$ git add file.txt
$ git commit</pre>
<p>Note that the commit message will already be filled in for you with
some information about the merge.  Normally you can just use this
default message unchanged, but you may add additional commentary of
your own if desired.</p>
<p>The above is all you need to know to resolve a simple merge.  But Git
also provides more information to help resolve conflicts:</p>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="conflict-resolution"></a>Getting conflict-resolution help during a merge</h3></div></div></div>

<p>All of the changes that Git was able to merge automatically are
already added to the index file, so <a class="ulink" href="git-diff.html" target="_top">git-diff(1)</a> shows only
the conflicts.  It uses an unusual syntax:</p>
<pre class="screen">$ git diff
diff --cc file.txt
index 802992c,2b60207..0000000
--- a/file.txt
+++ b/file.txt
@@@ -1,1 -1,1 +1,5 @@@
++&lt;&lt;&lt;&lt;&lt;&lt;&lt; HEAD:file.txt
 +Hello world
++=======
+ Goodbye
++&gt;&gt;&gt;&gt;&gt;&gt;&gt; 77976da35a11db4580b80ae27e8d65caf5208086:file.txt</pre>
<p>Recall that the commit which will be committed after we resolve this
conflict will have two parents instead of the usual one: one parent
will be HEAD, the tip of the current branch; the other will be the
tip of the other branch, which is stored temporarily in MERGE_HEAD.</p>
<p>During the merge, the index holds three versions of each file.  Each of
these three "file stages" represents a different version of the file:</p>
<pre class="screen">$ git show :1:file.txt  # the file in a common ancestor of both branches
$ git show :2:file.txt  # the version from HEAD.
$ git show :3:file.txt  # the version from MERGE_HEAD.</pre>
<p>When you ask <a class="ulink" href="git-diff.html" target="_top">git-diff(1)</a> to show the conflicts, it runs a
three-way diff between the conflicted merge results in the work tree with
stages 2 and 3 to show only hunks whose contents come from both sides,
mixed (in other words, when a hunk’s merge results come only from stage 2,
that part is not conflicting and is not shown.  Same for stage 3).</p>
<p>The diff above shows the differences between the working-tree version of
file.txt and the stage 2 and stage 3 versions.  So instead of preceding
each line by a single <code class="literal">+</code> or <code class="literal">-</code>, it now uses two columns: the first
column is used for differences between the first parent and the working
directory copy, and the second for differences between the second parent
and the working directory copy.  (See the "COMBINED DIFF FORMAT" section
of <a class="ulink" href="git-diff-files.html" target="_top">git-diff-files(1)</a> for a details of the format.)</p>
<p>After resolving the conflict in the obvious way (but before updating the
index), the diff will look like:</p>
<pre class="screen">$ git diff
diff --cc file.txt
index 802992c,2b60207..0000000
--- a/file.txt
+++ b/file.txt
@@@ -1,1 -1,1 +1,1 @@@
- Hello world
 -Goodbye
++Goodbye world</pre>
<p>This shows that our resolved version deleted "Hello world" from the
first parent, deleted "Goodbye" from the second parent, and added
"Goodbye world", which was previously absent from both.</p>
<p>Some special diff options allow diffing the working directory against
any of these stages:</p>
<pre class="screen">$ git diff -1 file.txt          # diff against stage 1
$ git diff --base file.txt      # same as the above
$ git diff -2 file.txt          # diff against stage 2
$ git diff --ours file.txt      # same as the above
$ git diff -3 file.txt          # diff against stage 3
$ git diff --theirs file.txt    # same as the above.</pre>
<p>When using the <span class="emphasis"><em>ort</em></span> merge strategy (the default), before updating the working
tree with the result of the merge, Git writes a ref named AUTO_MERGE
reflecting the state of the tree it is about to write. Conflicted paths with
textual conflicts that could not be automatically merged are written to this
tree with conflict markers, just as in the working tree. AUTO_MERGE can thus be
used with <a class="ulink" href="git-diff.html" target="_top">git-diff(1)</a> to show the changes you’ve made so far to resolve
conflicts. Using the same example as above, after resolving the conflict we
get:</p>
<pre class="screen">$ git diff AUTO_MERGE
diff --git a/file.txt b/file.txt
index cd10406..8bf5ae7 100644
--- a/file.txt
+++ b/file.txt
@@ -1,5 +1 @@
-&lt;&lt;&lt;&lt;&lt;&lt;&lt; HEAD:file.txt
-Hello world
-=======
-Goodbye
-&gt;&gt;&gt;&gt;&gt;&gt;&gt; 77976da35a11db4580b80ae27e8d65caf5208086:file.txt
+Goodbye world</pre>
<p>Notice that the diff shows we deleted the conflict markers and both versions of
the content line, and wrote "Goodbye world" instead.</p>
<p>The <a class="ulink" href="git-log.html" target="_top">git-log(1)</a> and <a class="ulink" href="gitk.html" target="_top">gitk(1)</a> commands also provide special help
for merges:</p>
<pre class="screen">$ git log --merge
$ gitk --merge</pre>
<p>These will display all commits which exist only on HEAD or on
MERGE_HEAD, and which touch an unmerged file.</p>
<p>You may also use <a class="ulink" href="git-mergetool.html" target="_top">git-mergetool(1)</a>, which lets you merge the
unmerged files using external tools such as Emacs or kdiff3.</p>
<p>Each time you resolve the conflicts in a file and update the index:</p>
<pre class="screen">$ git add file.txt</pre>
<p>the different stages of that file will be "collapsed", after which
<code class="literal">git</code> <code class="literal">diff</code> will (by default) no longer show diffs for that file.</p>
</div>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="undoing-a-merge"></a>Undoing a merge</h2></div></div></div>

<p>If you get stuck and decide to just give up and throw the whole mess
away, you can always return to the pre-merge state with</p>
<pre class="screen">$ git merge --abort</pre>
<p>Or, if you’ve already committed the merge that you want to throw away,</p>
<pre class="screen">$ git reset --hard ORIG_HEAD</pre>
<p>However, this last command can be dangerous in some cases—​never
throw away a commit you have already committed if that commit may
itself have been merged into another branch, as doing so may confuse
further merges.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="fast-forwards"></a>Fast-forward merges</h2></div></div></div>

<p>There is one special case not mentioned above, which is treated
differently.  Normally, a merge results in a merge commit, with two
parents, one pointing at each of the two lines of development that
were merged.</p>
<p>However, if the current branch is an ancestor of the other—​so every commit
present in the current branch is already contained in the other branch—​then Git
just performs a "fast-forward"; the head of the current branch is moved forward
to point at the head of the merged-in branch, without any new commits being
created.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="fixing-mistakes"></a>Fixing mistakes</h2></div></div></div>

<p>If you’ve messed up the working tree, but haven’t yet committed your
mistake, you can return the entire working tree to the last committed
state with</p>
<pre class="screen">$ git restore --staged --worktree :/</pre>
<p>If you make a commit that you later wish you hadn’t, there are two
fundamentally different ways to fix the problem:</p>
<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
You can create a new commit that undoes whatever was done
by the old commit.  This is the correct thing if your
mistake has already been made public.
</li><li class="listitem">
You can go back and modify the old commit.  You should
never do this if you have already made the history public;
Git does not normally expect the "history" of a project to
change, and cannot correctly perform repeated merges from
a branch that has had its history changed.
</li></ol></div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="reverting-a-commit"></a>Fixing a mistake with a new commit</h3></div></div></div>

<p>Creating a new commit that reverts an earlier change is very easy;
just pass the <a class="ulink" href="git-revert.html" target="_top">git-revert(1)</a> command a reference to the bad
commit; for example, to revert the most recent commit:</p>
<pre class="screen">$ git revert HEAD</pre>
<p>This will create a new commit which undoes the change in HEAD.  You
will be given a chance to edit the commit message for the new commit.</p>
<p>You can also revert an earlier change, for example, the next-to-last:</p>
<pre class="screen">$ git revert HEAD^</pre>
<p>In this case Git will attempt to undo the old change while leaving
intact any changes made since then.  If more recent changes overlap
with the changes to be reverted, then you will be asked to fix
conflicts manually, just as in the case of <a class="link" href="#resolving-a-merge" title="Resolving a merge">resolving a merge</a>.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="fixing-a-mistake-by-rewriting-history"></a>Fixing a mistake by rewriting history</h3></div></div></div>

<p>If the problematic commit is the most recent commit, and you have not
yet made that commit public, then you may just
<a class="link" href="#undoing-a-merge" title="Undoing a merge">destroy it using <code class="literal">git</code> <code class="literal">reset</code></a>.</p>
<p>Alternatively, you
can edit the working directory and update the index to fix your
mistake, just as if you were going to <a class="link" href="#how-to-make-a-commit" title="How to make a commit">create a
new commit</a>, then run</p>
<pre class="screen">$ git commit --amend</pre>
<p>which will replace the old commit by a new commit incorporating your
changes, giving you a chance to edit the old commit message first.</p>
<p>Again, you should never do this to a commit that may already have
been merged into another branch; use <a class="ulink" href="git-revert.html" target="_top">git-revert(1)</a> instead in
that case.</p>
<p>It is also possible to replace commits further back in the history, but
this is an advanced topic to be left for
<a class="link" href="#cleaning-up-history" title="Chapter 5. Rewriting history and maintaining patch series">another chapter</a>.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="checkout-of-path"></a>Checking out an old version of a file</h3></div></div></div>

<p>In the process of undoing a previous bad change, you may find it
useful to check out an older version of a particular file using
<a class="ulink" href="git-restore.html" target="_top">git-restore(1)</a>. The command</p>
<pre class="screen">$ git restore --source=HEAD^ path/to/file</pre>
<p>replaces path/to/file by the contents it had in the commit HEAD^, and
also updates the index to match.  It does not change branches.</p>
<p>If you just want to look at an old version of the file, without
modifying the working directory, you can do that with
<a class="ulink" href="git-show.html" target="_top">git-show(1)</a>:</p>
<pre class="screen">$ git show HEAD^:path/to/file</pre>
<p>which will display the given version of the file.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="interrupted-work"></a>Temporarily setting aside work in progress</h3></div></div></div>

<p>While you are in the middle of working on something complicated, you
find an unrelated but obvious and trivial bug.  You would like to fix it
before continuing.  You can use <a class="ulink" href="git-stash.html" target="_top">git-stash(1)</a> to save the current
state of your work, and after fixing the bug (or, optionally after doing
so on a different branch and then coming back), unstash the
work-in-progress changes.</p>
<pre class="screen">$ git stash push -m "work in progress for foo feature"</pre>
<p>This command will save your changes away to the <code class="literal">stash</code>, and
reset your working tree and the index to match the tip of your
current branch.  Then you can make your fix as usual.</p>
<pre class="screen">... edit and test ...
$ git commit -a -m "blorpl: typofix"</pre>
<p>After that, you can go back to what you were working on with
<code class="literal">git</code> <code class="literal">stash</code> <code class="literal">pop</code>:</p>
<pre class="screen">$ git stash pop</pre>
</div>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="ensuring-good-performance"></a>Ensuring good performance</h2></div></div></div>

<p>On large repositories, Git depends on compression to keep the history
information from taking up too much space on disk or in memory.  Some
Git commands may automatically run <a class="ulink" href="git-gc.html" target="_top">git-gc(1)</a>, so you don’t
have to worry about running it manually.  However, compressing a large
repository may take a while, so you may want to call <code class="literal">gc</code> explicitly
to avoid automatic compression kicking in when it is not convenient.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="ensuring-reliability"></a>Ensuring reliability</h2></div></div></div>

<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="checking-for-corruption"></a>Checking the repository for corruption</h3></div></div></div>

<p>The <a class="ulink" href="git-fsck.html" target="_top">git-fsck(1)</a> command runs a number of self-consistency checks
on the repository, and reports on any problems.  This may take some
time.</p>
<pre class="screen">$ git fsck
dangling commit 7281251ddd2a61e38657c827739c57015671a6b3
dangling commit 2706a059f258c6b245f298dc4ff2ccd30ec21a63
dangling commit 13472b7c4b80851a1bc551779171dcb03655e9b5
dangling blob 218761f9d90712d37a9c5e36f406f92202db07eb
dangling commit bf093535a34a4d35731aa2bd90fe6b176302f14f
dangling commit 8e4bec7f2ddaa268bef999853c25755452100f8e
dangling tree d50bb86186bf27b681d25af89d3b5b68382e4085
dangling tree b24c2473f1fd3d91352a624795be026d64c8841f
...</pre>
<p>You will see informational messages on dangling objects. They are objects
that still exist in the repository but are no longer referenced by any of
your branches, and can (and will) be removed after a while with <code class="literal">gc</code>.
You can run <code class="literal">git</code> <code class="literal">fsck</code> <code class="literal">--no-dangling</code> to suppress these messages, and still
view real errors.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="recovering-lost-changes"></a>Recovering lost changes</h3></div></div></div>

<div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="reflogs"></a>Reflogs</h4></div></div></div>

<p>Say you modify a branch with <a class="link" href="#fixing-mistakes" title="Fixing mistakes"><code class="literal">git</code> <code class="literal">reset</code> <code class="literal">--hard</code></a>,
and then realize that the branch was the only reference you had to
that point in history.</p>
<p>Fortunately, Git also keeps a log, called a "reflog", of all the
previous values of each branch.  So in this case you can still find the
old history using, for example,</p>
<pre class="screen">$ git log master@{1}</pre>
<p>This lists the commits reachable from the previous version of the
<code class="literal">master</code> branch head.  This syntax can be used with any Git command
that accepts a commit, not just with <code class="literal">git</code> <code class="literal">log</code>.  Some other examples:</p>
<pre class="screen">$ git show master@{2}           # See where the branch pointed 2,
$ git show master@{3}           # 3, ... changes ago.
$ gitk master@{yesterday}       # See where it pointed yesterday,
$ gitk master@{"1 week ago"}    # ... or last week
$ git log --walk-reflogs master # show reflog entries for master</pre>
<p>A separate reflog is kept for the HEAD, so</p>
<pre class="screen">$ git show HEAD@{"1 week ago"}</pre>
<p>will show what HEAD pointed to one week ago, not what the current branch
pointed to one week ago.  This allows you to see the history of what
you’ve checked out.</p>
<p>The reflogs are kept by default for 30 days, after which they may be
pruned.  See <a class="ulink" href="git-reflog.html" target="_top">git-reflog(1)</a> and <a class="ulink" href="git-gc.html" target="_top">git-gc(1)</a> to learn
how to control this pruning, and see the "SPECIFYING REVISIONS"
section of <a class="ulink" href="gitrevisions.html" target="_top">gitrevisions(7)</a> for details.</p>
<p>Note that the reflog history is very different from normal Git history.
While normal history is shared by every repository that works on the
same project, the reflog history is not shared: it tells you only about
how the branches in your local repository have changed over time.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="dangling-object-recovery"></a>Examining dangling objects</h4></div></div></div>

<p>In some situations the reflog may not be able to save you.  For example,
suppose you delete a branch, then realize you need the history it
contained.  The reflog is also deleted; however, if you have not yet
pruned the repository, then you may still be able to find the lost
commits in the dangling objects that <code class="literal">git</code> <code class="literal">fsck</code> reports.  See
<a class="xref" href="#dangling-objects" title="Dangling objects">the section called “Dangling objects”</a> for the details.</p>
<pre class="screen">$ git fsck
dangling commit 7281251ddd2a61e38657c827739c57015671a6b3
dangling commit 2706a059f258c6b245f298dc4ff2ccd30ec21a63
dangling commit 13472b7c4b80851a1bc551779171dcb03655e9b5
...</pre>
<p>You can examine
one of those dangling commits with, for example,</p>
<pre class="screen">$ gitk 7281251ddd --not --all</pre>
<p>which does what it sounds like: it says that you want to see the commit
history that is described by the dangling commit(s), but not the
history that is described by all your existing branches and tags.  Thus
you get exactly the history reachable from that commit that is lost.
(And notice that it might not be just one commit: we only report the
"tip of the line" as being dangling, but there might be a whole deep
and complex commit history that was dropped.)</p>
<p>If you decide you want the history back, you can always create a new
reference pointing to it, for example, a new branch:</p>
<pre class="screen">$ git branch recovered-branch 7281251ddd</pre>
<p>Other types of dangling objects (blobs and trees) are also possible, and
dangling objects can arise in other situations.</p>
</div>
</div>
</div>
</div>
<div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="sharing-development"></a>Chapter 4. Sharing development with others</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#getting-updates-With-git-pull">Getting updates with git pull</a></span></dt><dt><span class="section"><a href="#submitting-patches">Submitting patches to a project</a></span></dt><dt><span class="section"><a href="#importing-patches">Importing patches to a project</a></span></dt><dt><span class="section"><a href="#public-repositories">Public Git repositories</a></span></dt><dd><dl><dt><span class="section"><a href="#setting-up-a-public-repository">Setting up a public repository</a></span></dt><dt><span class="section"><a href="#exporting-via-git">Exporting a Git repository via the Git protocol</a></span></dt><dt><span class="section"><a href="#exporting-via-http">Exporting a git repository via HTTP</a></span></dt><dt><span class="section"><a href="#pushing-changes-to-a-public-repository">Pushing changes to a public repository</a></span></dt><dt><span class="section"><a href="#forcing-push">What to do when a push fails</a></span></dt><dt><span class="section"><a href="#setting-up-a-shared-repository">Setting up a shared repository</a></span></dt><dt><span class="section"><a href="#setting-up-gitweb">Allowing web browsing of a repository</a></span></dt></dl></dd><dt><span class="section"><a href="#how-to-get-a-git-repository-with-minimal-history">How to get a Git repository with minimal history</a></span></dt><dt><span class="section"><a href="#sharing-development-examples">Examples</a></span></dt><dd><dl><dt><span class="section"><a href="#maintaining-topic-branches">Maintaining topic branches for a Linux subsystem maintainer</a></span></dt></dl></dd></dl></div>

<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="getting-updates-With-git-pull"></a>Getting updates with git pull</h2></div></div></div>

<p>After you clone a repository and commit a few changes of your own, you
may wish to check the original repository for updates and merge them
into your own work.</p>
<p>We have already seen <a class="link" href="#Updating-a-repository-With-git-fetch" title="Updating a repository with git fetch">how to
keep remote-tracking branches up to date</a> with <a class="ulink" href="git-fetch.html" target="_top">git-fetch(1)</a>,
and how to merge two branches.  So you can merge in changes from the
original repository’s master branch with:</p>
<pre class="screen">$ git fetch
$ git merge origin/master</pre>
<p>However, the <a class="ulink" href="git-pull.html" target="_top">git-pull(1)</a> command provides a way to do this in
one step:</p>
<pre class="screen">$ git pull origin master</pre>
<p>In fact, if you have <code class="literal">master</code> checked out, then this branch has been
configured by <code class="literal">git</code> <code class="literal">clone</code> to get changes from the HEAD branch of the
origin repository.  So often you can
accomplish the above with just a simple</p>
<pre class="screen">$ git pull</pre>
<p>This command will fetch changes from the remote branches to your
remote-tracking branches <code class="literal">origin/*</code>, and merge the default branch into
the current branch.</p>
<p>More generally, a branch that is created from a remote-tracking branch
will pull
by default from that branch.  See the descriptions of the
<code class="literal">branch.</code><span class="emphasis"><em>&lt;name&gt;</em></span><code class="literal">.remote</code> and <code class="literal">branch.</code><span class="emphasis"><em>&lt;name&gt;</em></span><code class="literal">.merge</code> options in
<a class="ulink" href="git-config.html" target="_top">git-config(1)</a>, and the discussion of the <code class="literal">--track</code> option in
<a class="ulink" href="git-checkout.html" target="_top">git-checkout(1)</a>, to learn how to control these defaults.</p>
<p>In addition to saving you keystrokes, <code class="literal">git</code> <code class="literal">pull</code> also helps you by
producing a default commit message documenting the branch and
repository that you pulled from.</p>
<p>(But note that no such commit will be created in the case of a
<a class="link" href="#fast-forwards" title="Fast-forward merges">fast-forward</a>; instead, your branch will just be
updated to point to the latest commit from the upstream branch.)</p>
<p>The <code class="literal">git</code> <code class="literal">pull</code> command can also be given . as the "remote" repository,
in which case it just merges in a branch from the current repository; so
the commands</p>
<pre class="screen">$ git pull . branch
$ git merge branch</pre>
<p>are roughly equivalent.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="submitting-patches"></a>Submitting patches to a project</h2></div></div></div>

<p>If you just have a few changes, the simplest way to submit them may
just be to send them as patches in email:</p>
<p>First, use <a class="ulink" href="git-format-patch.html" target="_top">git-format-patch(1)</a>; for example:</p>
<pre class="screen">$ git format-patch origin</pre>
<p>will produce a numbered series of files in the current directory, one
for each patch in the current branch but not in <code class="literal">origin/HEAD</code>.</p>
<p><code class="literal">git</code> <code class="literal">format-patch</code> can include an initial "cover letter". You can insert
commentary on individual patches after the three dash line which
<code class="literal">format-patch</code> places after the commit message but before the patch
itself.  If you use <code class="literal">git</code> <code class="literal">notes</code> to track your cover letter material,
<code class="literal">git</code> <code class="literal">format-patch</code> <code class="literal">--notes</code> will include the commit’s notes in a similar
manner.</p>
<p>You can then import these into your mail client and send them by
hand.  However, if you have a lot to send at once, you may prefer to
use the <a class="ulink" href="git-send-email.html" target="_top">git-send-email(1)</a> script to automate the process.
Consult the mailing list for your project first to determine
their requirements for submitting patches.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="importing-patches"></a>Importing patches to a project</h2></div></div></div>

<p>Git also provides a tool called <a class="ulink" href="git-am.html" target="_top">git-am(1)</a> (am stands for
"apply mailbox"), for importing such an emailed series of patches.
Just save all of the patch-containing messages, in order, into a
single mailbox file, say <code class="literal">patches.mbox</code>, then run</p>
<pre class="screen">$ git am -3 patches.mbox</pre>
<p>Git will apply each patch in order; if any conflicts are found, it
will stop, and you can fix the conflicts as described in
"<a class="link" href="#resolving-a-merge" title="Resolving a merge">Resolving a merge</a>".  (The <code class="literal">-3</code> option tells
Git to perform a merge; if you would prefer it just to abort and
leave your tree and index untouched, you may omit that option.)</p>
<p>Once the index is updated with the results of the conflict
resolution, instead of creating a new commit, just run</p>
<pre class="screen">$ git am --continue</pre>
<p>and Git will create the commit for you and continue applying the
remaining patches from the mailbox.</p>
<p>The final result will be a series of commits, one for each patch in
the original mailbox, with authorship and commit log message each
taken from the message containing each patch.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="public-repositories"></a>Public Git repositories</h2></div></div></div>

<p>Another way to submit changes to a project is to tell the maintainer
of that project to pull the changes from your repository using
<a class="ulink" href="git-pull.html" target="_top">git-pull(1)</a>.  In the section "<a class="link" href="#getting-updates-With-git-pull" title="Getting updates with git pull">Getting updates with <code class="literal">git</code> <code class="literal">pull</code></a>" we described this as a way to get
updates from the "main" repository, but it works just as well in the
other direction.</p>
<p>If you and the maintainer both have accounts on the same machine, then
you can just pull changes from each other’s repositories directly;
commands that accept repository URLs as arguments will also accept a
local directory name:</p>
<pre class="screen">$ git clone /path/to/repository
$ git pull /path/to/other/repository</pre>
<p>or an ssh URL:</p>
<pre class="screen">$ git clone ssh://yourhost/~you/repository</pre>
<p>For projects with few developers, or for synchronizing a few private
repositories, this may be all you need.</p>
<p>However, the more common way to do this is to maintain a separate public
repository (usually on a different host) for others to pull changes
from.  This is usually more convenient, and allows you to cleanly
separate private work in progress from publicly visible work.</p>
<p>You will continue to do your day-to-day work in your personal
repository, but periodically "push" changes from your personal
repository into your public repository, allowing other developers to
pull from that repository.  So the flow of changes, in a situation
where there is one other developer with a public repository, looks
like this:</p>
<pre class="literallayout">                      you push
your personal repo ------------------&gt; your public repo
      ^                                     |
      |                                     |
      | you pull                            | they pull
      |                                     |
      |                                     |
      |               they push             V
their public repo &lt;------------------- their repo</pre>
<p>We explain how to do this in the following sections.</p>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="setting-up-a-public-repository"></a>Setting up a public repository</h3></div></div></div>

<p>Assume your personal repository is in the directory <code class="literal">~/proj</code>.  We
first create a new clone of the repository and tell <code class="literal">git</code> <code class="literal">daemon</code> that it
is meant to be public:</p>
<pre class="screen">$ git clone --bare ~/proj proj.git
$ touch proj.git/git-daemon-export-ok</pre>
<p>The resulting directory proj.git contains a "bare" git repository—​it is
just the contents of the .<code class="literal">git</code> directory, without any files checked out
around it.</p>
<p>Next, copy <code class="literal">proj.git</code> to the server where you plan to host the
public repository.  You can use scp, rsync, or whatever is most
convenient.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="exporting-via-git"></a>Exporting a Git repository via the Git protocol</h3></div></div></div>

<p>This is the preferred method.</p>
<p>If someone else administers the server, they should tell you what
directory to put the repository in, and what <code class="literal">git://</code> URL it will
appear at.  You can then skip to the section
"<a class="link" href="#pushing-changes-to-a-public-repository" title="Pushing changes to a public repository">Pushing changes to a public
repository</a>", below.</p>
<p>Otherwise, all you need to do is start <a class="ulink" href="git-daemon.html" target="_top">git-daemon(1)</a>; it will
listen on port 9418.  By default, it will allow access to any directory
that looks like a Git directory and contains the magic file
git-daemon-export-ok.  Passing some directory paths as <code class="literal">git</code> <code class="literal">daemon</code>
arguments will further restrict the exports to those paths.</p>
<p>You can also run <code class="literal">git</code> <code class="literal">daemon</code> as an inetd service; see the
<a class="ulink" href="git-daemon.html" target="_top">git-daemon(1)</a> man page for details.  (See especially the
examples section.)</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="exporting-via-http"></a>Exporting a git repository via HTTP</h3></div></div></div>

<p>The Git protocol gives better performance and reliability, but on a
host with a web server set up, HTTP exports may be simpler to set up.</p>
<p>All you need to do is place the newly created bare Git repository in
a directory that is exported by the web server, and make some
adjustments to give web clients some extra information they need:</p>
<pre class="screen">$ mv proj.git /home/you/public_html/proj.git
$ cd proj.git
$ git --bare update-server-info
$ mv hooks/post-update.sample hooks/post-update</pre>
<p>(For an explanation of the last two lines, see
<a class="ulink" href="git-update-server-info.html" target="_top">git-update-server-info(1)</a> and <a class="ulink" href="githooks.html" target="_top">githooks(5)</a>.)</p>
<p>Advertise the URL of <code class="literal">proj.git</code>.  Anybody else should then be able to
clone or pull from that URL, for example with a command line like:</p>
<pre class="screen">$ git clone http://yourserver.com/~you/proj.git</pre>
<p>(See also
<a class="ulink" href="howto/setup-git-server-over-http.html" target="_top">setup-git-server-over-http</a>
for a slightly more sophisticated setup using WebDAV which also
allows pushing over HTTP.)</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="pushing-changes-to-a-public-repository"></a>Pushing changes to a public repository</h3></div></div></div>

<p>Note that the two techniques outlined above (exporting via
<a class="link" href="#exporting-via-http" title="Exporting a git repository via HTTP">http</a> or <a class="link" href="#exporting-via-git" title="Exporting a Git repository via the Git protocol">git</a>) allow other
maintainers to fetch your latest changes, but they do not allow write
access, which you will need to update the public repository with the
latest changes created in your private repository.</p>
<p>The simplest way to do this is using <a class="ulink" href="git-push.html" target="_top">git-push(1)</a> and ssh; to
update the remote branch named <code class="literal">master</code> with the latest state of your
branch named <code class="literal">master</code>, run</p>
<pre class="screen">$ git push ssh://yourserver.com/~you/proj.git master:master</pre>
<p>or just</p>
<pre class="screen">$ git push ssh://yourserver.com/~you/proj.git master</pre>
<p>As with <code class="literal">git</code> <code class="literal">fetch</code>, <code class="literal">git</code> <code class="literal">push</code> will complain if this does not result in a
<a class="link" href="#fast-forwards" title="Fast-forward merges">fast-forward</a>; see the following section for details on
handling this case.</p>
<p>Note that the target of a <code class="literal">push</code> is normally a
<a class="link" href="#def_bare_repository">bare</a> repository.  You can also push to a
repository that has a checked-out working tree, but a push to update the
currently checked-out branch is denied by default to prevent confusion.
See the description of the receive.denyCurrentBranch option
in <a class="ulink" href="git-config.html" target="_top">git-config(1)</a> for details.</p>
<p>As with <code class="literal">git</code> <code class="literal">fetch</code>, you may also set up configuration options to
save typing; so, for example:</p>
<pre class="screen">$ git remote add public-repo ssh://yourserver.com/~you/proj.git</pre>
<p>adds the following to .<code class="literal">git/config</code>:</p>
<pre class="screen">[remote "public-repo"]
        url = yourserver.com:proj.git
        fetch = +refs/heads/*:refs/remotes/example/*</pre>
<p>which lets you do the same push with just</p>
<pre class="screen">$ git push public-repo master</pre>
<p>See the explanations of the <code class="literal">remote.</code><span class="emphasis"><em>&lt;name&gt;</em></span><code class="literal">.url</code>,
<code class="literal">branch.</code><span class="emphasis"><em>&lt;name&gt;</em></span><code class="literal">.remote</code>, and <code class="literal">remote.</code><span class="emphasis"><em>&lt;name&gt;</em></span><code class="literal">.push</code> options in
<a class="ulink" href="git-config.html" target="_top">git-config(1)</a> for details.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="forcing-push"></a>What to do when a push fails</h3></div></div></div>

<p>If a push would not result in a <a class="link" href="#fast-forwards" title="Fast-forward merges">fast-forward</a> of the
remote branch, then it will fail with an error like:</p>
<pre class="screen"> ! [rejected]        master -&gt; master (non-fast-forward)
error: failed to push some refs to '...'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.</pre>
<p>This can happen, for example, if you:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
use <code class="literal">git</code> <code class="literal">reset</code> <code class="literal">--hard</code> to remove already-published commits, or
</li><li class="listitem">
use <code class="literal">git</code> <code class="literal">commit</code> <code class="literal">--amend</code> to replace already-published commits
(as in <a class="xref" href="#fixing-a-mistake-by-rewriting-history" title="Fixing a mistake by rewriting history">the section called “Fixing a mistake by rewriting history”</a>), or
</li><li class="listitem">
use <code class="literal">git</code> <code class="literal">rebase</code> to rebase any already-published commits (as
in <a class="xref" href="#using-git-rebase" title="Keeping a patch series up to date using git rebase">the section called “Keeping a patch series up to date using git rebase”</a>).
</li></ul></div>
<p>You may force <code class="literal">git</code> <code class="literal">push</code> to perform the update anyway by preceding the
branch name with a plus sign:</p>
<pre class="screen">$ git push ssh://yourserver.com/~you/proj.git +master</pre>
<p>Note the addition of the <code class="literal">+</code> sign.  Alternatively, you can use the
<code class="literal">-f</code> flag to force the remote update, as in:</p>
<pre class="screen">$ git push -f ssh://yourserver.com/~you/proj.git master</pre>
<p>Normally whenever a branch head in a public repository is modified, it
is modified to point to a descendant of the commit that it pointed to
before.  By forcing a push in this situation, you break that convention.
(See <a class="xref" href="#problems-With-rewriting-history" title="Problems with rewriting history">the section called “Problems with rewriting history”</a>.)</p>
<p>Nevertheless, this is a common practice for people that need a simple
way to publish a work-in-progress patch series, and it is an acceptable
compromise as long as you warn other developers that this is how you
intend to manage the branch.</p>
<p>It’s also possible for a push to fail in this way when other people have
the right to push to the same repository.  In that case, the correct
solution is to retry the push after first updating your work: either by a
pull, or by a fetch followed by a rebase; see the
<a class="link" href="#setting-up-a-shared-repository" title="Setting up a shared repository">next section</a> and
<a class="ulink" href="gitcvs-migration.html" target="_top">gitcvs-migration(7)</a> for more.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="setting-up-a-shared-repository"></a>Setting up a shared repository</h3></div></div></div>

<p>Another way to collaborate is by using a model similar to that
commonly used in CVS, where several developers with special rights
all push to and pull from a single shared repository.  See
<a class="ulink" href="gitcvs-migration.html" target="_top">gitcvs-migration(7)</a> for instructions on how to
set this up.</p>
<p>However, while there is nothing wrong with Git’s support for shared
repositories, this mode of operation is not generally recommended,
simply because the mode of collaboration that Git supports—​by
exchanging patches and pulling from public repositories—​has so many
advantages over the central shared repository:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
Git’s ability to quickly import and merge patches allows a
single maintainer to process incoming changes even at very
high rates.  And when that becomes too much, <code class="literal">git</code> <code class="literal">pull</code> provides
an easy way for that maintainer to delegate this job to other
maintainers while still allowing optional review of incoming
changes.
</li><li class="listitem">
Since every developer’s repository has the same complete copy
of the project history, no repository is special, and it is
trivial for another developer to take over maintenance of a
project, either by mutual agreement, or because a maintainer
becomes unresponsive or difficult to work with.
</li><li class="listitem">
The lack of a central group of "committers" means there is
less need for formal decisions about who is "in" and who is
"out".
</li></ul></div>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="setting-up-gitweb"></a>Allowing web browsing of a repository</h3></div></div></div>

<p>The gitweb cgi script provides users an easy way to browse your
project’s revisions, file contents and logs without having to install
Git. Features like RSS/Atom feeds and blame/annotation details may
optionally be enabled.</p>
<p>The <a class="ulink" href="git-instaweb.html" target="_top">git-instaweb(1)</a> command provides a simple way to start
browsing the repository using gitweb. The default server when using
instaweb is lighttpd.</p>
<p>See the file gitweb/INSTALL in the Git source tree and
<a class="ulink" href="gitweb.html" target="_top">gitweb(1)</a> for instructions on details setting up a permanent
installation with a CGI or Perl capable server.</p>
</div>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="how-to-get-a-git-repository-with-minimal-history"></a>How to get a Git repository with minimal history</h2></div></div></div>

<p>A <a class="link" href="#def_shallow_clone">shallow clone</a>, with its truncated
history, is useful when one is interested only in recent history
of a project and getting full history from the upstream is
expensive.</p>
<p>A <a class="link" href="#def_shallow_clone">shallow clone</a> is created by specifying
the <a class="ulink" href="git-clone.html" target="_top">git-clone(1)</a> <code class="literal">--depth</code> switch. The depth can later be
changed with the <a class="ulink" href="git-fetch.html" target="_top">git-fetch(1)</a> <code class="literal">--depth</code> switch, or full
history restored with <code class="literal">--unshallow</code>.</p>
<p>Merging inside a <a class="link" href="#def_shallow_clone">shallow clone</a> will work as long
as a merge base is in the recent history.
Otherwise, it will be like merging unrelated histories and may
have to result in huge conflicts.  This limitation may make such
a repository unsuitable to be used in merge based workflows.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sharing-development-examples"></a>Examples</h2></div></div></div>

<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="maintaining-topic-branches"></a>Maintaining topic branches for a Linux subsystem maintainer</h3></div></div></div>

<p>This describes how Tony Luck uses Git in his role as maintainer of the
IA64 architecture for the Linux kernel.</p>
<p>He uses two public branches:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
A "test" tree into which patches are initially placed so that they
can get some exposure when integrated with other ongoing development.
This tree is available to Andrew for pulling into -mm whenever he
wants.
</li><li class="listitem">
A "release" tree into which tested patches are moved for final sanity
checking, and as a vehicle to send them upstream to Linus (by sending
him a "please pull" request.)
</li></ul></div>
<p>He also uses a set of temporary branches ("topic branches"), each
containing a logical grouping of patches.</p>
<p>To set this up, first create your work tree by cloning Linus’s public
tree:</p>
<pre class="screen">$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git work
$ cd work</pre>
<p>Linus’s tree will be stored in the remote-tracking branch named origin/master,
and can be updated using <a class="ulink" href="git-fetch.html" target="_top">git-fetch(1)</a>; you can track other
public trees using <a class="ulink" href="git-remote.html" target="_top">git-remote(1)</a> to set up a "remote" and
<a class="ulink" href="git-fetch.html" target="_top">git-fetch(1)</a> to keep them up to date; see
<a class="xref" href="#repositories-and-branches" title="Chapter 1. Repositories and Branches">Chapter 1, <i>Repositories and Branches</i></a>.</p>
<p>Now create the branches in which you are going to work; these start out
at the current tip of origin/master branch, and should be set up (using
the <code class="literal">--track</code> option to <a class="ulink" href="git-branch.html" target="_top">git-branch(1)</a>) to merge changes in from
Linus by default.</p>
<pre class="screen">$ git branch --track test origin/master
$ git branch --track release origin/master</pre>
<p>These can be easily kept up to date using <a class="ulink" href="git-pull.html" target="_top">git-pull(1)</a>.</p>
<pre class="screen">$ git switch test &amp;&amp; git pull
$ git switch release &amp;&amp; git pull</pre>
<p>Important note!  If you have any local changes in these branches, then
this merge will create a commit object in the history (with no local
changes Git will simply do a "fast-forward" merge).  Many people dislike
the "noise" that this creates in the Linux history, so you should avoid
doing this capriciously in the <code class="literal">release</code> branch, as these noisy commits
will become part of the permanent history when you ask Linus to pull
from the release branch.</p>
<p>A few configuration variables (see <a class="ulink" href="git-config.html" target="_top">git-config(1)</a>) can
make it easy to push both branches to your public tree.  (See
<a class="xref" href="#setting-up-a-public-repository" title="Setting up a public repository">the section called “Setting up a public repository”</a>.)</p>
<pre class="screen">$ cat &gt;&gt; .git/config &lt;&lt;EOF
[remote "mytree"]
        url =  master.kernel.org:/pub/scm/linux/kernel/git/aegl/linux.git
        push = release
        push = test
EOF</pre>
<p>Then you can push both the test and release trees using
<a class="ulink" href="git-push.html" target="_top">git-push(1)</a>:</p>
<pre class="screen">$ git push mytree</pre>
<p>or push just one of the test and release branches using:</p>
<pre class="screen">$ git push mytree test</pre>
<p>or</p>
<pre class="screen">$ git push mytree release</pre>
<p>Now to apply some patches from the community.  Think of a short
snappy name for a branch to hold this patch (or related group of
patches), and create a new branch from a recent stable tag of
Linus’s branch. Picking a stable base for your branch will:
1) help you: by avoiding inclusion of unrelated and perhaps lightly
tested changes
2) help future bug hunters that use <code class="literal">git</code> <code class="literal">bisect</code> to find problems</p>
<pre class="screen">$ git switch -c speed-up-spinlocks v2.6.35</pre>
<p>Now you apply the patch(es), run some tests, and commit the change(s).  If
the patch is a multi-part series, then you should apply each as a separate
commit to this branch.</p>
<pre class="screen">$ ... patch ... test  ... commit [ ... patch ... test ... commit ]*</pre>
<p>When you are happy with the state of this change, you can merge it into the
"test" branch in preparation to make it public:</p>
<pre class="screen">$ git switch test &amp;&amp; git merge speed-up-spinlocks</pre>
<p>It is unlikely that you would have any conflicts here …​ but you might if you
spent a while on this step and had also pulled new versions from upstream.</p>
<p>Sometime later when enough time has passed and testing done, you can pull the
same branch into the <code class="literal">release</code> tree ready to go upstream.  This is where you
see the value of keeping each patch (or patch series) in its own branch.  It
means that the patches can be moved into the <code class="literal">release</code> tree in any order.</p>
<pre class="screen">$ git switch release &amp;&amp; git merge speed-up-spinlocks</pre>
<p>After a while, you will have a number of branches, and despite the
well chosen names you picked for each of them, you may forget what
they are for, or what status they are in.  To get a reminder of what
changes are in a specific branch, use:</p>
<pre class="screen">$ git log linux..branchname | git shortlog</pre>
<p>To see whether it has already been merged into the test or release branches,
use:</p>
<pre class="screen">$ git log test..branchname</pre>
<p>or</p>
<pre class="screen">$ git log release..branchname</pre>
<p>(If this branch has not yet been merged, you will see some log entries.
If it has been merged, then there will be no output.)</p>
<p>Once a patch completes the great cycle (moving from test to release,
then pulled by Linus, and finally coming back into your local
<code class="literal">origin/master</code> branch), the branch for this change is no longer needed.
You detect this when the output from:</p>
<pre class="screen">$ git log origin..branchname</pre>
<p>is empty.  At this point the branch can be deleted:</p>
<pre class="screen">$ git branch -d branchname</pre>
<p>Some changes are so trivial that it is not necessary to create a separate
branch and then merge into each of the test and release branches.  For
these changes, just apply directly to the <code class="literal">release</code> branch, and then
merge that into the <code class="literal">test</code> branch.</p>
<p>After pushing your work to <code class="literal">mytree</code>, you can use
<a class="ulink" href="git-request-pull.html" target="_top">git-request-pull(1)</a> to prepare a "please pull" request message
to send to Linus:</p>
<pre class="screen">$ git push mytree
$ git request-pull origin mytree release</pre>
<p>Here are some of the scripts that simplify all this even further.</p>
<pre class="screen">==== update script ====
# Update a branch in my Git tree.  If the branch to be updated
# is origin, then pull from kernel.org.  Otherwise merge
# origin/master branch into test|release branch

case "$1" in
test|release)
        git checkout $1 &amp;&amp; git pull . origin
        ;;
origin)
        before=$(git rev-parse refs/remotes/origin/master)
        git fetch origin
        after=$(git rev-parse refs/remotes/origin/master)
        if [ $before != $after ]
        then
                git log $before..$after | git shortlog
        fi
        ;;
*)
        echo "usage: $0 origin|test|release" 1&gt;&amp;2
        exit 1
        ;;
esac</pre>
<pre class="screen">==== merge script ====
# Merge a branch into either the test or release branch

pname=$0

usage()
{
        echo "usage: $pname branch test|release" 1&gt;&amp;2
        exit 1
}

git show-ref -q --verify -- refs/heads/"$1" || {
        echo "Can't see branch &lt;$1&gt;" 1&gt;&amp;2
        usage
}

case "$2" in
test|release)
        if [ $(git log $2..$1 | wc -c) -eq 0 ]
        then
                echo $1 already merged into $2 1&gt;&amp;2
                exit 1
        fi
        git checkout $2 &amp;&amp; git pull . $1
        ;;
*)
        usage
        ;;
esac</pre>
<pre class="screen">==== status script ====
# report on status of my ia64 Git tree

gb=$(tput setab 2)
rb=$(tput setab 1)
restore=$(tput setab 9)

if [ `git rev-list test..release | wc -c` -gt 0 ]
then
        echo $rb Warning: commits in release that are not in test $restore
        git log test..release
fi

for branch in `git show-ref --heads | sed 's|^.*/||'`
do
        if [ $branch = test -o $branch = release ]
        then
                continue
        fi

        echo -n $gb ======= $branch ====== $restore " "
        status=
        for ref in test release origin/master
        do
                if [ `git rev-list $ref..$branch | wc -c` -gt 0 ]
                then
                        status=$status${ref:0:1}
                fi
        done
        case $status in
        trl)
                echo $rb Need to pull into test $restore
                ;;
        rl)
                echo "In test"
                ;;
        l)
                echo "Waiting for linus"
                ;;
        "")
                echo $rb All done $restore
                ;;
        *)
                echo $rb "&lt;$status&gt;" $restore
                ;;
        esac
        git log origin/master..$branch | git shortlog
done</pre>
</div>
</div>
</div>
<div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="cleaning-up-history"></a>Chapter 5. Rewriting history and maintaining patch series</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#patch-series">Creating the perfect patch series</a></span></dt><dt><span class="section"><a href="#using-git-rebase">Keeping a patch series up to date using git rebase</a></span></dt><dt><span class="section"><a href="#rewriting-one-commit">Rewriting a single commit</a></span></dt><dt><span class="section"><a href="#reordering-patch-series">Reordering or selecting from a patch series</a></span></dt><dt><span class="section"><a href="#interactive-rebase">Using interactive rebases</a></span></dt><dt><span class="section"><a href="#patch-series-tools">Other tools</a></span></dt><dt><span class="section"><a href="#problems-With-rewriting-history">Problems with rewriting history</a></span></dt><dt><span class="section"><a href="#bisect-merges">Why bisecting merge commits can be harder than bisecting linear history</a></span></dt></dl></div>

<p>Normally commits are only added to a project, never taken away or
replaced.  Git is designed with this assumption, and violating it will
cause Git’s merge machinery (for example) to do the wrong thing.</p>
<p>However, there is a situation in which it can be useful to violate this
assumption.</p>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="patch-series"></a>Creating the perfect patch series</h2></div></div></div>

<p>Suppose you are a contributor to a large project, and you want to add a
complicated feature, and to present it to the other developers in a way
that makes it easy for them to read your changes, verify that they are
correct, and understand why you made each change.</p>
<p>If you present all of your changes as a single patch (or commit), they
may find that it is too much to digest all at once.</p>
<p>If you present them with the entire history of your work, complete with
mistakes, corrections, and dead ends, they may be overwhelmed.</p>
<p>So the ideal is usually to produce a series of patches such that:</p>
<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
Each patch can be applied in order.
</li><li class="listitem">
Each patch includes a single logical change, together with a
message explaining the change.
</li><li class="listitem">
No patch introduces a regression: after applying any initial
part of the series, the resulting project still compiles and
works, and has no bugs that it didn’t have before.
</li><li class="listitem">
The complete series produces the same end result as your own
(probably much messier!) development process did.
</li></ol></div>
<p>We will introduce some tools that can help you do this, explain how to
use them, and then explain some of the problems that can arise because
you are rewriting history.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="using-git-rebase"></a>Keeping a patch series up to date using git rebase</h2></div></div></div>

<p>Suppose that you create a branch <code class="literal">mywork</code> on a remote-tracking branch
<code class="literal">origin</code>, and create some commits on top of it:</p>
<pre class="screen">$ git switch -c mywork origin
$ vi file.txt
$ git commit
$ vi otherfile.txt
$ git commit
...</pre>
<p>You have performed no merges into mywork, so it is just a simple linear
sequence of patches on top of <code class="literal">origin</code>:</p>
<pre class="literallayout"> o--o--O &lt;-- origin
        \
         a--b--c &lt;-- mywork</pre>
<p>Some more interesting work has been done in the upstream project, and
<code class="literal">origin</code> has advanced:</p>
<pre class="literallayout"> o--o--O--o--o--o &lt;-- origin
        \
         a--b--c &lt;-- mywork</pre>
<p>At this point, you could use <code class="literal">pull</code> to merge your changes back in;
the result would create a new merge commit, like this:</p>
<pre class="literallayout"> o--o--O--o--o--o &lt;-- origin
        \        \
         a--b--c--m &lt;-- mywork</pre>
<p>However, if you prefer to keep the history in mywork a simple series of
commits without any merges, you may instead choose to use
<a class="ulink" href="git-rebase.html" target="_top">git-rebase(1)</a>:</p>
<pre class="screen">$ git switch mywork
$ git rebase origin</pre>
<p>This will remove each of your commits from mywork, temporarily saving
them as patches (in a directory named .<code class="literal">git/rebase-apply</code>), update mywork to
point at the latest version of origin, then apply each of the saved
patches to the new mywork.  The result will look like:</p>
<pre class="literallayout"> o--o--O--o--o--o &lt;-- origin
                 \
                  a'--b'--c' &lt;-- mywork</pre>
<p>In the process, it may discover conflicts.  In that case it will stop
and allow you to fix the conflicts; after fixing conflicts, use <code class="literal">git</code> <code class="literal">add</code>
to update the index with those contents, and then, instead of
running <code class="literal">git</code> <code class="literal">commit</code>, just run</p>
<pre class="screen">$ git rebase --continue</pre>
<p>and Git will continue applying the rest of the patches.</p>
<p>At any point you may use the <code class="literal">--abort</code> option to abort this process and
return mywork to the state it had before you started the rebase:</p>
<pre class="screen">$ git rebase --abort</pre>
<p>If you need to reorder or edit a number of commits in a branch, it may
be easier to use <code class="literal">git</code> <code class="literal">rebase</code> <code class="literal">-i</code>, which allows you to reorder and
squash commits, as well as marking them for individual editing during
the rebase.  See <a class="xref" href="#interactive-rebase" title="Using interactive rebases">the section called “Using interactive rebases”</a> for details, and
<a class="xref" href="#reordering-patch-series" title="Reordering or selecting from a patch series">the section called “Reordering or selecting from a patch series”</a> for alternatives.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="rewriting-one-commit"></a>Rewriting a single commit</h2></div></div></div>

<p>We saw in <a class="xref" href="#fixing-a-mistake-by-rewriting-history" title="Fixing a mistake by rewriting history">the section called “Fixing a mistake by rewriting history”</a> that you can replace the
most recent commit using</p>
<pre class="screen">$ git commit --amend</pre>
<p>which will replace the old commit by a new commit incorporating your
changes, giving you a chance to edit the old commit message first.
This is useful for fixing typos in your last commit, or for adjusting
the patch contents of a poorly staged commit.</p>
<p>If you need to amend commits from deeper in your history, you can
use <a class="link" href="#interactive-rebase" title="Using interactive rebases">interactive rebase’s <code class="literal">edit</code> instruction</a>.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="reordering-patch-series"></a>Reordering or selecting from a patch series</h2></div></div></div>

<p>Sometimes you want to edit a commit deeper in your history.  One
approach is to use <code class="literal">git</code> <code class="literal">format-patch</code> to create a series of patches
and then reset the state to before the patches:</p>
<pre class="screen">$ git format-patch origin
$ git reset --hard origin</pre>
<p>Then modify, reorder, or eliminate patches as needed before applying
them again with <a class="ulink" href="git-am.html" target="_top">git-am(1)</a>:</p>
<pre class="screen">$ git am *.patch</pre>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="interactive-rebase"></a>Using interactive rebases</h2></div></div></div>

<p>You can also edit a patch series with an interactive rebase.  This is
the same as <a class="link" href="#reordering-patch-series" title="Reordering or selecting from a patch series">reordering a patch series using
<code class="literal">format-patch</code></a>, so use whichever interface you like best.</p>
<p>Rebase your current HEAD on the last commit you want to retain as-is.
For example, if you want to reorder the last 5 commits, use:</p>
<pre class="screen">$ git rebase -i HEAD~5</pre>
<p>This will open your editor with a list of steps to be taken to perform
your rebase.</p>
<pre class="screen">pick deadbee The oneline of this commit
pick fa1afe1 The oneline of the next commit
...

# Rebase c0ffeee..deadbee onto c0ffeee
#
# Commands:
#  p, pick = use commit
#  r, reword = use commit, but edit the commit message
#  e, edit = use commit, but stop for amending
#  s, squash = use commit, but meld into previous commit
#  f, fixup = like "squash", but discard this commit's log message
#  x, exec = run command (the rest of the line) using shell
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out</pre>
<p>As explained in the comments, you can reorder commits, squash them
together, edit commit messages, etc. by editing the list.  Once you
are satisfied, save the list and close your editor, and the rebase
will begin.</p>
<p>The rebase will stop where <code class="literal">pick</code> has been replaced with <code class="literal">edit</code> or
when a step in the list fails to mechanically resolve conflicts and
needs your help.  When you are done editing and/or resolving conflicts
you can continue with <code class="literal">git</code> <code class="literal">rebase</code> <code class="literal">--continue</code>.  If you decide that
things are getting too hairy, you can always bail out with <code class="literal">git</code> <code class="literal">rebase</code>
<code class="literal">--abort</code>.  Even after the rebase is complete, you can still recover
the original branch by using the <a class="link" href="#reflogs" title="Reflogs">reflog</a>.</p>
<p>For a more detailed discussion of the procedure and additional tips,
see the "INTERACTIVE MODE" section of <a class="ulink" href="git-rebase.html" target="_top">git-rebase(1)</a>.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="patch-series-tools"></a>Other tools</h2></div></div></div>

<p>There are numerous other tools, such as StGit, which exist for the
purpose of maintaining a patch series.  These are outside of the scope of
this manual.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="problems-With-rewriting-history"></a>Problems with rewriting history</h2></div></div></div>

<p>The primary problem with rewriting the history of a branch has to do
with merging.  Suppose somebody fetches your branch and merges it into
their branch, with a result something like this:</p>
<pre class="literallayout"> o--o--O--o--o--o &lt;-- origin
        \        \
         t--t--t--m &lt;-- their branch:</pre>
<p>Then suppose you modify the last three commits:</p>
<pre class="literallayout">         o--o--o &lt;-- new head of origin
        /
 o--o--O--o--o--o &lt;-- old head of origin</pre>
<p>If we examined all this history together in one repository, it will
look like:</p>
<pre class="literallayout">         o--o--o &lt;-- new head of origin
        /
 o--o--O--o--o--o &lt;-- old head of origin
        \        \
         t--t--t--m &lt;-- their branch:</pre>
<p>Git has no way of knowing that the new head is an updated version of
the old head; it treats this situation exactly the same as it would if
two developers had independently done the work on the old and new heads
in parallel.  At this point, if someone attempts to merge the new head
in to their branch, Git will attempt to merge together the two (old and
new) lines of development, instead of trying to replace the old by the
new.  The results are likely to be unexpected.</p>
<p>You may still choose to publish branches whose history is rewritten,
and it may be useful for others to be able to fetch those branches in
order to examine or test them, but they should not attempt to pull such
branches into their own work.</p>
<p>For true distributed development that supports proper merging,
published branches should never be rewritten.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="bisect-merges"></a>Why bisecting merge commits can be harder than bisecting linear history</h2></div></div></div>

<p>The <a class="ulink" href="git-bisect.html" target="_top">git-bisect(1)</a> command correctly handles history that
includes merge commits.  However, when the commit that it finds is a
merge commit, the user may need to work harder than usual to figure out
why that commit introduced a problem.</p>
<p>Imagine this history:</p>
<pre class="literallayout">      ---Z---o---X---...---o---A---C---D
          \                       /
           o---o---Y---...---o---B</pre>
<p>Suppose that on the upper line of development, the meaning of one
of the functions that exists at Z is changed at commit X.  The
commits from Z leading to A change both the function’s
implementation and all calling sites that exist at Z, as well
as new calling sites they add, to be consistent.  There is no
bug at A.</p>
<p>Suppose that in the meantime on the lower line of development somebody
adds a new calling site for that function at commit Y.  The
commits from Z leading to B all assume the old semantics of that
function and the callers and the callee are consistent with each
other.  There is no bug at B, either.</p>
<p>Suppose further that the two development lines merge cleanly at C,
so no conflict resolution is required.</p>
<p>Nevertheless, the code at C is broken, because the callers added
on the lower line of development have not been converted to the new
semantics introduced on the upper line of development.  So if all
you know is that D is bad, that Z is good, and that
<a class="ulink" href="git-bisect.html" target="_top">git-bisect(1)</a> identifies C as the culprit, how will you
figure out that the problem is due to this change in semantics?</p>
<p>When the result of a <code class="literal">git</code> <code class="literal">bisect</code> is a non-merge commit, you should
normally be able to discover the problem by examining just that commit.
Developers can make this easy by breaking their changes into small
self-contained commits.  That won’t help in the case above, however,
because the problem isn’t obvious from examination of any single
commit; instead, a global view of the development is required.  To
make matters worse, the change in semantics in the problematic
function may be just one small part of the changes in the upper
line of development.</p>
<p>On the other hand, if instead of merging at C you had rebased the
history between Z to B on top of A, you would have gotten this
linear history:</p>
<pre class="literallayout">    ---Z---o---X--...---o---A---o---o---Y*--...---o---B*--D*</pre>
<p>Bisecting between Z and D* would hit a single culprit commit Y*,
and understanding why Y* was broken would probably be easier.</p>
<p>Partly for this reason, many experienced Git users, even when
working on an otherwise merge-heavy project, keep the history
linear by rebasing against the latest upstream version before
publishing.</p>
</div>
</div>
<div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="advanced-branch-management"></a>Chapter 6. Advanced branch management</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#fetching-individual-branches">Fetching individual branches</a></span></dt><dt><span class="section"><a href="#fetch-fast-forwards">git fetch and fast-forwards</a></span></dt><dt><span class="section"><a href="#forcing-fetch">Forcing git fetch to do non-fast-forward updates</a></span></dt><dt><span class="section"><a href="#remote-branch-configuration">Configuring remote-tracking branches</a></span></dt></dl></div>

<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="fetching-individual-branches"></a>Fetching individual branches</h2></div></div></div>

<p>Instead of using <a class="ulink" href="git-remote.html" target="_top">git-remote(1)</a>, you can also choose just
to update one branch at a time, and to store it locally under an
arbitrary name:</p>
<pre class="screen">$ git fetch origin todo:my-todo-work</pre>
<p>The first argument, <code class="literal">origin</code>, just tells Git to fetch from the
repository you originally cloned from.  The second argument tells Git
to fetch the branch named <code class="literal">todo</code> from the remote repository, and to
store it locally under the name <code class="literal">refs/heads/my-todo-work</code>.</p>
<p>You can also fetch branches from other repositories; so</p>
<pre class="screen">$ git fetch git://example.com/proj.git master:example-master</pre>
<p>will create a new branch named <code class="literal">example-master</code> and store in it the
branch named <code class="literal">master</code> from the repository at the given URL.  If you
already have a branch named example-master, it will attempt to
<a class="link" href="#fast-forwards" title="Fast-forward merges">fast-forward</a> to the commit given by example.com’s
master branch.  In more detail:</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="fetch-fast-forwards"></a>git fetch and fast-forwards</h2></div></div></div>

<p>In the previous example, when updating an existing branch, <code class="literal">git</code> <code class="literal">fetch</code>
checks to make sure that the most recent commit on the remote
branch is a descendant of the most recent commit on your copy of the
branch before updating your copy of the branch to point at the new
commit.  Git calls this process a <a class="link" href="#fast-forwards" title="Fast-forward merges">fast-forward</a>.</p>
<p>A fast-forward looks something like this:</p>
<pre class="literallayout"> o--o--o--o &lt;-- old head of the branch
           \
            o--o--o &lt;-- new head of the branch</pre>
<p>In some cases it is possible that the new head will <span class="strong"><strong>not</strong></span> actually be
a descendant of the old head.  For example, the developer may have
realized a serious mistake was made and decided to backtrack,
resulting in a situation like:</p>
<pre class="literallayout"> o--o--o--o--a--b &lt;-- old head of the branch
           \
            o--o--o &lt;-- new head of the branch</pre>
<p>In this case, <code class="literal">git</code> <code class="literal">fetch</code> will fail, and print out a warning.</p>
<p>In that case, you can still force Git to update to the new head, as
described in the following section.  However, note that in the
situation above this may mean losing the commits labeled <code class="literal">a</code> and <code class="literal">b</code>,
unless you’ve already created a reference of your own pointing to
them.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="forcing-fetch"></a>Forcing git fetch to do non-fast-forward updates</h2></div></div></div>

<p>If git fetch fails because the new head of a branch is not a
descendant of the old head, you may force the update with:</p>
<pre class="screen">$ git fetch git://example.com/proj.git +master:refs/remotes/example/master</pre>
<p>Note the addition of the <code class="literal">+</code> sign.  Alternatively, you can use the <code class="literal">-f</code>
flag to force updates of all the fetched branches, as in:</p>
<pre class="screen">$ git fetch -f origin</pre>
<p>Be aware that commits that the old version of example/master pointed at
may be lost, as we saw in the previous section.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="remote-branch-configuration"></a>Configuring remote-tracking branches</h2></div></div></div>

<p>We saw above that <code class="literal">origin</code> is just a shortcut to refer to the
repository that you originally cloned from.  This information is
stored in Git configuration variables, which you can see using
<a class="ulink" href="git-config.html" target="_top">git-config(1)</a>:</p>
<pre class="screen">$ git config -l
core.repositoryformatversion=0
core.filemode=true
core.logallrefupdates=true
remote.origin.url=git://git.kernel.org/pub/scm/git/git.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master</pre>
<p>If there are other repositories that you also use frequently, you can
create similar configuration options to save typing; for example,</p>
<pre class="screen">$ git remote add example git://example.com/proj.git</pre>
<p>adds the following to .<code class="literal">git/config</code>:</p>
<pre class="screen">[remote "example"]
        url = git://example.com/proj.git
        fetch = +refs/heads/*:refs/remotes/example/*</pre>
<p>Also note that the above configuration can be performed by directly
editing the file .<code class="literal">git/config</code> instead of using <a class="ulink" href="git-remote.html" target="_top">git-remote(1)</a>.</p>
<p>After configuring the remote, the following three commands will do the
same thing:</p>
<pre class="screen">$ git fetch git://example.com/proj.git +refs/heads/*:refs/remotes/example/*
$ git fetch example +refs/heads/*:refs/remotes/example/*
$ git fetch example</pre>
<p>See <a class="ulink" href="git-config.html" target="_top">git-config(1)</a> for more details on the configuration
options mentioned above and <a class="ulink" href="git-fetch.html" target="_top">git-fetch(1)</a> for more details on
the refspec syntax.</p>
</div>
</div>
<div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="git-concepts"></a>Chapter 7. Git concepts</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#the-object-database">The Object Database</a></span></dt><dd><dl><dt><span class="section"><a href="#commit-object">Commit Object</a></span></dt><dt><span class="section"><a href="#tree-object">Tree Object</a></span></dt><dt><span class="section"><a href="#blob-object">Blob Object</a></span></dt><dt><span class="section"><a href="#trust">Trust</a></span></dt><dt><span class="section"><a href="#tag-object">Tag Object</a></span></dt><dt><span class="section"><a href="#pack-files">How Git stores objects efficiently: pack files</a></span></dt><dt><span class="section"><a href="#dangling-objects">Dangling objects</a></span></dt><dt><span class="section"><a href="#recovering-from-repository-corruption">Recovering from repository corruption</a></span></dt></dl></dd><dt><span class="section"><a href="#the-index">The index</a></span></dt></dl></div>

<p>Git is built on a small number of simple but powerful ideas.  While it
is possible to get things done without understanding them, you will find
Git much more intuitive if you do.</p>
<p>We start with the most important, the  <a class="link" href="#def_object_database">object
database</a> and the <a class="link" href="#def_index">index</a>.</p>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="the-object-database"></a>The Object Database</h2></div></div></div>

<p>We already saw in <a class="xref" href="#understanding-commits" title="Understanding History: Commits">the section called “Understanding History: Commits”</a> that all commits are stored
under a 40-digit "object name".  In fact, all the information needed to
represent the history of a project is stored in objects with such names.
In each case the name is calculated by taking the SHA-1 hash of the
contents of the object.  The SHA-1 hash is a cryptographic hash function.
What that means to us is that it is impossible to find two different
objects with the same name.  This has a number of advantages; among
others:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
Git can quickly determine whether two objects are identical or not,
just by comparing names.
</li><li class="listitem">
Since object names are computed the same way in every repository, the
same content stored in two repositories will always be stored under
the same name.
</li><li class="listitem">
Git can detect errors when it reads an object, by checking that the
object’s name is still the SHA-1 hash of its contents.
</li></ul></div>
<p>(See <a class="xref" href="#object-details" title="Object storage format">the section called “Object storage format”</a> for the details of the object formatting and
SHA-1 calculation.)</p>
<p>There are four different types of objects: "blob", "tree", "commit", and
"tag".</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
A <a class="link" href="#def_blob_object">"blob" object</a> is used to store file data.
</li><li class="listitem">
A <a class="link" href="#def_tree_object">"tree" object</a> ties one or more
"blob" objects into a directory structure. In addition, a tree object
can refer to other tree objects, thus creating a directory hierarchy.
</li><li class="listitem">
A <a class="link" href="#def_commit_object">"commit" object</a> ties such directory hierarchies
together into a <a class="link" href="#def_DAG">directed acyclic graph</a> of revisions—​each
commit contains the object name of exactly one tree designating the
directory hierarchy at the time of the commit. In addition, a commit
refers to "parent" commit objects that describe the history of how we
arrived at that directory hierarchy.
</li><li class="listitem">
A <a class="link" href="#def_tag_object">"tag" object</a> symbolically identifies and can be
used to sign other objects. It contains the object name and type of
another object, a symbolic name (of course!) and, optionally, a
signature.
</li></ul></div>
<p>The object types in some more detail:</p>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="commit-object"></a>Commit Object</h3></div></div></div>

<p>The "commit" object links a physical state of a tree with a description
of how we got there and why.  Use the <code class="literal">--pretty=raw</code> option to
<a class="ulink" href="git-show.html" target="_top">git-show(1)</a> or <a class="ulink" href="git-log.html" target="_top">git-log(1)</a> to examine your favorite
commit:</p>
<pre class="screen">$ git show -s --pretty=raw 2be7fcb476
commit 2be7fcb4764f2dbcee52635b91fedb1b3dcf7ab4
tree fb3a8bdd0ceddd019615af4d57a53f43d8cee2bf
parent 257a84d9d02e90447b149af58b271c19405edb6a
author Dave Watson &lt;dwatson@mimvista.com&gt; 1187576872 -0400
committer Junio C Hamano &lt;gitster@pobox.com&gt; 1187591163 -0700

    Fix misspelling of 'suppress' in docs

    Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;</pre>
<p>As you can see, a commit is defined by:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
a tree: The SHA-1 name of a tree object (as defined below), representing
the contents of a directory at a certain point in time.
</li><li class="listitem">
parent(s): The SHA-1 name(s) of some number of commits which represent the
immediately previous step(s) in the history of the project.  The
example above has one parent; merge commits may have more than
one.  A commit with no parents is called a "root" commit, and
represents the initial revision of a project.  Each project must have
at least one root.  A project can also have multiple roots, though
that isn’t common (or necessarily a good idea).
</li><li class="listitem">
an author: The name of the person responsible for this change, together
with its date.
</li><li class="listitem">
a committer: The name of the person who actually created the commit,
with the date it was done.  This may be different from the author, for
example, if the author was someone who wrote a patch and emailed it
to the person who used it to create the commit.
</li><li class="listitem">
a comment describing this commit.
</li></ul></div>
<p>Note that a commit does not itself contain any information about what
actually changed; all changes are calculated by comparing the contents
of the tree referred to by this commit with the trees associated with
its parents.  In particular, Git does not attempt to record file renames
explicitly, though it can identify cases where the existence of the same
file data at changing paths suggests a rename.  (See, for example, the
<code class="literal">-M</code> option to <a class="ulink" href="git-diff.html" target="_top">git-diff(1)</a>).</p>
<p>A commit is usually created by <a class="ulink" href="git-commit.html" target="_top">git-commit(1)</a>, which creates a
commit whose parent is normally the current HEAD, and whose tree is
taken from the content currently stored in the index.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="tree-object"></a>Tree Object</h3></div></div></div>

<p>The ever-versatile <a class="ulink" href="git-show.html" target="_top">git-show(1)</a> command can also be used to
examine tree objects, but <a class="ulink" href="git-ls-tree.html" target="_top">git-ls-tree(1)</a> will give you more
details:</p>
<pre class="screen">$ git ls-tree fb3a8bdd0ce
100644 blob 63c918c667fa005ff12ad89437f2fdc80926e21c    .gitignore
100644 blob 5529b198e8d14decbe4ad99db3f7fb632de0439d    .mailmap
100644 blob 6ff87c4664981e4397625791c8ea3bbb5f2279a3    COPYING
040000 tree 2fb783e477100ce076f6bf57e4a6f026013dc745    Documentation
100755 blob 3c0032cec592a765692234f1cba47dfdcc3a9200    GIT-VERSION-GEN
100644 blob 289b046a443c0647624607d471289b2c7dcd470b    INSTALL
100644 blob 4eb463797adc693dc168b926b6932ff53f17d0b1    Makefile
100644 blob 548142c327a6790ff8821d67c2ee1eff7a656b52    README
...</pre>
<p>As you can see, a tree object contains a list of entries, each with a
mode, object type, SHA-1 name, and name, sorted by name.  It represents
the contents of a single directory tree.</p>
<p>The object type may be a blob, representing the contents of a file, or
another tree, representing the contents of a subdirectory.  Since trees
and blobs, like all other objects, are named by the SHA-1 hash of their
contents, two trees have the same SHA-1 name if and only if their
contents (including, recursively, the contents of all subdirectories)
are identical.  This allows Git to quickly determine the differences
between two related tree objects, since it can ignore any entries with
identical object names.</p>
<p>(Note: in the presence of submodules, trees may also have commits as
entries.  See <a class="xref" href="#submodules" title="Chapter 8. Submodules">Chapter 8, <i>Submodules</i></a> for documentation.)</p>
<p>Note that the files all have mode 644 or 755: Git actually only pays
attention to the executable bit.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="blob-object"></a>Blob Object</h3></div></div></div>

<p>You can use <a class="ulink" href="git-show.html" target="_top">git-show(1)</a> to examine the contents of a blob; take,
for example, the blob in the entry for <code class="literal">COPYING</code> from the tree above:</p>
<pre class="screen">$ git show 6ff87c4664

 Note that the only valid version of the GPL as far as this project
 is concerned is _this_ particular version of the license (ie v2, not
 v2.2 or v3.x or whatever), unless explicitly otherwise stated.
...</pre>
<p>A "blob" object is nothing but a binary blob of data.  It doesn’t refer
to anything else or have attributes of any kind.</p>
<p>Since the blob is entirely defined by its data, if two files in a
directory tree (or in multiple different versions of the repository)
have the same contents, they will share the same blob object. The object
is totally independent of its location in the directory tree, and
renaming a file does not change the object that file is associated with.</p>
<p>Note that any tree or blob object can be examined using
<a class="ulink" href="git-show.html" target="_top">git-show(1)</a> with the &lt;revision&gt;:&lt;path&gt; syntax.  This can
sometimes be useful for browsing the contents of a tree that is not
currently checked out.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="trust"></a>Trust</h3></div></div></div>

<p>If you receive the SHA-1 name of a blob from one source, and its contents
from another (possibly untrusted) source, you can still trust that those
contents are correct as long as the SHA-1 name agrees.  This is because
the SHA-1 is designed so that it is infeasible to find different contents
that produce the same hash.</p>
<p>Similarly, you need only trust the SHA-1 name of a top-level tree object
to trust the contents of the entire directory that it refers to, and if
you receive the SHA-1 name of a commit from a trusted source, then you
can easily verify the entire history of commits reachable through
parents of that commit, and all of those contents of the trees referred
to by those commits.</p>
<p>So to introduce some real trust in the system, the only thing you need
to do is to digitally sign just <span class="emphasis"><em>one</em></span> special note, which includes the
name of a top-level commit.  Your digital signature shows others
that you trust that commit, and the immutability of the history of
commits tells others that they can trust the whole history.</p>
<p>In other words, you can easily validate a whole archive by just
sending out a single email that tells the people the name (SHA-1 hash)
of the top commit, and digitally sign that email using something
like GPG/PGP.</p>
<p>To assist in this, Git also provides the tag object…​</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="tag-object"></a>Tag Object</h3></div></div></div>

<p>A tag object contains an object, object type, tag name, the name of the
person ("tagger") who created the tag, and a message, which may contain
a signature, as can be seen using <a class="ulink" href="git-cat-file.html" target="_top">git-cat-file(1)</a>:</p>
<pre class="screen">$ git cat-file tag v1.5.0
object 437b1b20df4b356c9342dac8d38849f24ef44f27
type commit
tag v1.5.0
tagger Junio C Hamano &lt;junkio@cox.net&gt; 1171411200 +0000

GIT 1.5.0
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQBF0lGqwMbZpPMRm5oRAuRiAJ9ohBLd7s2kqjkKlq1qqC57SbnmzQCdG4ui
nLE/L9aUXdWeTFPron96DLA=
=2E+0
-----END PGP SIGNATURE-----</pre>
<p>See the <a class="ulink" href="git-tag.html" target="_top">git-tag(1)</a> command to learn how to create and verify tag
objects.  (Note that <a class="ulink" href="git-tag.html" target="_top">git-tag(1)</a> can also be used to create
"lightweight tags", which are not tag objects at all, but just simple
references whose names begin with <code class="literal">refs/tags/</code>).</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="pack-files"></a>How Git stores objects efficiently: pack files</h3></div></div></div>

<p>Newly created objects are initially created in a file named after the
object’s SHA-1 hash (stored in .<code class="literal">git/objects</code>).</p>
<p>Unfortunately this system becomes inefficient once a project has a
lot of objects.  Try this on an old project:</p>
<pre class="screen">$ git count-objects
6930 objects, 47620 kilobytes</pre>
<p>The first number is the number of objects which are kept in
individual files.  The second is the amount of space taken up by
those "loose" objects.</p>
<p>You can save space and make Git faster by moving these loose objects in
to a "pack file", which stores a group of objects in an efficient
compressed format; the details of how pack files are formatted can be
found in <a class="ulink" href="gitformat-pack.html" target="_top">gitformat-pack(5)</a>.</p>
<p>To put the loose objects into a pack, just run git repack:</p>
<pre class="screen">$ git repack
Counting objects: 6020, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (6020/6020), done.
Writing objects: 100% (6020/6020), done.
Total 6020 (delta 4070), reused 0 (delta 0)</pre>
<p>This creates a single "pack file" in .git/objects/pack/
containing all currently unpacked objects.  You can then run</p>
<pre class="screen">$ git prune</pre>
<p>to remove any of the "loose" objects that are now contained in the
pack.  This will also remove any unreferenced objects (which may be
created when, for example, you use <code class="literal">git</code> <code class="literal">reset</code> to remove a commit).
You can verify that the loose objects are gone by looking at the
.<code class="literal">git/objects</code> directory or by running</p>
<pre class="screen">$ git count-objects
0 objects, 0 kilobytes</pre>
<p>Although the object files are gone, any commands that refer to those
objects will work exactly as they did before.</p>
<p>The <a class="ulink" href="git-gc.html" target="_top">git-gc(1)</a> command performs packing, pruning, and more for
you, so is normally the only high-level command you need.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="dangling-objects"></a>Dangling objects</h3></div></div></div>

<p>The <a class="ulink" href="git-fsck.html" target="_top">git-fsck(1)</a> command will sometimes complain about dangling
objects.  They are not a problem.</p>
<p>The most common cause of dangling objects is that you’ve rebased a
branch, or you have pulled from somebody else who rebased a branch—​see
<a class="xref" href="#cleaning-up-history" title="Chapter 5. Rewriting history and maintaining patch series">Chapter 5, <i>Rewriting history and maintaining patch series</i></a>.  In that case, the old head of the original
branch still exists, as does everything it pointed to. The branch
pointer itself just doesn’t, since you replaced it with another one.</p>
<p>There are also other situations that cause dangling objects. For
example, a "dangling blob" may arise because you did a <code class="literal">git</code> <code class="literal">add</code> of a
file, but then, before you actually committed it and made it part of the
bigger picture, you changed something else in that file and committed
that <span class="strong"><strong>updated</strong></span> thing—​the old state that you added originally ends up
not being pointed to by any commit or tree, so it’s now a dangling blob
object.</p>
<p>Similarly, when the "ort" merge strategy runs, and finds that
there are criss-cross merges and thus more than one merge base (which is
fairly unusual, but it does happen), it will generate one temporary
midway tree (or possibly even more, if you had lots of criss-crossing
merges and more than two merge bases) as a temporary internal merge
base, and again, those are real objects, but the end result will not end
up pointing to them, so they end up "dangling" in your repository.</p>
<p>Generally, dangling objects aren’t anything to worry about. They can
even be very useful: if you screw something up, the dangling objects can
be how you recover your old tree (say, you did a rebase, and realized
that you really didn’t want to—​you can look at what dangling objects
you have, and decide to reset your head to some old dangling state).</p>
<p>For commits, you can just use:</p>
<pre class="screen">$ gitk &lt;dangling-commit-sha-goes-here&gt; --not --all</pre>
<p>This asks for all the history reachable from the given commit but not
from any branch, tag, or other reference.  If you decide it’s something
you want, you can always create a new reference to it, e.g.,</p>
<pre class="screen">$ git branch recovered-branch &lt;dangling-commit-sha-goes-here&gt;</pre>
<p>For blobs and trees, you can’t do the same, but you can still examine
them.  You can just do</p>
<pre class="screen">$ git show &lt;dangling-blob/tree-sha-goes-here&gt;</pre>
<p>to show what the contents of the blob were (or, for a tree, basically
what the <code class="literal">ls</code> for that directory was), and that may give you some idea
of what the operation was that left that dangling object.</p>
<p>Usually, dangling blobs and trees aren’t very interesting. They’re
almost always the result of either being a half-way mergebase (the blob
will often even have the conflict markers from a merge in it, if you
have had conflicting merges that you fixed up by hand), or simply
because you interrupted a <code class="literal">git</code> <code class="literal">fetch</code> with ^C or something like that,
leaving <span class="emphasis"><em>some</em></span> of the new objects in the object database, but just
dangling and useless.</p>
<p>Anyway, once you are sure that you’re not interested in any dangling
state, you can just prune all unreachable objects:</p>
<pre class="screen">$ git prune</pre>
<p>and they’ll be gone. (You should only run <code class="literal">git</code> <code class="literal">prune</code> on a quiescent
repository—​it’s kind of like doing a filesystem fsck recovery: you
don’t want to do that while the filesystem is mounted.
<code class="literal">git</code> <code class="literal">prune</code> is designed not to cause any harm in such cases of concurrent
accesses to a repository but you might receive confusing or scary messages.)</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="recovering-from-repository-corruption"></a>Recovering from repository corruption</h3></div></div></div>

<p>By design, Git treats data trusted to it with caution.  However, even in
the absence of bugs in Git itself, it is still possible that hardware or
operating system errors could corrupt data.</p>
<p>The first defense against such problems is backups.  You can back up a
Git directory using clone, or just using cp, tar, or any other backup
mechanism.</p>
<p>As a last resort, you can search for the corrupted objects and attempt
to replace them by hand.  Back up your repository before attempting this
in case you corrupt things even more in the process.</p>
<p>We’ll assume that the problem is a single missing or corrupted blob,
which is sometimes a solvable problem.  (Recovering missing trees and
especially commits is <span class="strong"><strong>much</strong></span> harder).</p>
<p>Before starting, verify that there is corruption, and figure out where
it is with <a class="ulink" href="git-fsck.html" target="_top">git-fsck(1)</a>; this may be time-consuming.</p>
<p>Assume the output looks like this:</p>
<pre class="screen">$ git fsck --full --no-dangling
broken link from    tree 2d9263c6d23595e7cb2a21e5ebbb53655278dff8
              to    blob 4b9458b3786228369c63936db65827de3cc06200
missing blob 4b9458b3786228369c63936db65827de3cc06200</pre>
<p>Now you know that blob 4b9458b3 is missing, and that the tree 2d9263c6
points to it.  If you could find just one copy of that missing blob
object, possibly in some other repository, you could move it into
.<code class="literal">git/objects/4b/9458b3..</code>. and be done.  Suppose you can’t.  You can
still examine the tree that pointed to it with <a class="ulink" href="git-ls-tree.html" target="_top">git-ls-tree(1)</a>,
which might output something like:</p>
<pre class="screen">$ git ls-tree 2d9263c6d23595e7cb2a21e5ebbb53655278dff8
100644 blob 8d14531846b95bfa3564b58ccfb7913a034323b8    .gitignore
100644 blob ebf9bf84da0aab5ed944264a5db2a65fe3a3e883    .mailmap
100644 blob ca442d313d86dc67e0a2e5d584b465bd382cbf5c    COPYING
...
100644 blob 4b9458b3786228369c63936db65827de3cc06200    myfile
...</pre>
<p>So now you know that the missing blob was the data for a file named
<code class="literal">myfile</code>.  And chances are you can also identify the directory—​let’s
say it’s in <code class="literal">somedirectory</code>.  If you’re lucky the missing copy might be
the same as the copy you have checked out in your working tree at
<code class="literal">somedirectory/myfile</code>; you can test whether that’s right with
<a class="ulink" href="git-hash-object.html" target="_top">git-hash-object(1)</a>:</p>
<pre class="screen">$ git hash-object -w somedirectory/myfile</pre>
<p>which will create and store a blob object with the contents of
somedirectory/myfile, and output the SHA-1 of that object.  if you’re
extremely lucky it might be 4b9458b3786228369c63936db65827de3cc06200, in
which case you’ve guessed right, and the corruption is fixed!</p>
<p>Otherwise, you need more information.  How do you tell which version of
the file has been lost?</p>
<p>The easiest way to do this is with:</p>
<pre class="screen">$ git log --raw --all --full-history -- somedirectory/myfile</pre>
<p>Because you’re asking for raw output, you’ll now get something like</p>
<pre class="screen">commit abc
Author:
Date:
...
:100644 100644 4b9458b newsha M somedirectory/myfile


commit xyz
Author:
Date:

...
:100644 100644 oldsha 4b9458b M somedirectory/myfile</pre>
<p>This tells you that the immediately following version of the file was
"newsha", and that the immediately preceding version was "oldsha".
You also know the commit messages that went with the change from oldsha
to 4b9458b and with the change from 4b9458b to newsha.</p>
<p>If you’ve been committing small enough changes, you may now have a good
shot at reconstructing the contents of the in-between state 4b9458b.</p>
<p>If you can do that, you can now recreate the missing object with</p>
<pre class="screen">$ git hash-object -w &lt;recreated-file&gt;</pre>
<p>and your repository is good again!</p>
<p>(Btw, you could have ignored the <code class="literal">fsck</code>, and started with doing a</p>
<pre class="screen">$ git log --raw --all</pre>
<p>and just looked for the sha of the missing object (4b9458b) in that
whole thing. It’s up to you—​Git does <span class="strong"><strong>have</strong></span> a lot of information, it is
just missing one particular blob version.</p>
</div>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="the-index"></a>The index</h2></div></div></div>

<p>The index is a binary file (generally kept in .<code class="literal">git/index</code>) containing a
sorted list of path names, each with permissions and the SHA-1 of a blob
object; <a class="ulink" href="git-ls-files.html" target="_top">git-ls-files(1)</a> can show you the contents of the index:</p>
<pre class="screen">$ git ls-files --stage
100644 63c918c667fa005ff12ad89437f2fdc80926e21c 0       .gitignore
100644 5529b198e8d14decbe4ad99db3f7fb632de0439d 0       .mailmap
100644 6ff87c4664981e4397625791c8ea3bbb5f2279a3 0       COPYING
100644 a37b2152bd26be2c2289e1f57a292534a51a93c7 0       Documentation/.gitignore
100644 fbefe9a45b00a54b58d94d06eca48b03d40a50e0 0       Documentation/Makefile
...
100644 2511aef8d89ab52be5ec6a5e46236b4b6bcd07ea 0       xdiff/xtypes.h
100644 2ade97b2574a9f77e7ae4002a4e07a6a38e46d07 0       xdiff/xutils.c
100644 d5de8292e05e7c36c4b68857c1cf9855e3d2f70a 0       xdiff/xutils.h</pre>
<p>Note that in older documentation you may see the index called the
"current directory cache" or just the "cache".  It has three important
properties:</p>
<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
<p class="simpara">The index contains all the information necessary to generate a single
(uniquely determined) tree object.</p>
<p class="simpara">For example, running <a class="ulink" href="git-commit.html" target="_top">git-commit(1)</a> generates this tree object
from the index, stores it in the object database, and uses it as the
tree object associated with the new commit.</p>
</li><li class="listitem">
<p class="simpara">The index enables fast comparisons between the tree object it defines
and the working tree.</p>
<p class="simpara">It does this by storing some additional data for each entry (such as
the last modified time).  This data is not displayed above, and is not
stored in the created tree object, but it can be used to determine
quickly which files in the working directory differ from what was
stored in the index, and thus save Git from having to read all of the
data from such files to look for changes.</p>
</li><li class="listitem">
<p class="simpara">It can efficiently represent information about merge conflicts
between different tree objects, allowing each pathname to be
associated with sufficient information about the trees involved that
you can create a three-way merge between them.</p>
<p class="simpara">We saw in <a class="xref" href="#conflict-resolution" title="Getting conflict-resolution help during a merge">the section called “Getting conflict-resolution help during a merge”</a> that during a merge the index can
store multiple versions of a single file (called "stages").  The third
column in the <a class="ulink" href="git-ls-files.html" target="_top">git-ls-files(1)</a> output above is the stage
number, and will take on values other than 0 for files with merge
conflicts.</p>
</li></ol></div>
<p>The index is thus a sort of temporary staging area, which is filled with
a tree which you are in the process of working on.</p>
<p>If you blow the index away entirely, you generally haven’t lost any
information as long as you have the name of the tree that it described.</p>
</div>
</div>
<div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="submodules"></a>Chapter 8. Submodules</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#pitfalls-with-submodules">Pitfalls with submodules</a></span></dt></dl></div>

<p>Large projects are often composed of smaller, self-contained modules.  For
example, an embedded Linux distribution’s source tree would include every
piece of software in the distribution with some local modifications; a movie
player might need to build against a specific, known-working version of a
decompression library; several independent programs might all share the same
build scripts.</p>
<p>With centralized revision control systems this is often accomplished by
including every module in one single repository.  Developers can check out
all modules or only the modules they need to work with.  They can even modify
files across several modules in a single commit while moving things around
or updating APIs and translations.</p>
<p>Git does not allow partial checkouts, so duplicating this approach in Git
would force developers to keep a local copy of modules they are not
interested in touching.  Commits in an enormous checkout would be slower
than you’d expect as Git would have to scan every directory for changes.
If modules have a lot of local history, clones would take forever.</p>
<p>On the plus side, distributed revision control systems can much better
integrate with external sources.  In a centralized model, a single arbitrary
snapshot of the external project is exported from its own revision control
and then imported into the local revision control on a vendor branch.  All
the history is hidden.  With distributed revision control you can clone the
entire external history and much more easily follow development and re-merge
local changes.</p>
<p>Git’s submodule support allows a repository to contain, as a subdirectory, a
checkout of an external project.  Submodules maintain their own identity;
the submodule support just stores the submodule repository location and
commit ID, so other developers who clone the containing project
("superproject") can easily clone all the submodules at the same revision.
Partial checkouts of the superproject are possible: you can tell Git to
clone none, some or all of the submodules.</p>
<p>The <a class="ulink" href="git-submodule.html" target="_top">git-submodule(1)</a> command is available since Git 1.5.3.  Users
with Git 1.5.2 can look up the submodule commits in the repository and
manually check them out; earlier versions won’t recognize the submodules at
all.</p>
<p>To see how submodule support works, create four example
repositories that can be used later as a submodule:</p>
<pre class="screen">$ mkdir ~/git
$ cd ~/git
$ for i in a b c d
do
        mkdir $i
        cd $i
        git init
        echo "module $i" &gt; $i.txt
        git add $i.txt
        git commit -m "Initial commit, submodule $i"
        cd ..
done</pre>
<p>Now create the superproject and add all the submodules:</p>
<pre class="screen">$ mkdir super
$ cd super
$ git init
$ for i in a b c d
do
        git submodule add ~/git/$i $i
done</pre>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>
<p>Do not use local URLs here if you plan to publish your superproject!</p>
</div>
<p>See what files <code class="literal">git</code> <code class="literal">submodule</code> created:</p>
<pre class="screen">$ ls -a
.  ..  .git  .gitmodules  a  b  c  d</pre>
<p>The <code class="literal">git</code> <code class="literal">submodule</code> <code class="literal">add</code> <span class="emphasis"><em>&lt;repo&gt;</em></span> <span class="emphasis"><em>&lt;path&gt;</em></span> command does a couple of things:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
It clones the submodule from <span class="emphasis"><em>&lt;repo&gt;</em></span> to the given <span class="emphasis"><em>&lt;path&gt;</em></span> under the
current directory and by default checks out the master branch.
</li><li class="listitem">
It adds the submodule’s clone path to the <a class="ulink" href="gitmodules.html" target="_top">gitmodules(5)</a> file and
adds this file to the index, ready to be committed.
</li><li class="listitem">
It adds the submodule’s current commit ID to the index, ready to be
committed.
</li></ul></div>
<p>Commit the superproject:</p>
<pre class="screen">$ git commit -m "Add submodules a, b, c and d."</pre>
<p>Now clone the superproject:</p>
<pre class="screen">$ cd ..
$ git clone super cloned
$ cd cloned</pre>
<p>The submodule directories are there, but they’re empty:</p>
<pre class="screen">$ ls -a a
.  ..
$ git submodule status
-d266b9873ad50488163457f025db7cdd9683d88b a
-e81d457da15309b4fef4249aba9b50187999670d b
-c1536a972b9affea0f16e0680ba87332dc059146 c
-d96249ff5d57de5de093e6baff9e0aafa5276a74 d</pre>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>
<p>The commit object names shown above would be different for you, but they
should match the HEAD commit object names of your repositories.  You can check
it by running <code class="literal">git</code> <code class="literal">ls-remote</code> <code class="literal">..</code><code class="literal">/a</code>.</p>
</div>
<p>Pulling down the submodules is a two-step process. First run <code class="literal">git</code> <code class="literal">submodule</code>
<code class="literal">init</code> to add the submodule repository URLs to .<code class="literal">git/config</code>:</p>
<pre class="screen">$ git submodule init</pre>
<p>Now use <code class="literal">git</code> <code class="literal">submodule</code> <code class="literal">update</code> to clone the repositories and check out the
commits specified in the superproject:</p>
<pre class="screen">$ git submodule update
$ cd a
$ ls -a
.  ..  .git  a.txt</pre>
<p>One major difference between <code class="literal">git</code> <code class="literal">submodule</code> <code class="literal">update</code> and <code class="literal">git</code> <code class="literal">submodule</code> <code class="literal">add</code> is
that <code class="literal">git</code> <code class="literal">submodule</code> <code class="literal">update</code> checks out a specific commit, rather than the tip
of a branch. It’s like checking out a tag: the head is detached, so you’re not
working on a branch.</p>
<pre class="screen">$ git branch
* (detached from d266b98)
  master</pre>
<p>If you want to make a change within a submodule and you have a detached head,
then you should create or checkout a branch, make your changes, publish the
change within the submodule, and then update the superproject to reference the
new commit:</p>
<pre class="screen">$ git switch master</pre>
<p>or</p>
<pre class="screen">$ git switch -c fix-up</pre>
<p>then</p>
<pre class="screen">$ echo "adding a line again" &gt;&gt; a.txt
$ git commit -a -m "Updated the submodule from within the superproject."
$ git push
$ cd ..
$ git diff
diff --git a/a b/a
index d266b98..261dfac 160000
--- a/a
+++ b/a
@@ -1 +1 @@
-Subproject commit d266b9873ad50488163457f025db7cdd9683d88b
+Subproject commit 261dfac35cb99d380eb966e102c1197139f7fa24
$ git add a
$ git commit -m "Updated submodule a."
$ git push</pre>
<p>You have to run <code class="literal">git</code> <code class="literal">submodule</code> <code class="literal">update</code> after <code class="literal">git</code> <code class="literal">pull</code> if you want to update
submodules, too.</p>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="pitfalls-with-submodules"></a>Pitfalls with submodules</h2></div></div></div>

<p>Always publish the submodule change before publishing the change to the
superproject that references it. If you forget to publish the submodule change,
others won’t be able to clone the repository:</p>
<pre class="screen">$ cd ~/git/super/a
$ echo i added another line to this file &gt;&gt; a.txt
$ git commit -a -m "doing it wrong this time"
$ cd ..
$ git add a
$ git commit -m "Updated submodule a again."
$ git push
$ cd ~/git/cloned
$ git pull
$ git submodule update
error: pathspec '261dfac35cb99d380eb966e102c1197139f7fa24' did not match any file(s) known to git.
Did you forget to 'git add'?
Unable to checkout '261dfac35cb99d380eb966e102c1197139f7fa24' in submodule path 'a'</pre>
<p>In older Git versions it could be easily forgotten to commit new or modified
files in a submodule, which silently leads to similar problems as not pushing
the submodule changes. Starting with Git 1.7.0 both <code class="literal">git</code> <code class="literal">status</code> and <code class="literal">git</code> <code class="literal">diff</code>
in the superproject show submodules as modified when they contain new or
modified files to protect against accidentally committing such a state. <code class="literal">git</code>
<code class="literal">diff</code> will also add a <code class="literal">-dirty</code> to the work tree side when generating patch
output or used with the <code class="literal">--submodule</code> option:</p>
<pre class="screen">$ git diff
diff --git a/sub b/sub
--- a/sub
+++ b/sub
@@ -1 +1 @@
-Subproject commit 3f356705649b5d566d97ff843cf193359229a453
+Subproject commit 3f356705649b5d566d97ff843cf193359229a453-dirty
$ git diff --submodule
Submodule sub 3f35670..3f35670-dirty:</pre>
<p>You also should not rewind branches in a submodule beyond commits that were
ever recorded in any superproject.</p>
<p>It’s not safe to run <code class="literal">git</code> <code class="literal">submodule</code> <code class="literal">update</code> if you’ve made and committed
changes within a submodule without checking out a branch first. They will be
silently overwritten:</p>
<pre class="screen">$ cat a.txt
module a
$ echo line added from private2 &gt;&gt; a.txt
$ git commit -a -m "line added inside private2"
$ cd ..
$ git submodule update
Submodule path 'a': checked out 'd266b9873ad50488163457f025db7cdd9683d88b'
$ cd a
$ cat a.txt
module a</pre>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>
<p>The changes are still visible in the submodule’s reflog.</p>
</div>
<p>If you have uncommitted changes in your submodule working tree, <code class="literal">git</code>
<code class="literal">submodule</code> <code class="literal">update</code> will not overwrite them.  Instead, you get the usual
warning about not being able switch from a dirty branch.</p>
</div>
</div>
<div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="low-level-operations"></a>Chapter 9. Low-level Git operations</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#object-manipulation">Object access and manipulation</a></span></dt><dt><span class="section"><a href="#the-workflow">The Workflow</a></span></dt><dd><dl><dt><span class="section"><a href="#working-directory-to-index">working directory → index</a></span></dt><dt><span class="section"><a href="#index-to-object-database">index → object database</a></span></dt><dt><span class="section"><a href="#object-database-to-index">object database → index</a></span></dt><dt><span class="section"><a href="#index-to-working-directory">index → working directory</a></span></dt><dt><span class="section"><a href="#tying-it-all-together">Tying it all together</a></span></dt></dl></dd><dt><span class="section"><a href="#examining-the-data">Examining the data</a></span></dt><dt><span class="section"><a href="#merging-multiple-trees">Merging multiple trees</a></span></dt><dt><span class="section"><a href="#merging-multiple-trees-2">Merging multiple trees, continued</a></span></dt></dl></div>

<p>Many of the higher-level commands were originally implemented as shell
scripts using a smaller core of low-level Git commands.  These can still
be useful when doing unusual things with Git, or just as a way to
understand its inner workings.</p>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="object-manipulation"></a>Object access and manipulation</h2></div></div></div>

<p>The <a class="ulink" href="git-cat-file.html" target="_top">git-cat-file(1)</a> command can show the contents of any object,
though the higher-level <a class="ulink" href="git-show.html" target="_top">git-show(1)</a> is usually more useful.</p>
<p>The <a class="ulink" href="git-commit-tree.html" target="_top">git-commit-tree(1)</a> command allows constructing commits with
arbitrary parents and trees.</p>
<p>A tree can be created with <a class="ulink" href="git-write-tree.html" target="_top">git-write-tree(1)</a> and its data can be
accessed by <a class="ulink" href="git-ls-tree.html" target="_top">git-ls-tree(1)</a>.  Two trees can be compared with
<a class="ulink" href="git-diff-tree.html" target="_top">git-diff-tree(1)</a>.</p>
<p>A tag is created with <a class="ulink" href="git-mktag.html" target="_top">git-mktag(1)</a>, and the signature can be
verified by <a class="ulink" href="git-verify-tag.html" target="_top">git-verify-tag(1)</a>, though it is normally simpler to
use <a class="ulink" href="git-tag.html" target="_top">git-tag(1)</a> for both.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="the-workflow"></a>The Workflow</h2></div></div></div>

<p>High-level operations such as <a class="ulink" href="git-commit.html" target="_top">git-commit(1)</a> and
<a class="ulink" href="git-restore.html" target="_top">git-restore(1)</a> work by moving data
between the working tree, the index, and the object database.  Git
provides low-level operations which perform each of these steps
individually.</p>
<p>Generally, all Git operations work on the index file. Some operations
work <span class="strong"><strong>purely</strong></span> on the index file (showing the current state of the
index), but most operations move data between the index file and either
the database or the working directory. Thus there are four main
combinations:</p>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="working-directory-to-index"></a>working directory → index</h3></div></div></div>

<p>The <a class="ulink" href="git-update-index.html" target="_top">git-update-index(1)</a> command updates the index with
information from the working directory.  You generally update the
index information by just specifying the filename you want to update,
like so:</p>
<pre class="screen">$ git update-index filename</pre>
<p>but to avoid common mistakes with filename globbing etc., the command
will not normally add totally new entries or remove old entries,
i.e. it will normally just update existing cache entries.</p>
<p>To tell Git that yes, you really do realize that certain files no
longer exist, or that new files should be added, you
should use the <code class="literal">--remove</code> and <code class="literal">--add</code> flags respectively.</p>
<p>NOTE! A <code class="literal">--remove</code> flag does <span class="emphasis"><em>not</em></span> mean that subsequent filenames will
necessarily be removed: if the files still exist in your directory
structure, the index will be updated with their new status, not
removed. The only thing <code class="literal">--remove</code> means is that update-index will be
considering a removed file to be a valid thing, and if the file really
does not exist any more, it will update the index accordingly.</p>
<p>As a special case, you can also do <code class="literal">git</code> <code class="literal">update-index</code> <code class="literal">--refresh</code>, which
will refresh the "stat" information of each index to match the current
stat information. It will <span class="emphasis"><em>not</em></span> update the object status itself, and
it will only update the fields that are used to quickly test whether
an object still matches its old backing store object.</p>
<p>The previously introduced <a class="ulink" href="git-add.html" target="_top">git-add(1)</a> is just a wrapper for
<a class="ulink" href="git-update-index.html" target="_top">git-update-index(1)</a>.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="index-to-object-database"></a>index → object database</h3></div></div></div>

<p>You write your current index file to a "tree" object with the program</p>
<pre class="screen">$ git write-tree</pre>
<p>that doesn’t come with any options—​it will just write out the
current index into the set of tree objects that describe that state,
and it will return the name of the resulting top-level tree. You can
use that tree to re-generate the index at any time by going in the
other direction:</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="object-database-to-index"></a>object database → index</h3></div></div></div>

<p>You read a "tree" file from the object database, and use that to
populate (and overwrite—​don’t do this if your index contains any
unsaved state that you might want to restore later!) your current
index.  Normal operation is just</p>
<pre class="screen">$ git read-tree &lt;SHA-1 of tree&gt;</pre>
<p>and your index file will now be equivalent to the tree that you saved
earlier. However, that is only your <span class="emphasis"><em>index</em></span> file: your working
directory contents have not been modified.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="index-to-working-directory"></a>index → working directory</h3></div></div></div>

<p>You update your working directory from the index by "checking out"
files. This is not a very common operation, since normally you’d just
keep your files updated, and rather than write to your working
directory, you’d tell the index files about the changes in your
working directory (i.e. <code class="literal">git</code> <code class="literal">update-index</code>).</p>
<p>However, if you decide to jump to a new version, or check out somebody
else’s version, or just restore a previous tree, you’d populate your
index file with read-tree, and then you need to check out the result
with</p>
<pre class="screen">$ git checkout-index filename</pre>
<p>or, if you want to check out all of the index, use <code class="literal">-a</code>.</p>
<p>NOTE! <code class="literal">git</code> <code class="literal">checkout-index</code> normally refuses to overwrite old files, so
if you have an old version of the tree already checked out, you will
need to use the <code class="literal">-f</code> flag (<span class="emphasis"><em>before</em></span> the <code class="literal">-a</code> flag or the filename) to
<span class="emphasis"><em>force</em></span> the checkout.</p>
<p>Finally, there are a few odds and ends which are not purely moving
from one representation to the other:</p>
</div>
<div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="tying-it-all-together"></a>Tying it all together</h3></div></div></div>

<p>To commit a tree you have instantiated with <code class="literal">git</code> <code class="literal">write-tree</code>, you’d
create a "commit" object that refers to that tree and the history
behind it—​most notably the "parent" commits that preceded it in
history.</p>
<p>Normally a "commit" has one parent: the previous state of the tree
before a certain change was made. However, sometimes it can have two
or more parent commits, in which case we call it a "merge", due to the
fact that such a commit brings together ("merges") two or more
previous states represented by other commits.</p>
<p>In other words, while a "tree" represents a particular directory state
of a working directory, a "commit" represents that state in time,
and explains how we got there.</p>
<p>You create a commit object by giving it the tree that describes the
state at the time of the commit, and a list of parents:</p>
<pre class="screen">$ git commit-tree &lt;tree&gt; -p &lt;parent&gt; [(-p &lt;parent2&gt;)...]</pre>
<p>and then giving the reason for the commit on stdin (either through
redirection from a pipe or file, or by just typing it at the tty).</p>
<p><code class="literal">git</code> <code class="literal">commit-tree</code> will return the name of the object that represents
that commit, and you should save it away for later use. Normally,
you’d commit a new <code class="literal">HEAD</code> state, and while Git doesn’t care where you
save the note about that state, in practice we tend to just write the
result to the file pointed at by .<code class="literal">git/HEAD</code>, so that we can always see
what the last committed state was.</p>
<p>Here is a picture that illustrates how various pieces fit together:</p>
<pre class="screen">                     commit-tree
                      commit obj
                       +----+
                       |    |
                       |    |
                       V    V
                    +-----------+
                    | Object DB |
                    |  Backing  |
                    |   Store   |
                    +-----------+
                       ^
           write-tree  |     |
             tree obj  |     |
                       |     |  read-tree
                       |     |  tree obj
                             V
                    +-----------+
                    |   Index   |
                    |  "cache"  |
                    +-----------+
         update-index  ^
             blob obj  |     |
                       |     |
    checkout-index -u  |     |  checkout-index
             stat      |     |  blob obj
                             V
                    +-----------+
                    |  Working  |
                    | Directory |
                    +-----------+</pre>
</div>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="examining-the-data"></a>Examining the data</h2></div></div></div>

<p>You can examine the data represented in the object database and the
index with various helper tools. For every object, you can use
<a class="ulink" href="git-cat-file.html" target="_top">git-cat-file(1)</a> to examine details about the
object:</p>
<pre class="screen">$ git cat-file -t &lt;objectname&gt;</pre>
<p>shows the type of the object, and once you have the type (which is
usually implicit in where you find the object), you can use</p>
<pre class="screen">$ git cat-file blob|tree|commit|tag &lt;objectname&gt;</pre>
<p>to show its contents. NOTE! Trees have binary content, and as a result
there is a special helper for showing that content, called
<code class="literal">git</code> <code class="literal">ls-tree</code>, which turns the binary content into a more easily
readable form.</p>
<p>It’s especially instructive to look at "commit" objects, since those
tend to be small and fairly self-explanatory. In particular, if you
follow the convention of having the top commit name in .<code class="literal">git/HEAD</code>,
you can do</p>
<pre class="screen">$ git cat-file commit HEAD</pre>
<p>to see what the top commit was.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="merging-multiple-trees"></a>Merging multiple trees</h2></div></div></div>

<p>Git can help you perform a three-way merge, which can in turn be
used for a many-way merge by repeating the merge procedure several
times.  The usual situation is that you only do one three-way merge
(reconciling two lines of history) and commit the result, but if
you like to, you can merge several branches in one go.</p>
<p>To perform a three-way merge, you start with the two commits you
want to merge, find their closest common parent (a third commit),
and compare the trees corresponding to these three commits.</p>
<p>To get the "base" for the merge, look up the common parent of two
commits:</p>
<pre class="screen">$ git merge-base &lt;commit1&gt; &lt;commit2&gt;</pre>
<p>This prints the name of a commit they are both based on. You should
now look up the tree objects of those commits, which you can easily
do with</p>
<pre class="screen">$ git cat-file commit &lt;commitname&gt; | head -1</pre>
<p>since the tree object information is always the first line in a commit
object.</p>
<p>Once you know the three trees you are going to merge (the one "original"
tree, aka the common tree, and the two "result" trees, aka the branches
you want to merge), you do a "merge" read into the index. This will
complain if it has to throw away your old index contents, so you should
make sure that you’ve committed those—​in fact you would normally
always do a merge against your last commit (which should thus match what
you have in your current index anyway).</p>
<p>To do the merge, do</p>
<pre class="screen">$ git read-tree -m -u &lt;origtree&gt; &lt;yourtree&gt; &lt;targettree&gt;</pre>
<p>which will do all trivial merge operations for you directly in the
index file, and you can just write the result out with
<code class="literal">git</code> <code class="literal">write-tree</code>.</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="merging-multiple-trees-2"></a>Merging multiple trees, continued</h2></div></div></div>

<p>Sadly, many merges aren’t trivial. If there are files that have
been added, moved or removed, or if both branches have modified the
same file, you will be left with an index tree that contains "merge
entries" in it. Such an index tree can <span class="emphasis"><em>NOT</em></span> be written out to a tree
object, and you will have to resolve any such merge clashes using
other tools before you can write out the result.</p>
<p>You can examine such index state with <code class="literal">git</code> <code class="literal">ls-files</code> <code class="literal">--unmerged</code>
command.  An example:</p>
<pre class="screen">$ git read-tree -m $orig HEAD $target
$ git ls-files --unmerged
100644 263414f423d0e4d70dae8fe53fa34614ff3e2860 1       hello.c
100644 06fa6a24256dc7e560efa5687fa84b51f0263c3a 2       hello.c
100644 cc44c73eb783565da5831b4d820c962954019b69 3       hello.c</pre>
<p>Each line of the <code class="literal">git</code> <code class="literal">ls-files</code> <code class="literal">--unmerged</code> output begins with
the blob mode bits, blob SHA-1, <span class="emphasis"><em>stage number</em></span>, and the
filename.  The <span class="emphasis"><em>stage number</em></span> is Git’s way to say which tree it
came from: stage 1 corresponds to the <code class="literal">$orig</code> tree, stage 2 to
the <code class="literal">HEAD</code> tree, and stage 3 to the <code class="literal">$target</code> tree.</p>
<p>Earlier we said that trivial merges are done inside
<code class="literal">git</code> <code class="literal">read-tree</code> <code class="literal">-m</code>.  For example, if the file did not change
from <code class="literal">$orig</code> to <code class="literal">HEAD</code> or <code class="literal">$target</code>, or if the file changed
from <code class="literal">$orig</code> to <code class="literal">HEAD</code> and <code class="literal">$orig</code> to <code class="literal">$target</code> the same way,
obviously the final outcome is what is in <code class="literal">HEAD</code>.  What the
above example shows is that file <code class="literal">hello.c</code> was changed from
<code class="literal">$orig</code> to <code class="literal">HEAD</code> and <code class="literal">$orig</code> to <code class="literal">$target</code> in a different way.
You could resolve this by running your favorite 3-way merge
program, e.g.  <code class="literal">diff3</code>, <code class="literal">merge</code>, or Git’s own merge-file, on
the blob objects from these three stages yourself, like this:</p>
<pre class="screen">$ git cat-file blob 263414f &gt;hello.c~1
$ git cat-file blob 06fa6a2 &gt;hello.c~2
$ git cat-file blob cc44c73 &gt;hello.c~3
$ git merge-file hello.c~2 hello.c~1 hello.c~3</pre>
<p>This would leave the merge result in <code class="literal">hello.c~2</code> file, along
with conflict markers if there are conflicts.  After verifying
the merge result makes sense, you can tell Git what the final
merge result for this file is by:</p>
<pre class="screen">$ mv -f hello.c~2 hello.c
$ git update-index hello.c</pre>
<p>When a path is in the "unmerged" state, running <code class="literal">git</code> <code class="literal">update-index</code> for
that path tells Git to mark the path resolved.</p>
<p>The above is the description of a Git merge at the lowest level,
to help you understand what conceptually happens under the hood.
In practice, nobody, not even Git itself, runs <code class="literal">git</code> <code class="literal">cat-file</code> three times
for this.  There is a <code class="literal">git</code> <code class="literal">merge-index</code> program that extracts the
stages to temporary files and calls a "merge" script on it:</p>
<pre class="screen">$ git merge-index git-merge-one-file hello.c</pre>
<p>and that is what higher level <code class="literal">git</code> <code class="literal">merge</code> <code class="literal">-s</code> <code class="literal">resolve</code> is implemented with.</p>
</div>
</div>
<div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="hacking-git"></a>Chapter 10. Hacking Git</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#object-details">Object storage format</a></span></dt><dt><span class="section"><a href="#birdview-on-the-source-code">A birds-eye view of Git’s source code</a></span></dt></dl></div>

<p>This chapter covers internal details of the Git implementation which
probably only Git developers need to understand.</p>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="object-details"></a>Object storage format</h2></div></div></div>

<p>All objects have a statically determined "type" which identifies the
format of the object (i.e. how it is used, and how it can refer to other
objects).  There are currently four different object types: "blob",
"tree", "commit", and "tag".</p>
<p>Regardless of object type, all objects share the following
characteristics: they are all deflated with zlib, and have a header
that not only specifies their type, but also provides size information
about the data in the object.  It’s worth noting that the SHA-1 hash
that is used to name the object is the hash of the original data
plus this header, so <code class="literal">sha1sum</code> <span class="emphasis"><em>file</em></span> does not match the object name
for <span class="emphasis"><em>file</em></span> (the earliest versions of Git hashed slightly differently
but the conclusion is still the same).</p>
<p>The following is a short example that demonstrates how these hashes
can be generated manually:</p>
<p>Let’s assume a small text file with some simple content:</p>
<pre class="screen">$ echo "Hello world" &gt;hello.txt</pre>
<p>We can now manually generate the hash Git would use for this file:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
The object we want the hash for is of type "blob" and its size is
12 bytes.
</li><li class="listitem">
Prepend the object header to the file content and feed this to
<code class="literal">sha1sum</code>:
</li></ul></div>
<pre class="screen">$ { printf "blob 12\0"; cat hello.txt; } | sha1sum
802992c4220de19a90767f3000a79a31b98d0df7  -</pre>
<p>This manually constructed hash can be verified using <code class="literal">git</code> <code class="literal">hash-object</code>
which of course hides the addition of the header:</p>
<pre class="screen">$ git hash-object hello.txt
802992c4220de19a90767f3000a79a31b98d0df7</pre>
<p>As a result, the general consistency of an object can always be tested
independently of the contents or the type of the object: all objects can
be validated by verifying that (a) their hashes match the content of the
file and (b) the object successfully inflates to a stream of bytes that
forms a sequence of
<span class="emphasis"><em>&lt;ascii-type-without-space&gt;</em></span> <code class="literal">+</code> <span class="emphasis"><em>&lt;space&gt;</em></span> <code class="literal">+</code> <span class="emphasis"><em>&lt;ascii-decimal-size&gt;</em></span> <code class="literal">+</code>
&lt;byte\0&gt; <code class="literal">+</code> <span class="emphasis"><em>&lt;binary-object-data&gt;</em></span>.</p>
<p>The structured objects can further have their structure and
connectivity to other objects verified. This is generally done with
the <code class="literal">git</code> <code class="literal">fsck</code> program, which generates a full dependency graph
of all objects, and verifies their internal consistency (in addition
to just verifying their superficial consistency through the hash).</p>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="birdview-on-the-source-code"></a>A birds-eye view of Git’s source code</h2></div></div></div>

<p>It is not always easy for new developers to find their way through Git’s
source code.  This section gives you a little guidance to show where to
start.</p>
<p>A good place to start is with the contents of the initial commit, with:</p>
<pre class="screen">$ git switch --detach e83c5163</pre>
<p>The initial revision lays the foundation for almost everything Git has
today (even though details may differ in a few places), but is small
enough to read in one sitting.</p>
<p>Note that terminology has changed since that revision.  For example, the
README in that revision uses the word "changeset" to describe what we
now call a <a class="link" href="#def_commit_object">commit</a>.</p>
<p>Also, we do not call it "cache" any more, but rather "index"; however,
the file is still called <code class="literal">read-cache.h</code>.</p>
<p>If you grasp the ideas in that initial commit, you should check out a
more recent version and skim <code class="literal">read-cache-ll.h</code>, <code class="literal">object.h</code> and <code class="literal">commit.h</code>.</p>
<p>In the early days, Git (in the tradition of UNIX) was a bunch of programs
which were extremely simple, and which you used in scripts, piping the
output of one into another. This turned out to be good for initial
development, since it was easier to test new things.  However, recently
many of these parts have become builtins, and some of the core has been
"libified", i.e. put into libgit.a for performance, portability reasons,
and to avoid code duplication.</p>
<p>By now, you know what the index is (and find the corresponding data
structures in <code class="literal">read-cache-ll.h</code>), and that there are just a couple of
object types (blobs, trees, commits and tags) which inherit their
common structure from <code class="literal">struct</code> <code class="literal">object</code>, which is their first member
(and thus, you can cast e.g.  (<code class="literal">struct</code> <code class="literal">object</code> <code class="literal">*</code>)<code class="literal">commit</code> to achieve the
<span class="emphasis"><em>same</em></span> as &amp;commit-&gt;<code class="literal">object</code>, i.e.  get at the object name and flags).</p>
<p>Now is a good point to take a break to let this information sink in.</p>
<p>Next step: get familiar with the object naming.  Read <a class="xref" href="#naming-commits" title="Naming commits">the section called “Naming commits”</a>.
There are quite a few ways to name an object (and not only revisions!).
All of these are handled in <code class="literal">sha1_name.c</code>. Just have a quick look at
the function <code class="literal">get_sha1</code>(). A lot of the special handling is done by
functions like <code class="literal">get_sha1_basic</code>() or the likes.</p>
<p>This is just to get you into the groove for the most libified part of Git:
the revision walker.</p>
<p>Basically, the initial version of <code class="literal">git</code> <code class="literal">log</code> was a shell script:</p>
<pre class="screen">$ git-rev-list --pretty $(git-rev-parse --default HEAD "$@") | \
        LESS=-S ${PAGER:-less}</pre>
<p>What does this mean?</p>
<p><code class="literal">git</code> <code class="literal">rev-list</code> is the original version of the revision walker, which
<span class="emphasis"><em>always</em></span> printed a list of revisions to stdout.  It is still functional,
and needs to, since most new Git commands start out as scripts using
<code class="literal">git</code> <code class="literal">rev-list</code>.</p>
<p><code class="literal">git</code> <code class="literal">rev-parse</code> is not as important any more; it was only used to filter out
options that were relevant for the different plumbing commands that were
called by the script.</p>
<p>Most of what <code class="literal">git</code> <code class="literal">rev-list</code> did is contained in <code class="literal">revision.c</code> and
<code class="literal">revision.h</code>.  It wraps the options in a struct named <code class="literal">rev_info</code>, which
controls how and what revisions are walked, and more.</p>
<p>The original job of <code class="literal">git</code> <code class="literal">rev-parse</code> is now taken by the function
<code class="literal">setup_revisions</code>(), which parses the revisions and the common command-line
options for the revision walker. This information is stored in the struct
<code class="literal">rev_info</code> for later consumption. You can do your own command-line option
parsing after calling <code class="literal">setup_revisions</code>(). After that, you have to call
<code class="literal">prepare_revision_walk</code>() for initialization, and then you can get the
commits one by one with the function <code class="literal">get_revision</code>().</p>
<p>If you are interested in more details of the revision walking process,
just have a look at the first implementation of <code class="literal">cmd_log</code>(); call
<code class="literal">git</code> <code class="literal">show</code> <code class="literal">v1.3.0~155^2~4</code> and scroll down to that function (note that you
no longer need to call <code class="literal">setup_pager</code>() directly).</p>
<p>Nowadays, <code class="literal">git</code> <code class="literal">log</code> is a builtin, which means that it is <span class="emphasis"><em>contained</em></span> in the
command <code class="literal">git</code>.  The source side of a builtin is</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
a function called <code class="literal">cmd_</code><span class="emphasis"><em>&lt;bla&gt;</em></span>, typically defined in <code class="literal">builtin/</code>&lt;bla.<code class="literal">c</code>&gt;
(note that older versions of Git used to have it in <code class="literal">builtin-</code><span class="emphasis"><em>&lt;bla&gt;</em></span><code class="literal">.c</code>
instead), and declared in <code class="literal">builtin.h</code>.
</li><li class="listitem">
an entry in the <code class="literal">commands</code>[] array in <code class="literal">git.c</code>, and
</li><li class="listitem">
an entry in <code class="literal">BUILTIN_OBJECTS</code> in the <code class="literal">Makefile</code>.
</li></ul></div>
<p>Sometimes, more than one builtin is contained in one source file.  For
example, <code class="literal">cmd_show</code>() and <code class="literal">cmd_log</code>() both reside in <code class="literal">builtin/log.c</code>,
since they share quite a bit of code.  In that case, the commands which are
<span class="emphasis"><em>not</em></span> named like the .<code class="literal">c</code> file in which they live have to be listed in
<code class="literal">BUILT_INS</code> in the <code class="literal">Makefile</code>.</p>
<p><code class="literal">git</code> <code class="literal">log</code> looks more complicated in C than it does in the original script,
but that allows for a much greater flexibility and performance.</p>
<p>Here again it is a good point to take a pause.</p>
<p>Lesson three is: study the code.  Really, it is the best way to learn about
the organization of Git (after you know the basic concepts).</p>
<p>So, think about something which you are interested in, say, "how can I
access a blob just knowing the object name of it?".  The first step is to
find a Git command with which you can do it.  In this example, it is either
<code class="literal">git</code> <code class="literal">show</code> or <code class="literal">git</code> <code class="literal">cat-file</code>.</p>
<p>For the sake of clarity, let’s stay with <code class="literal">git</code> <code class="literal">cat-file</code>, because it</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
is plumbing, and
</li><li class="listitem">
was around even in the initial commit (it literally went only through
some 20 revisions as <code class="literal">cat-file.c</code>, was renamed to <code class="literal">builtin/cat-file.c</code>
when made a builtin, and then saw less than 10 versions).
</li></ul></div>
<p>So, look into <code class="literal">builtin/cat-file.c</code>, search for <code class="literal">cmd_cat_file</code>() and look what
it does.</p>
<pre class="screen">        repo_config(the_repository, git_default_config);
        if (argc != 3)
                usage("git cat-file [-t|-s|-e|-p|&lt;type&gt;] &lt;sha1&gt;");
        if (get_sha1(argv[2], sha1))
                die("Not a valid object name %s", argv[2]);</pre>
<p>Let’s skip over the obvious details; the only really interesting part
here is the call to <code class="literal">get_sha1</code>().  It tries to interpret <code class="literal">argv</code>[<code class="literal">2</code>] as an
object name, and if it refers to an object which is present in the current
repository, it writes the resulting SHA-1 into the variable <code class="literal">sha1</code>.</p>
<p>Two things are interesting here:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<code class="literal">get_sha1</code>() returns 0 on <span class="emphasis"><em>success</em></span>.  This might surprise some new
Git hackers, but there is a long tradition in UNIX to return different
negative numbers in case of different errors—​and 0 on success.
</li><li class="listitem">
the variable <code class="literal">sha1</code> in the function signature of <code class="literal">get_sha1</code>() is <code class="literal">unsigned</code>
<code class="literal">char</code> <code class="literal">*</code>, but is actually expected to be a pointer to <code class="literal">unsigned</code>
<code class="literal">char</code>[<code class="literal">20</code>].  This variable will contain the 160-bit SHA-1 of the given
commit.  Note that whenever a SHA-1 is passed as <code class="literal">unsigned</code> <code class="literal">char</code> <code class="literal">*</code>, it
is the binary representation, as opposed to the ASCII representation in
hex characters, which is passed as <code class="literal">char</code> <code class="literal">*</code>.
</li></ul></div>
<p>You will see both of these things throughout the code.</p>
<p>Now, for the meat:</p>
<pre class="screen">        case 0:
                buf = odb_read_object_peeled(r-&gt;objects, sha1, argv[1], &amp;size, NULL);</pre>
<p>This is how you read a blob (actually, not only a blob, but any type of
object).  To know how the function <code class="literal">odb_read_object_peeled</code>() actually
works, find the source code for it (something like <code class="literal">git</code> <code class="literal">grep</code>
<code class="literal">read_object_with</code> | <code class="literal">grep</code> ":[<code class="literal">a-z</code>]" in the Git repository), and read
the source.</p>
<p>To find out how the result can be used, just read on in <code class="literal">cmd_cat_file</code>():</p>
<pre class="screen">        write_or_die(1, buf, size);</pre>
<p>Sometimes, you do not know where to look for a feature.  In many such cases,
it helps to search through the output of <code class="literal">git</code> <code class="literal">log</code>, and then <code class="literal">git</code> <code class="literal">show</code> the
corresponding commit.</p>
<p>Example: If you know that there was some test case for <code class="literal">git</code> <code class="literal">bundle</code>, but
do not remember where it was (yes, you <span class="emphasis"><em>could</em></span> <code class="literal">git</code> <code class="literal">grep</code> <code class="literal">bundle</code> <code class="literal">t/</code>, but that
does not illustrate the point!):</p>
<pre class="screen">$ git log --no-merges t/</pre>
<p>In the pager (<code class="literal">less</code>), just search for "bundle", go a few lines back,
and see that it is in commit 18449ab0.  Now just copy this object name,
and paste it into the command line</p>
<pre class="screen">$ git show 18449ab0</pre>
<p>Voila.</p>
<p>Another example: Find out what to do in order to make some script a
builtin:</p>
<pre class="screen">$ git log --no-merges --diff-filter=A builtin/*.c</pre>
<p>You see, Git is actually the best tool to find out about the source of Git
itself!</p>
</div>
</div>
<div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="glossary"></a>Chapter 11. Git Glossary</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#git-explained">Git explained</a></span></dt></dl></div>

<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="git-explained"></a>Git explained</h2></div></div></div>

<div class="variablelist"><dl class="variablelist"><dt><span class="term"><a name="def_alternate_object_database"></a>alternate object database</span></dt><dd>
Via the alternates mechanism, a <a class="link" href="#def_repository">repository</a>
can inherit part of its <a class="link" href="#def_object_database">object database</a>
from another object database, which is called an "alternate".
</dd><dt><span class="term"><a name="def_bare_repository"></a>bare repository</span></dt><dd>
A bare repository is normally an appropriately
named <a class="link" href="#def_directory">directory</a> with a .<code class="literal">git</code> suffix that does not
have a locally checked-out copy of any of the files under
revision control. That is, all of the Git
administrative and control files that would normally be present in the
hidden .<code class="literal">git</code> sub-directory are directly present in the
<code class="literal">repository.git</code> directory instead,
and no other files are present and checked out. Usually publishers of
public repositories make bare repositories available.
</dd><dt><span class="term"><a name="def_blob_object"></a>blob object</span></dt><dd>
Untyped <a class="link" href="#def_object">object</a>, e.g. the contents of a file.
</dd><dt><span class="term"><a name="def_branch"></a>branch</span></dt><dd>
A "branch" is a line of development.  The most recent
<a class="link" href="#def_commit">commit</a> on a branch is referred to as the tip of
that branch.  The tip of the branch is <a class="link" href="#def_ref">referenced</a> by a branch
<a class="link" href="#def_head">head</a>, which moves forward as additional development
is done on the branch.  A single Git
<a class="link" href="#def_repository">repository</a> can track an arbitrary number of
branches, but your <a class="link" href="#def_working_tree">working tree</a> is
associated with just one of them (the "current" or "checked out"
branch), and <a class="link" href="#def_HEAD">HEAD</a> points to that branch.
</dd><dt><span class="term"><a name="def_cache"></a>cache</span></dt><dd>
Obsolete for: <a class="link" href="#def_index">index</a>.
</dd><dt><span class="term"><a name="def_chain"></a>chain</span></dt><dd>
A list of objects, where each <a class="link" href="#def_object">object</a> in the list contains
a reference to its successor (for example, the successor of a
<a class="link" href="#def_commit">commit</a> could be one of its <a class="link" href="#def_parent">parents</a>).
</dd><dt><span class="term"><a name="def_changeset"></a>changeset</span></dt><dd>
BitKeeper/cvsps speak for "<a class="link" href="#def_commit">commit</a>". Since Git does not
store changes, but states, it really does not make sense to use the term
"changesets" with Git.
</dd><dt><span class="term"><a name="def_checkout"></a>checkout</span></dt><dd>
The action of updating all or part of the
<a class="link" href="#def_working_tree">working tree</a> with a <a class="link" href="#def_tree_object">tree object</a>
or <a class="link" href="#def_blob_object">blob</a> from the
<a class="link" href="#def_object_database">object database</a>, and updating the
<a class="link" href="#def_index">index</a> and <a class="link" href="#def_HEAD">HEAD</a> if the whole working tree has
been pointed at a new <a class="link" href="#def_branch">branch</a>.
</dd><dt><span class="term"><a name="def_cherry-picking"></a>cherry-picking</span></dt><dd>
In <a class="link" href="#def_SCM">SCM</a> jargon, "cherry pick" means to choose a subset of
changes out of a series of changes (typically commits) and record them
as a new series of changes on top of a different codebase. In Git, this is
performed by the "git cherry-pick" command to extract the change introduced
by an existing <a class="link" href="#def_commit">commit</a> and to record it based on the tip
of the current <a class="link" href="#def_branch">branch</a> as a new commit.
</dd><dt><span class="term"><a name="def_clean"></a>clean</span></dt><dd>
A <a class="link" href="#def_working_tree">working tree</a> is clean, if it
corresponds to the <a class="link" href="#def_revision">revision</a> referenced by the current
<a class="link" href="#def_head">head</a>. Also see "<a class="link" href="#def_dirty">dirty</a>".
</dd><dt><span class="term"><a name="def_commit"></a>commit</span></dt><dd>
<p class="simpara">As a noun: A single point in the
Git history; the entire history of a project is represented as a
set of interrelated commits.  The word "commit" is often
used by Git in the same places other revision control systems
use the words "revision" or "version".  Also used as a short
hand for <a class="link" href="#def_commit_object">commit object</a>.</p>
<p class="simpara">As a verb: The action of storing a new snapshot of the project’s
state in the Git history, by creating a new commit representing the current
state of the <a class="link" href="#def_index">index</a> and advancing <a class="link" href="#def_HEAD">HEAD</a>
to point at the new commit.</p>
</dd><dt><span class="term"><a name="def_commit_graph_general"></a>commit graph concept, representations and usage</span></dt><dd>
A synonym for the <a class="link" href="#def_DAG">DAG</a> structure formed by the commits
in the object database, <a class="link" href="#def_ref">referenced</a> by branch tips,
using their <a class="link" href="#def_chain">chain</a> of linked commits.
This structure is the definitive commit graph. The
graph can be represented in other ways, e.g. the
<a class="link" href="#def_commit_graph_file">"commit-graph" file</a>.
</dd><dt><span class="term"><a name="def_commit_graph_file"></a>commit-graph file</span></dt><dd>
The "commit-graph" (normally hyphenated) file is a supplemental
representation of the <a class="link" href="#def_commit_graph_general">commit graph</a>
which accelerates commit graph walks. The "commit-graph" file is
stored either in the .git/objects/info directory or in the info
directory of an alternate object database.
</dd><dt><span class="term"><a name="def_commit_object"></a>commit object</span></dt><dd>
An <a class="link" href="#def_object">object</a> which contains the information about a
particular <a class="link" href="#def_revision">revision</a>, such as <a class="link" href="#def_parent">parents</a>, committer,
author, date and the <a class="link" href="#def_tree_object">tree object</a> which corresponds
to the top <a class="link" href="#def_directory">directory</a> of the stored
revision.
</dd><dt><span class="term"><a name="def_commit-ish"></a>commit-ish (also committish)</span></dt><dd>
A <a class="link" href="#def_commit_object">commit object</a> or an <a class="link" href="#def_object">object</a> that
can be recursively <a class="link" href="#def_dereference">dereferenced</a> to a commit object.
The following are all commit-ishes:
a commit object,
a <a class="link" href="#def_tag_object">tag object</a> that points to a commit
object,
a tag object that points to a tag object that points to a
commit object,
etc.
</dd><dt><span class="term"><a name="def_core_git"></a>core Git</span></dt><dd>
Fundamental data structures and utilities of Git. Exposes only limited
source code management tools.
</dd><dt><span class="term"><a name="def_DAG"></a>DAG</span></dt><dd>
Directed acyclic graph. The <a class="link" href="#def_commit_object">commit objects</a> form a
directed acyclic graph, because they have parents (directed), and the
graph of commit objects is acyclic (there is no <a class="link" href="#def_chain">chain</a>
which begins and ends with the same <a class="link" href="#def_object">object</a>).
</dd><dt><span class="term"><a name="def_dangling_object"></a>dangling object</span></dt><dd>
An <a class="link" href="#def_unreachable_object">unreachable object</a> which is not
<a class="link" href="#def_reachable">reachable</a> even from other unreachable objects; a
dangling object has no references to it from any
reference or <a class="link" href="#def_object">object</a> in the <a class="link" href="#def_repository">repository</a>.
</dd><dt><span class="term"><a name="def_dereference"></a>dereference</span></dt><dd>
<p class="simpara">Referring to a <a class="link" href="#def_symref">symbolic ref</a>: the action of accessing the
<a class="link" href="#def_ref">reference</a> pointed at by a symbolic ref. Recursive
dereferencing involves repeating the aforementioned process on the
resulting ref until a non-symbolic reference is found.</p>
<p class="simpara">Referring to a <a class="link" href="#def_tag_object">tag object</a>: the action of accessing the
<a class="link" href="#def_object">object</a> a tag points at. Tags are recursively dereferenced by
repeating the operation on the result object until the result has either a
specified <a class="link" href="#def_object_type">object type</a> (where applicable) or any non-"tag"
object type. A synonym for "recursive dereference" in the context of tags is
"<a class="link" href="#def_peel">peel</a>".</p>
<p class="simpara">Referring to a <a class="link" href="#def_commit_object">commit object</a>: the action of accessing
the commit’s tree object. Commits cannot be dereferenced recursively.</p>
<p class="simpara">Unless otherwise specified, "dereferencing" as it used in the context of Git
commands or protocols is implicitly recursive.</p>
</dd><dt><span class="term"><a name="def_detached_HEAD"></a>detached HEAD</span></dt><dd>
<p class="simpara">Normally the <a class="link" href="#def_HEAD">HEAD</a> stores the name of a
<a class="link" href="#def_branch">branch</a>, and commands that operate on the
history HEAD represents operate on the history leading to the
tip of the branch the HEAD points at.  However, Git also
allows you to <a class="link" href="#def_checkout">check out</a> an arbitrary
<a class="link" href="#def_commit">commit</a> that isn’t necessarily the tip of any
particular branch.  The HEAD in such a state is called
"detached".</p>
<p class="simpara">Note that commands that operate on the history of the current branch
(e.g. <code class="literal">git</code> <code class="literal">commit</code> to build a new history on top of it) still work
while the HEAD is detached. They update the HEAD to point at the tip
of the updated history without affecting any branch.  Commands that
update or inquire information <span class="emphasis"><em>about</em></span> the current branch (e.g. <code class="literal">git</code>
<code class="literal">branch</code> <code class="literal">--set-upstream-to</code> that sets what remote-tracking branch the
current branch integrates with) obviously do not work, as there is no
(real) current branch to ask about in this state.</p>
</dd><dt><span class="term"><a name="def_directory"></a>directory</span></dt><dd>
The list you get with "ls" :-)
</dd><dt><span class="term"><a name="def_dirty"></a>dirty</span></dt><dd>
A <a class="link" href="#def_working_tree">working tree</a> is said to be "dirty" if
it contains modifications which have not been <a class="link" href="#def_commit">committed</a> to the current
<a class="link" href="#def_branch">branch</a>.
</dd><dt><span class="term"><a name="def_evil_merge"></a>evil merge</span></dt><dd>
An evil merge is a <a class="link" href="#def_merge">merge</a> that introduces changes that
do not appear in any <a class="link" href="#def_parent">parent</a>.
</dd><dt><span class="term"><a name="def_fast_forward"></a>fast-forward</span></dt><dd>
A fast-forward is a special type of <a class="link" href="#def_merge">merge</a> where you have a
<a class="link" href="#def_revision">revision</a> and you are "merging" another
<a class="link" href="#def_branch">branch</a>'s changes that happen to be a descendant of what
you have. In such a case, you do not make a new <a class="link" href="#def_merge">merge</a>
<a class="link" href="#def_commit">commit</a> but instead just update your branch to point at the same
revision as the branch you are merging. This will happen frequently on a
<a class="link" href="#def_remote_tracking_branch">remote-tracking branch</a> of a remote
<a class="link" href="#def_repository">repository</a>.
</dd><dt><span class="term"><a name="def_fetch"></a>fetch</span></dt><dd>
Fetching a <a class="link" href="#def_branch">branch</a> means to get the
branch’s <a class="link" href="#def_head_ref">head ref</a> from a remote
<a class="link" href="#def_repository">repository</a>, to find out which objects are
missing from the local <a class="link" href="#def_object_database">object database</a>,
and to get them, too.  See also <a class="ulink" href="git-fetch.html" target="_top">git-fetch(1)</a>.
</dd><dt><span class="term"><a name="def_file_system"></a>file system</span></dt><dd>
Linus Torvalds originally designed Git to be a user space file system,
i.e. the infrastructure to hold files and directories. That ensured the
efficiency and speed of Git.
</dd><dt><span class="term"><a name="def_git_archive"></a>Git archive</span></dt><dd>
Synonym for <a class="link" href="#def_repository">repository</a> (for arch people).
</dd><dt><span class="term"><a name="def_gitfile"></a>gitfile</span></dt><dd>
A plain file .<code class="literal">git</code> at the root of a working tree that
points at the directory that is the real repository.
For proper use see <a class="ulink" href="git-worktree.html" target="_top">git-worktree(1)</a> or <a class="ulink" href="git-submodule.html" target="_top">git-submodule(1)</a>.
For syntax see <a class="ulink" href="gitrepository-layout.html" target="_top">gitrepository-layout(5)</a>.
</dd><dt><span class="term"><a name="def_grafts"></a>grafts</span></dt><dd>
<p class="simpara">Grafts enable two otherwise different lines of development to be joined
together by recording fake ancestry information for commits. This way
you can make Git pretend the set of <a class="link" href="#def_parent">parents</a> a <a class="link" href="#def_commit">commit</a> has
is different from what was recorded when the commit was
created. Configured via the .<code class="literal">git/info/grafts</code> file.</p>
<p class="simpara">Note that the grafts mechanism is outdated and can lead to problems
transferring objects between repositories; see <a class="ulink" href="git-replace.html" target="_top">git-replace(1)</a>
for a more flexible and robust system to do the same thing.</p>
</dd><dt><span class="term"><a name="def_hash"></a>hash</span></dt><dd>
In Git’s context, synonym for <a class="link" href="#def_object_name">object name</a>.
</dd><dt><span class="term"><a name="def_head"></a>head</span></dt><dd>
A <a class="link" href="#def_ref">named reference</a> to the <a class="link" href="#def_commit">commit</a> at the tip of a
<a class="link" href="#def_branch">branch</a>.  Heads are stored in a file in
<code class="literal">$GIT_DIR/refs/heads/</code> directory, except when using packed refs. (See
<a class="ulink" href="git-pack-refs.html" target="_top">git-pack-refs(1)</a>.)
</dd><dt><span class="term"><a name="def_HEAD"></a>HEAD</span></dt><dd>
The current <a class="link" href="#def_branch">branch</a>.  In more detail: Your <a class="link" href="#def_working_tree">working tree</a> is normally derived from the state of the tree
referred to by HEAD.  HEAD is a reference to one of the
<a class="link" href="#def_head">heads</a> in your repository, except when using a
<a class="link" href="#def_detached_HEAD">detached HEAD</a>, in which case it directly
references an arbitrary commit.
</dd><dt><span class="term"><a name="def_head_ref"></a>head ref</span></dt><dd>
A synonym for <a class="link" href="#def_head">head</a>.
</dd><dt><span class="term"><a name="def_hook"></a>hook</span></dt><dd>
During the normal execution of several Git commands, call-outs are made
to optional scripts that allow a developer to add functionality or
checking. Typically, the hooks allow for a command to be pre-verified
and potentially aborted, and allow for a post-notification after the
operation is done. The hook scripts are found in the
<code class="literal">$GIT_DIR/hooks/</code> directory, and are enabled by simply
removing the .<code class="literal">sample</code> suffix from the filename. In earlier versions
of Git you had to make them executable.
</dd><dt><span class="term"><a name="def_index"></a>index</span></dt><dd>
A collection of files with stat information, whose contents are stored
as objects. The index is a stored version of your
<a class="link" href="#def_working_tree">working tree</a>. Truth be told, it can also contain a second, and even
a third version of a working tree, which are used
when <a class="link" href="#def_merge">merging</a>.
</dd><dt><span class="term"><a name="def_index_entry"></a>index entry</span></dt><dd>
The information regarding a particular file, stored in the
<a class="link" href="#def_index">index</a>. An index entry can be unmerged, if a
<a class="link" href="#def_merge">merge</a> was started, but not yet finished (i.e. if
the index contains multiple versions of that file).
</dd><dt><span class="term"><a name="def_master"></a>master</span></dt><dd>
The default development <a class="link" href="#def_branch">branch</a>. Whenever you
create a Git <a class="link" href="#def_repository">repository</a>, a branch named
"master" is created, and becomes the active branch. In most
cases, this contains the local development, though that is
purely by convention and is not required.
</dd><dt><span class="term"><a name="def_merge"></a>merge</span></dt><dd>
<p class="simpara">As a verb: To bring the contents of another
<a class="link" href="#def_branch">branch</a> (possibly from an external
<a class="link" href="#def_repository">repository</a>) into the current branch.  In the
case where the merged-in branch is from a different repository,
this is done by first <a class="link" href="#def_fetch">fetching</a> the remote branch
and then merging the result into the current branch.  This
combination of fetch and merge operations is called a
<a class="link" href="#def_pull">pull</a>.  Merging is performed by an automatic process
that identifies changes made since the branches diverged, and
then applies all those changes together.  In cases where changes
conflict, manual intervention may be required to complete the
merge.</p>
<p class="simpara">As a noun: unless it is a <a class="link" href="#def_fast_forward">fast-forward</a>, a
successful merge results in the creation of a new <a class="link" href="#def_commit">commit</a>
representing the result of the merge, and having as
<a class="link" href="#def_parent">parents</a> the tips of the merged <a class="link" href="#def_branch">branches</a>.
This commit is referred to as a "merge commit", or sometimes just a
"merge".</p>
</dd><dt><span class="term"><a name="def_object"></a>object</span></dt><dd>
The unit of storage in Git. It is uniquely identified by the
<a class="link" href="#def_SHA1">SHA-1</a> of its contents. Consequently, an
object cannot be changed.
</dd><dt><span class="term"><a name="def_object_database"></a>object database</span></dt><dd>
Stores a set of "objects", and an individual <a class="link" href="#def_object">object</a> is
identified by its <a class="link" href="#def_object_name">object name</a>. The objects usually
live in <code class="literal">$GIT_DIR/objects/</code>.
</dd><dt><span class="term"><a name="def_object_identifier"></a>object identifier (oid)</span></dt><dd>
Synonym for <a class="link" href="#def_object_name">object name</a>.
</dd><dt><span class="term"><a name="def_object_name"></a>object name</span></dt><dd>
The unique identifier of an <a class="link" href="#def_object">object</a>.  The
object name is usually represented by a 40 character
hexadecimal string.  Also colloquially called <a class="link" href="#def_SHA1">SHA-1</a>.
</dd><dt><span class="term"><a name="def_object_type"></a>object type</span></dt><dd>
One of the identifiers "<a class="link" href="#def_commit_object">commit</a>",
"<a class="link" href="#def_tree_object">tree</a>", "<a class="link" href="#def_tag_object">tag</a>" or
"<a class="link" href="#def_blob_object">blob</a>" describing the type of an
<a class="link" href="#def_object">object</a>.
</dd><dt><span class="term"><a name="def_octopus"></a>octopus</span></dt><dd>
To <a class="link" href="#def_merge">merge</a> more than two <a class="link" href="#def_branch">branches</a>.
</dd><dt><span class="term"><a name="def_orphan"></a>orphan</span></dt><dd>
The act of getting on a <a class="link" href="#def_branch">branch</a> that does not
exist yet (i.e., an <a class="link" href="#def_unborn">unborn</a> branch).  After
such an operation, the commit first created becomes a commit
without a parent, starting a new history.
</dd><dt><span class="term"><a name="def_origin"></a>origin</span></dt><dd>
The default upstream <a class="link" href="#def_repository">repository</a>. Most projects have
at least one upstream project which they track. By default
<span class="emphasis"><em>origin</em></span> is used for that purpose. New upstream updates
will be fetched into <a class="link" href="#def_remote_tracking_branch">remote-tracking branches</a> named
origin/name-of-upstream-branch, which you can see using
<code class="literal">git</code> <code class="literal">branch</code> <code class="literal">-r</code>.
</dd><dt><span class="term"><a name="def_overlay"></a>overlay</span></dt><dd>
Only update and add files to the working directory, but don’t
delete them, similar to how <span class="emphasis"><em>cp -R</em></span> would update the contents
in the destination directory.  This is the default mode in a
<a class="link" href="#def_checkout">checkout</a> when checking out files from the
<a class="link" href="#def_index">index</a> or a <a class="link" href="#def_tree-ish">tree-ish</a>.  In
contrast, no-overlay mode also deletes tracked files not
present in the source, similar to <span class="emphasis"><em>rsync --delete</em></span>.
</dd><dt><span class="term"><a name="def_pack"></a>pack</span></dt><dd>
A set of objects which have been compressed into one file (to save space
or to transmit them efficiently).
</dd><dt><span class="term"><a name="def_pack_index"></a>pack index</span></dt><dd>
The list of identifiers, and other information, of the objects in a
<a class="link" href="#def_pack">pack</a>, to assist in efficiently accessing the contents of a
pack.
</dd><dt><span class="term"><a name="def_pathspec"></a>pathspec</span></dt><dd>
<p class="simpara">Pattern used to limit paths in Git commands.</p>
<p class="simpara">Pathspecs are used on the command line of "git ls-files", "git
ls-tree", "git add", "git grep", "git diff", "git checkout",
and many other commands to
limit the scope of operations to some subset of the tree or
working tree.  See the documentation of each command for whether
paths are relative to the current directory or toplevel.  The
pathspec syntax is as follows:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
any path matches itself
</li><li class="listitem">
the pathspec up to the last slash represents a
directory prefix.  The scope of that pathspec is
limited to that subtree.
</li><li class="listitem">
the rest of the pathspec is a pattern for the remainder
of the pathname.  Paths relative to the directory
prefix will be matched against that pattern using fnmatch(3);
in particular, <span class="emphasis"><em>*</em></span> and <span class="emphasis"><em>?</em></span> <span class="emphasis"><em>can</em></span> match directory separators.
</li></ul></div>
<p class="simpara">For example, Documentation/*.jpg will match all .jpg files
in the Documentation subtree,
including Documentation/chapter_1/figure_1.jpg.</p>
<p class="simpara">A pathspec that begins with a colon <code class="literal">:</code> has special meaning.  In the
short form, the leading colon <code class="literal">:</code> is followed by zero or more "magic
signature" letters (which optionally is terminated by another colon <code class="literal">:</code>),
and the remainder is the pattern to match against the path.
The "magic signature" consists of ASCII symbols that are neither
alphanumeric, glob, regex special characters nor colon.
The optional colon that terminates the "magic signature" can be
omitted if the pattern begins with a character that does not belong to
"magic signature" symbol set and is not a colon.</p>
<p class="simpara">In the long form, the leading colon <code class="literal">:</code> is followed by an open
parenthesis (, a comma-separated list of zero or more "magic words",
and a close parentheses ), and the remainder is the pattern to match
against the path.</p>
<p class="simpara">A pathspec with only a colon means "there is no pathspec". This form
should not be combined with other pathspec.</p>
<div class="variablelist"><dl class="variablelist"><dt><span class="term">top</span></dt><dd>
The magic word <code class="literal">top</code> (magic signature: <code class="literal">/</code>) makes the pattern
match from the root of the working tree, even when you are
running the command from inside a subdirectory.
</dd><dt><span class="term">literal</span></dt><dd>
Wildcards in the pattern such as <code class="literal">*</code> or ? are treated
as literal characters.
</dd><dt><span class="term">icase</span></dt><dd>
Case insensitive match.
</dd><dt><span class="term">glob</span></dt><dd>
<p class="simpara">Git treats the pattern as a shell glob suitable for
consumption by fnmatch(3) with the FNM_PATHNAME flag:
wildcards in the pattern will not match a / in the pathname.
For example, "Documentation/*.html" matches
"Documentation/git.html" but not "Documentation/ppc/ppc.html"
or "tools/perf/Documentation/perf.html".</p>
<p class="simpara">Two consecutive asterisks ("<code class="literal">**</code>") in patterns matched against
full pathname may have special meaning:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
A leading "<code class="literal">**</code>" followed by a slash means match in all
directories. For example, "<code class="literal">**/foo</code>" matches file or directory
"<code class="literal">foo</code>" anywhere. "<code class="literal">**/foo/bar</code>" matches file or directory "<code class="literal">bar</code>"
anywhere that is directly under directory "<code class="literal">foo</code>".
</li><li class="listitem">
A trailing "<code class="literal">/**</code>" matches everything inside. For example,
"<code class="literal">abc/**</code>" matches all files inside directory "abc", relative
to the location of the .<code class="literal">gitignore</code> file, with infinite depth.
</li><li class="listitem">
A slash followed by two consecutive asterisks then a slash
matches zero or more directories. For example, "<code class="literal">a/**/b</code>"
matches "<code class="literal">a/b</code>", "<code class="literal">a/x/b</code>", "<code class="literal">a/x/y/b</code>" and so on.
</li><li class="listitem">
<p class="simpara">Other consecutive asterisks are considered invalid.</p>
<p class="simpara">Glob magic is incompatible with literal magic.</p>
</li></ul></div>
</dd><dt><span class="term">attr</span></dt><dd>
<p class="simpara">After <code class="literal">attr:</code> comes a space separated list of "attribute
requirements", all of which must be met in order for the
path to be considered a match; this is in addition to the
usual non-magic pathspec pattern matching.
See <a class="ulink" href="gitattributes.html" target="_top">gitattributes(5)</a>.</p>
<p class="simpara">Each of the attribute requirements for the path takes one of
these forms:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
"<code class="literal">ATTR</code>" requires that the attribute <code class="literal">ATTR</code> be set.
</li><li class="listitem">
"<code class="literal">-ATTR</code>" requires that the attribute <code class="literal">ATTR</code> be unset.
</li><li class="listitem">
"<code class="literal">ATTR=VALUE</code>" requires that the attribute <code class="literal">ATTR</code> be
set to the string <code class="literal">VALUE</code>.
</li><li class="listitem">
<p class="simpara">"!ATTR" requires that the attribute <code class="literal">ATTR</code> be
unspecified.</p>
<p class="simpara">Note that when matching against a tree object, attributes are still
obtained from working tree, not from the given tree object.</p>
</li></ul></div>
</dd><dt><span class="term">exclude</span></dt><dd>
After a path matches any non-exclude pathspec, it will be run
through all exclude pathspecs (magic signature: ! or its
synonym <code class="literal">^</code>). 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.
</dd></dl></div>
</dd><dt><span class="term"><a name="def_parent"></a>parent</span></dt><dd>
A <a class="link" href="#def_commit_object">commit object</a> contains a (possibly empty) list
of the logical predecessor(s) in the line of development, i.e. its
parents.
</dd><dt><span class="term"><a name="def_peel"></a>peel</span></dt><dd>
The action of recursively <a class="link" href="#def_dereference">dereferencing</a> a
<a class="link" href="#def_tag_object">tag object</a>.
</dd><dt><span class="term"><a name="def_pickaxe"></a>pickaxe</span></dt><dd>
The term <a class="link" href="#def_pickaxe">pickaxe</a> refers to an option to the diffcore
routines that help select changes that add or delete a given text
string. With the <code class="literal">--pickaxe-all</code> option, it can be used to view the full
<a class="link" href="#def_changeset">changeset</a> that introduced or removed, say, a
particular line of text. See <a class="ulink" href="git-diff.html" target="_top">git-diff(1)</a>.
</dd><dt><span class="term"><a name="def_plumbing"></a>plumbing</span></dt><dd>
Cute name for <a class="link" href="#def_core_git">core Git</a>.
</dd><dt><span class="term"><a name="def_porcelain"></a>porcelain</span></dt><dd>
Cute name for programs and program suites depending on
<a class="link" href="#def_core_git">core Git</a>, presenting a high level access to
core Git. Porcelains expose more of a <a class="link" href="#def_SCM">SCM</a>
interface than the <a class="link" href="#def_plumbing">plumbing</a>.
</dd><dt><span class="term"><a name="def_per_worktree_ref"></a>per-worktree ref</span></dt><dd>
Refs that are per-<a class="link" href="#def_worktree">worktree</a>, rather than
global.  This is presently only <a class="link" href="#def_HEAD">HEAD</a> and any refs
that start with <code class="literal">refs/bisect/</code>, but might later include other
unusual refs.
</dd><dt><span class="term"><a name="def_pseudoref"></a>pseudoref</span></dt><dd>
<p class="simpara">A ref that has different semantics than normal refs. These refs can be
read via normal Git commands, but cannot be written to by commands like
<a class="ulink" href="git-update-ref.html" target="_top">git-update-ref(1)</a>.</p>
<p class="simpara">The following pseudorefs are known to Git:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<code class="literal">FETCH_HEAD</code> is written by <a class="ulink" href="git-fetch.html" target="_top">git-fetch(1)</a> or <a class="ulink" href="git-pull.html" target="_top">git-pull(1)</a>. It
may refer to multiple object IDs. Each object ID is annotated with metadata
indicating where it was fetched from and its fetch status.
</li><li class="listitem">
<code class="literal">MERGE_HEAD</code> is written by <a class="ulink" href="git-merge.html" target="_top">git-merge(1)</a> when resolving merge
conflicts. It contains all commit IDs which are being merged.
</li></ul></div>
</dd><dt><span class="term"><a name="def_pull"></a>pull</span></dt><dd>
Pulling a <a class="link" href="#def_branch">branch</a> means to <a class="link" href="#def_fetch">fetch</a> it and
<a class="link" href="#def_merge">merge</a> it.  See also <a class="ulink" href="git-pull.html" target="_top">git-pull(1)</a>.
</dd><dt><span class="term"><a name="def_push"></a>push</span></dt><dd>
Pushing a <a class="link" href="#def_branch">branch</a> means to get the branch’s
<a class="link" href="#def_head_ref">head ref</a> from a remote <a class="link" href="#def_repository">repository</a>,
find out if it is an ancestor to the branch’s local
head ref, and in that case, putting all
objects, which are <a class="link" href="#def_reachable">reachable</a> from the local
head ref, and which are missing from the remote
repository, into the remote
<a class="link" href="#def_object_database">object database</a>, and updating the remote
head ref. If the remote <a class="link" href="#def_head">head</a> is not an
ancestor to the local head, the push fails.
</dd><dt><span class="term"><a name="def_reachable"></a>reachable</span></dt><dd>
All of the ancestors of a given <a class="link" href="#def_commit">commit</a> are said to be
"reachable" from that commit. More
generally, one <a class="link" href="#def_object">object</a> is reachable from
another if we can reach the one from the other by a <a class="link" href="#def_chain">chain</a>
that follows <a class="link" href="#def_tag">tags</a> to whatever they tag,
<a class="link" href="#def_commit_object">commits</a> to their parents or trees, and
<a class="link" href="#def_tree_object">trees</a> to the trees or <a class="link" href="#def_blob_object">blobs</a>
that they contain.
</dd><dt><span class="term"><a name="def_reachability_bitmap"></a>reachability bitmaps</span></dt><dd>
Reachability bitmaps store information about the
<a class="link" href="#def_reachable">reachability</a> of a selected set of commits in
a packfile, or a multi-pack index (MIDX), to speed up object search.
The bitmaps are stored in a ".bitmap" file. A repository may have at
most one bitmap file in use. The bitmap file may belong to either one
pack, or the repository’s multi-pack index (if it exists).
</dd><dt><span class="term"><a name="def_rebase"></a>rebase</span></dt><dd>
To reapply a series of changes from a <a class="link" href="#def_branch">branch</a> to a
different base, and reset the <a class="link" href="#def_head">head</a> of that branch
to the result.
</dd><dt><span class="term"><a name="def_ref"></a>ref</span></dt><dd>
<p class="simpara">A name that points to an <a class="link" href="#def_object_name">object name</a> or
another ref (the latter is called a <a class="link" href="#def_symref">symbolic ref</a>).
For convenience, a ref can sometimes be abbreviated when used
as an argument to a Git command; see <a class="ulink" href="gitrevisions.html" target="_top">gitrevisions(7)</a>
for details.
Refs are stored in the <a class="link" href="#def_repository">repository</a>.</p>
<p class="simpara">The ref namespace is hierarchical.
Ref names must either start with <code class="literal">refs/</code> or be located in the root of
the hierarchy. For the latter, their name must follow these rules:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
The name consists of only upper-case characters or underscores.
</li><li class="listitem">
<p class="simpara">The name ends with "<code class="literal">_HEAD</code>" or is equal to "<code class="literal">HEAD</code>".</p>
<p class="simpara">There are some irregular refs in the root of the hierarchy that do not
match these rules. The following list is exhaustive and shall not be
extended in the future:</p>
</li><li class="listitem">
<code class="literal">AUTO_MERGE</code>
</li><li class="listitem">
<code class="literal">BISECT_EXPECTED_REV</code>
</li><li class="listitem">
<code class="literal">NOTES_MERGE_PARTIAL</code>
</li><li class="listitem">
<code class="literal">NOTES_MERGE_REF</code>
</li><li class="listitem">
<p class="simpara"><code class="literal">MERGE_AUTOSTASH</code></p>
<p class="simpara">Different subhierarchies are used for different purposes. For example,
the <code class="literal">refs/heads/</code> hierarchy is used to represent local branches whereas
the <code class="literal">refs/tags/</code> hierarchy is used to represent local tags..</p>
</li></ul></div>
</dd><dt><span class="term"><a name="def_reflog"></a>reflog</span></dt><dd>
A reflog shows the local "history" of a ref.  In other words,
it can tell you what the 3rd last revision in <span class="emphasis"><em>this</em></span> repository
was, and what was the current state in <span class="emphasis"><em>this</em></span> repository,
yesterday 9:14pm.  See <a class="ulink" href="git-reflog.html" target="_top">git-reflog(1)</a> for details.
</dd><dt><span class="term"><a name="def_refspec"></a>refspec</span></dt><dd>
A "refspec" is used by <a class="link" href="#def_fetch">fetch</a> and
<a class="link" href="#def_push">push</a> to describe the mapping between remote
<a class="link" href="#def_ref">ref</a> and local ref. See <a class="ulink" href="git-fetch.html" target="_top">git-fetch(1)</a> or
<a class="ulink" href="git-push.html" target="_top">git-push(1)</a> for details.
</dd><dt><span class="term"><a name="def_remote"></a>remote repository</span></dt><dd>
A <a class="link" href="#def_repository">repository</a> which is used to track the same
project but resides somewhere else. To communicate with remotes,
see <a class="link" href="#def_fetch">fetch</a> or <a class="link" href="#def_push">push</a>.
</dd><dt><span class="term"><a name="def_remote_tracking_branch"></a>remote-tracking branch</span></dt><dd>
A <a class="link" href="#def_ref">ref</a> that is used to follow changes from another
<a class="link" href="#def_repository">repository</a>. It typically looks like
<span class="emphasis"><em>refs/remotes/foo/bar</em></span> (indicating that it tracks a branch named
<span class="emphasis"><em>bar</em></span> in a remote named <span class="emphasis"><em>foo</em></span>), and matches the right-hand-side of
a configured fetch <a class="link" href="#def_refspec">refspec</a>. A remote-tracking
branch should not contain direct modifications or have local
commits made to it.
</dd><dt><span class="term"><a name="def_repository"></a>repository</span></dt><dd>
A collection of <a class="link" href="#def_ref">refs</a> together with an
<a class="link" href="#def_object_database">object database</a> containing all objects
which are <a class="link" href="#def_reachable">reachable</a> from the refs, possibly
accompanied by meta data from one or more <a class="link" href="#def_porcelain">porcelains</a>. A
repository can share an object database with other repositories
via <a class="link" href="#def_alternate_object_database">alternates mechanism</a>.
</dd><dt><span class="term"><a name="def_resolve"></a>resolve</span></dt><dd>
The action of fixing up manually what a failed automatic
<a class="link" href="#def_merge">merge</a> left behind.
</dd><dt><span class="term"><a name="def_revision"></a>revision</span></dt><dd>
Synonym for <a class="link" href="#def_commit">commit</a> (the noun).
</dd><dt><span class="term"><a name="def_rewind"></a>rewind</span></dt><dd>
To throw away part of the development, i.e. to assign the
<a class="link" href="#def_head">head</a> to an earlier <a class="link" href="#def_revision">revision</a>.
</dd><dt><span class="term"><a name="def_SCM"></a>SCM</span></dt><dd>
Source code management (tool).
</dd><dt><span class="term"><a name="def_SHA1"></a>SHA-1</span></dt><dd>
"Secure Hash Algorithm 1"; a cryptographic hash function.
In the context of Git used as a synonym for <a class="link" href="#def_object_name">object name</a>.
</dd><dt><span class="term"><a name="def_shallow_clone"></a>shallow clone</span></dt><dd>
Mostly a synonym to <a class="link" href="#def_shallow_repository">shallow repository</a>
but the phrase makes it more explicit that it was created by
running <code class="literal">git</code> <code class="literal">clone</code> <code class="literal">--depth=..</code>. command.
</dd><dt><span class="term"><a name="def_shallow_repository"></a>shallow repository</span></dt><dd>
A shallow <a class="link" href="#def_repository">repository</a> has an incomplete
history some of whose <a class="link" href="#def_commit">commits</a> have <a class="link" href="#def_parent">parents</a> cauterized away (in other
words, Git is told to pretend that these commits do not have the
parents, even though they are recorded in the <a class="link" href="#def_commit_object">commit
object</a>). This is sometimes useful when you are interested only in the
recent history of a project even though the real history recorded in the
upstream is much larger. A shallow repository
is created by giving the <code class="literal">--depth</code> option to <a class="ulink" href="git-clone.html" target="_top">git-clone(1)</a>, and
its history can be later deepened with <a class="ulink" href="git-fetch.html" target="_top">git-fetch(1)</a>.
</dd><dt><span class="term"><a name="def_stash"></a>stash entry</span></dt><dd>
An <a class="link" href="#def_object">object</a> used to temporarily store the contents of a
<a class="link" href="#def_dirty">dirty</a> working directory and the index for future reuse.
</dd><dt><span class="term"><a name="def_submodule"></a>submodule</span></dt><dd>
A <a class="link" href="#def_repository">repository</a> that holds the history of a
separate project inside another repository (the latter of
which is called <a class="link" href="#def_superproject">superproject</a>).
</dd><dt><span class="term"><a name="def_superproject"></a>superproject</span></dt><dd>
A <a class="link" href="#def_repository">repository</a> that references repositories
of other projects in its working tree as <a class="link" href="#def_submodule">submodules</a>.
The superproject knows about the names of (but does not hold
copies of) commit objects of the contained submodules.
</dd><dt><span class="term"><a name="def_symref"></a>symref</span></dt><dd>
Symbolic reference: instead of containing the <a class="link" href="#def_SHA1">SHA-1</a> id
itself, it is of the format <span class="emphasis"><em>ref: refs/some/thing</em></span> and when referenced,
it recursively <a class="link" href="#def_dereference">dereferences</a> to this reference.
<span class="emphasis"><em><a class="link" href="#def_HEAD">HEAD</a></em></span> is a prime example of a symref. Symbolic references
are manipulated with the <a class="ulink" href="git-symbolic-ref.html" target="_top">git-symbolic-ref(1)</a> command.
</dd><dt><span class="term"><a name="def_tag"></a>tag</span></dt><dd>
A <a class="link" href="#def_ref">ref</a> under <code class="literal">refs/tags/</code> namespace that points to an
object of an arbitrary type (typically a tag points to either a
<a class="link" href="#def_tag_object">tag</a> or a <a class="link" href="#def_commit_object">commit object</a>).
In contrast to a <a class="link" href="#def_head">head</a>, a tag is not updated by
the <code class="literal">commit</code> command. A Git tag has nothing to do with a Lisp
tag (which would be called an <a class="link" href="#def_object_type">object type</a>
in Git’s context). A tag is most typically used to mark a particular
point in the commit ancestry <a class="link" href="#def_chain">chain</a>.
</dd><dt><span class="term"><a name="def_tag_object"></a>tag object</span></dt><dd>
An <a class="link" href="#def_object">object</a> containing a <a class="link" href="#def_ref">ref</a> pointing to
another object, which can contain a message just like a
<a class="link" href="#def_commit_object">commit object</a>. It can also contain a (PGP)
signature, in which case it is called a "signed tag object".
</dd><dt><span class="term"><a name="def_topic_branch"></a>topic branch</span></dt><dd>
A regular Git <a class="link" href="#def_branch">branch</a> that is used by a developer to
identify a conceptual line of development. Since branches are very easy
and inexpensive, it is often desirable to have several small branches
that each contain very well defined concepts or small incremental yet
related changes.
</dd><dt><span class="term"><a name="def_trailer"></a>trailer</span></dt><dd>
Key-value metadata.  Trailers are optionally found at the end of
a commit message.  Might be called "footers" or "tags" in other
communities.  See <a class="ulink" href="git-interpret-trailers.html" target="_top">git-interpret-trailers(1)</a>.
</dd><dt><span class="term"><a name="def_tree"></a>tree</span></dt><dd>
Either a <a class="link" href="#def_working_tree">working tree</a>, or a <a class="link" href="#def_tree_object">tree
object</a> together with the dependent <a class="link" href="#def_blob_object">blob</a> and tree objects
(i.e. a stored representation of a working tree).
</dd><dt><span class="term"><a name="def_tree_object"></a>tree object</span></dt><dd>
An <a class="link" href="#def_object">object</a> containing a list of file names and modes along
with refs to the associated blob and/or tree objects. A
<a class="link" href="#def_tree">tree</a> is equivalent to a <a class="link" href="#def_directory">directory</a>.
</dd><dt><span class="term"><a name="def_tree-ish"></a>tree-ish (also treeish)</span></dt><dd>
A <a class="link" href="#def_tree_object">tree object</a> or an <a class="link" href="#def_object">object</a> that can
be recursively <a class="link" href="#def_dereference">dereferenced</a> to a tree object.
Dereferencing a <a class="link" href="#def_commit_object">commit object</a> yields the tree
object corresponding to the <a class="link" href="#def_revision">revision</a>'s top
<a class="link" href="#def_directory">directory</a>.
The following are all tree-ishes:
a <a class="link" href="#def_commit-ish">commit-ish</a>,
a tree object,
a <a class="link" href="#def_tag_object">tag object</a> that points to a tree object,
a tag object that points to a tag object that points to a tree
object,
etc.
</dd><dt><span class="term"><a name="def_unborn"></a>unborn</span></dt><dd>
The <a class="link" href="#def_HEAD">HEAD</a> can point at a <a class="link" href="#def_branch">branch</a>
that does not yet exist and that does not have any commit on
it yet, and such a branch is called an unborn branch.  The
most typical way users encounter an unborn branch is by
creating a repository anew without cloning from elsewhere.
The HEAD would point at the <span class="emphasis"><em>main</em></span> (or <span class="emphasis"><em>master</em></span>, depending
on your configuration) branch that is yet to be born.  Also
some operations can get you on an unborn branch with their
<a class="link" href="#def_orphan">orphan</a> option.
</dd><dt><span class="term"><a name="def_unmerged_index"></a>unmerged index</span></dt><dd>
An <a class="link" href="#def_index">index</a> which contains unmerged
<a class="link" href="#def_index_entry">index entries</a>.
</dd><dt><span class="term"><a name="def_unreachable_object"></a>unreachable object</span></dt><dd>
An <a class="link" href="#def_object">object</a> which is not <a class="link" href="#def_reachable">reachable</a> from a
<a class="link" href="#def_branch">branch</a>, <a class="link" href="#def_tag">tag</a>, or any other reference.
</dd><dt><span class="term"><a name="def_upstream_branch"></a>upstream branch</span></dt><dd>
The default <a class="link" href="#def_branch">branch</a> that is merged into the branch in
question (or the branch in question is rebased onto). It is configured
via branch.&lt;name&gt;.remote and branch.&lt;name&gt;.merge. If the upstream branch
of <span class="emphasis"><em>A</em></span> is <span class="emphasis"><em>origin/B</em></span> sometimes we say "<span class="emphasis"><em>A</em></span> is tracking <span class="emphasis"><em>origin/B</em></span>".
</dd><dt><span class="term"><a name="def_working_tree"></a>working tree</span></dt><dd>
The tree of actual checked out files.  The working tree normally
contains the contents of the <a class="link" href="#def_HEAD">HEAD</a> commit’s tree,
plus any local changes that you have made but not yet committed.
</dd><dt><span class="term"><a name="def_worktree"></a>worktree</span></dt><dd>
A repository can have zero (i.e. bare repository) or one or
more worktrees attached to it. One "worktree" consists of a
"working tree" and repository metadata, most of which are
shared among other worktrees of a single repository, and
some of which are maintained separately per worktree
(e.g. the index, HEAD and pseudorefs like MERGE_HEAD,
per-worktree refs and per-worktree configuration file).
</dd></dl></div>
</div>
</div>
<div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a name="git-quick-start"></a>Appendix A. Git Quick Reference</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#quick-creating-a-new-repository">Creating a new repository</a></span></dt><dt><span class="section"><a href="#managing-branches">Managing branches</a></span></dt><dt><span class="section"><a href="#exploring-history">Exploring history</a></span></dt><dt><span class="section"><a href="#making-changes">Making changes</a></span></dt><dt><span class="section"><a href="#merging">Merging</a></span></dt><dt><span class="section"><a href="#sharing-your-changes">Sharing your changes</a></span></dt><dt><span class="section"><a href="#repository-maintenance">Repository maintenance</a></span></dt></dl></div>

<p>This is a quick summary of the major commands; the previous chapters
explain how these work in more detail.</p>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="quick-creating-a-new-repository"></a>Creating a new repository</h2></div></div></div>

<p>From a tarball:</p>
<pre class="screen">$ tar xzf project.tar.gz
$ cd project
$ git init
Initialized empty Git repository in .git/
$ git add .
$ git commit</pre>
<p>From a remote repository:</p>
<pre class="screen">$ git clone git://example.com/pub/project.git
$ cd project</pre>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="managing-branches"></a>Managing branches</h2></div></div></div>

<pre class="screen">$ git branch                    # list all local branches in this repo
$ git switch test               # switch working directory to branch "test"
$ git branch new                # create branch "new" starting at current HEAD
$ git branch -d new             # delete branch "new"</pre>
<p>Instead of basing a new branch on current HEAD (the default), use:</p>
<pre class="screen">$ git branch new test    # branch named "test"
$ git branch new v2.6.15 # tag named v2.6.15
$ git branch new HEAD^   # commit before the most recent
$ git branch new HEAD^^  # commit before that
$ git branch new test~10 # ten commits before tip of branch "test"</pre>
<p>Create and switch to a new branch at the same time:</p>
<pre class="screen">$ git switch -c new v2.6.15</pre>
<p>Update and examine branches from the repository you cloned from:</p>
<pre class="screen">$ git fetch             # update
$ git branch -r         # list
  origin/master
  origin/next
  ...
$ git switch -c masterwork origin/master</pre>
<p>Fetch a branch from a different repository, and give it a new
name in your repository:</p>
<pre class="screen">$ git fetch git://example.com/project.git theirbranch:mybranch
$ git fetch git://example.com/project.git v2.6.15:mybranch</pre>
<p>Keep a list of repositories you work with regularly:</p>
<pre class="screen">$ git remote add example git://example.com/project.git
$ git remote                    # list remote repositories
example
origin
$ git remote show example       # get details
* remote example
  URL: git://example.com/project.git
  Tracked remote branches
    master
    next
    ...
$ git fetch example             # update branches from example
$ git branch -r                 # list all remote branches</pre>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="exploring-history"></a>Exploring history</h2></div></div></div>

<pre class="screen">$ gitk                      # visualize and browse history
$ git log                   # list all commits
$ git log src/              # ...modifying src/
$ git log v2.6.15..v2.6.16  # ...in v2.6.16, not in v2.6.15
$ git log master..test      # ...in branch test, not in branch master
$ git log test..master      # ...in branch master, but not in test
$ git log test...master     # ...in one branch, not in both
$ git log -S'foo()'         # ...where difference contain "foo()"
$ git log --since="2 weeks ago"
$ git log -p                # show patches as well
$ git show                  # most recent commit
$ git diff v2.6.15..v2.6.16 # diff between two tagged versions
$ git diff v2.6.15..HEAD    # diff with current head
$ git grep "foo()"          # search working directory for "foo()"
$ git grep v2.6.15 "foo()"  # search old tree for "foo()"
$ git show v2.6.15:a.txt    # look at old version of a.txt</pre>
<p>Search for regressions:</p>
<pre class="screen">$ git bisect start
$ git bisect bad                # current version is bad
$ git bisect good v2.6.13-rc2   # last known good revision
Bisecting: 675 revisions left to test after this
                                # test here, then:
$ git bisect good               # if this revision is good, or
$ git bisect bad                # if this revision is bad.
                                # repeat until done.</pre>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="making-changes"></a>Making changes</h2></div></div></div>

<p>Make sure Git knows who to blame:</p>
<pre class="screen">$ cat &gt;&gt;~/.gitconfig &lt;&lt;\EOF
[user]
        name = Your Name Comes Here
        email = you@yourdomain.example.com
EOF</pre>
<p>Select file contents to include in the next commit, then make the
commit:</p>
<pre class="screen">$ git add a.txt    # updated file
$ git add b.txt    # new file
$ git rm c.txt     # old file
$ git commit</pre>
<p>Or, prepare and create the commit in one step:</p>
<pre class="screen">$ git commit d.txt # use latest content only of d.txt
$ git commit -a    # use latest content of all tracked files</pre>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="merging"></a>Merging</h2></div></div></div>

<pre class="screen">$ git merge test   # merge branch "test" into the current branch
$ git pull git://example.com/project.git master
                   # fetch and merge in remote branch
$ git pull . test  # equivalent to git merge test</pre>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sharing-your-changes"></a>Sharing your changes</h2></div></div></div>

<p>Importing or exporting patches:</p>
<pre class="screen">$ git format-patch origin..HEAD # format a patch for each commit
                                # in HEAD but not in origin
$ git am mbox # import patches from the mailbox "mbox"</pre>
<p>Fetch a branch in a different Git repository, then merge into the
current branch:</p>
<pre class="screen">$ git pull git://example.com/project.git theirbranch</pre>
<p>Store the fetched branch into a local branch before merging into the
current branch:</p>
<pre class="screen">$ git pull git://example.com/project.git theirbranch:mybranch</pre>
<p>After creating commits on a local branch, update the remote
branch with your commits:</p>
<pre class="screen">$ git push ssh://example.com/project.git mybranch:theirbranch</pre>
<p>When remote and local branch are both named "test":</p>
<pre class="screen">$ git push ssh://example.com/project.git test</pre>
<p>Shortcut version for a frequently used remote repository:</p>
<pre class="screen">$ git remote add example ssh://example.com/project.git
$ git push example test</pre>
</div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="repository-maintenance"></a>Repository maintenance</h2></div></div></div>

<p>Check for corruption:</p>
<pre class="screen">$ git fsck</pre>
<p>Recompress, remove unused cruft:</p>
<pre class="screen">$ git gc</pre>
</div>
</div>
<div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a name="todo"></a>Appendix B. Notes and todo list for this manual</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="section"><a href="#todo-list">Todo list</a></span></dt></dl></div>

<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="todo-list"></a>Todo list</h2></div></div></div>

<p>This is a work in progress.</p>
<p>The basic requirements:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
It must be readable in order, from beginning to end, by someone
intelligent with a basic grasp of the UNIX command line, but without
any special knowledge of Git.  If necessary, any other prerequisites
should be specifically mentioned as they arise.
</li><li class="listitem">
Whenever possible, section headings should clearly describe the task
they explain how to do, in language that requires no more knowledge
than necessary: for example, "importing patches into a project" rather
than "the <code class="literal">git</code> <code class="literal">am</code> command"
</li></ul></div>
<p>Think about how to create a clear chapter dependency graph that will
allow people to get to important topics without necessarily reading
everything in between.</p>
<p>Scan <code class="literal">Documentation/</code> for other stuff left out; in particular:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
howto’s
</li><li class="listitem">
some of <code class="literal">technical/</code>?
</li><li class="listitem">
hooks
</li><li class="listitem">
list of commands in <a class="ulink" href="git.html" target="_top">git(1)</a>
</li></ul></div>
<p>Scan email archives for other stuff left out</p>
<p>Scan man pages to see if any assume more background than this manual
provides.</p>
<p>Add more good examples.  Entire sections of just cookbook examples
might be a good idea; maybe make an "advanced examples" section a
standard end-of-chapter section?</p>
<p>Include cross-references to the glossary, where appropriate.</p>
<p>Add a section on working with other version control systems, including
CVS, Subversion, and just imports of series of release tarballs.</p>
<p>Write a chapter on using plumbing and writing scripts.</p>
<p>Alternates, clone -reference, etc.</p>
<p>More on recovery from repository corruption.  See:
	<a class="ulink" href="https://lore.kernel.org/git/Pine.LNX.4.64.0702272039540.12485@woody.linux-foundation.org/" target="_top">https://lore.kernel.org/git/Pine.LNX.4.64.0702272039540.12485@woody.linux-foundation.org/</a>
	<a class="ulink" href="https://lore.kernel.org/git/Pine.LNX.4.64.0702141033400.3604@woody.linux-foundation.org/" target="_top">https://lore.kernel.org/git/Pine.LNX.4.64.0702141033400.3604@woody.linux-foundation.org/</a></p>
</div>
</div>
</div></body></html>
