annotate local/git-quick.html @ 90:1d853842db62

Add an index with anchor tags to jump to sections.
author Rob Landley <rob@landley.net>
date Fri, 09 Nov 2007 19:56:05 -0600
parents 307408bf8982
children 1bd46b3c996d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
77
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
1 <title>Following Linux kernel development with git</title>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
2
90
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
3 <ul>
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
4 <li><a href="#what">A "git bisect HOWTO" with a few extras.</a></li>
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
5 <li><a href="#installing">Installing git</a></li>
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
6 <li><a href="#downloading">Downloading the kernel with git</a></li>
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
7 <li><a href="#updating">Updating your local copy</a></li>
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
8 <li><a href="#looking">Looking at historical versions</a></li>
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
9 <li><a href="#versions">Working with historical versions<a></li>
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
10 <li><a href="#diff">Using git diff</a></li>
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
11 <li><a href="#tarballs">Creating tarballs</a></li>
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
12 <li><a href="#bisect">Bisect</a></li>
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
13 <li><a href="#example">Example git bisect run</a></li>
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
14 <li><a href="#commands">Command summary</a></li>
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
15 <li><a href="#linus">Linus Tovalds talks about git</a></li>
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
16 </ul>
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
17
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
18 <a name="what><h2>A "git bisect HOWTO" with a few extras.</h2>
77
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
19
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
20 <p>This document tells you how to follow Linux kernel development (and
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
21 examine its history) with git. It does not assume you've ever used a source
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
22 control system before, nor does it assume that you're familiar with
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
23 "distributed" vs "centralized" source control systems.</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
24
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
25 <p>This document describes a read-only approach, suitable for trying out
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
26 recent versions quickly, using "git bisect" to track down bugs, and
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
27 applying patches temporarily to see if they work for you.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
28 If you want to learn how to save changes into your copy of the git history and
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
29 submit them back to the kernel developers through git, you'll need
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
30 <a href=http://www.kernel.org/pub/software/scm/git/docs/tutorial.html>a much
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
31 larger tutorial</a> that explains concepts like "branches". This one
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
32 shouldn't get in the way of doing that sort of thing, but it doesn't go there.</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
33
90
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
34 <a name="installing"><h2>Installing git</h2>
77
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
35
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
36 <p>First, install a recent version of git. (Note that the user interface
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
37 changed drastically in git-1.5.0, and this page only describes the new
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
38 interface.)</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
39
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
40 <p>If your distro doesn't have a recent enough version, you can grab a
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
41 <a href=http://www.kernel.org/pub/software/scm/git/>source tarball</a> and
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
42 build it yourself. (There's no ./configure, as root go
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
43 "make install prefix=/usr". It needs zlib, libssl, libcurl, and libexpat.)</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
44
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
45 <p>When building from source, the easy way to get the man pages is to download
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
46 the appropriate git-manpages tarball (at the same URL as the source code)
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
47 and extract it into /usr/share/man. You want the man pages because "git help"
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
48 displays them.</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
49
90
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
50 <a name="downloading"><h2>Downloading the kernel with git</h2>
77
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
51
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
52 <p>The following command will download the current linux-kernel repository into
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
53 a local directory called "linux-git":</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
54
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
55 <blockquote>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
56 git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-git
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
57 </blockquote>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
58
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
59 <p>This downloads a local copy of the entire revision history (back to
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
60 2.6.12-rc2), which takes a couple hundred megabytes. It extracts the most
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
61 recent version of all the files into your linux-git directory, but that's just
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
62 a snapshot (generally referred to by git people as your
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
63 "<a href=http://www.kernel.org/pub/software/scm/git/docs/glossary.html#def_working_tree>working copy</a>").
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
64 The history is actually stored in the subdirectory "linux-git/.git", and the
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
65 snapshot can be recreated from that (or changed to match any historical
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
66 version) via various git commands explained below.</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
67
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
68 <p>You start with an up-to-the-minute copy of the linux kernel source, which
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
69 you can use just like an extracted tarball (ignoring the extra files in the
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
70 ".git" directory). If you're interested in history from the bitkeeper days
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
71 (before 2.6.12-rc2), that's stored in a seperate repository,
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
72 "<b>git://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git</b>".
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
73 (<a href=http://git.kernel.org>Here is a list of all git repositories hosted
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
74 on kernel.org</a>.)</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
75
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
76 <p>(If you forget the URL a git repository came from, it's in the file
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
77 ".git/FETCH_HEAD". Normally you shouldn't need to care, since git remembers
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
78 it.)</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
79
90
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
80 <a name="updating"><h2>Updating your local copy</h2>
77
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
81
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
82 <p>The command "<b>git pull</b>" downloads all the changes committed to Linus's
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
83 git repository since the last time you updated your copy, and appends those
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
84 commits to your copy of the repository (in the .git subdirectory). In addition,
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
85 this will automatically update the files in your working copy as appropriate.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
86 (If your working copy was set to a historical version, it won't be changed,
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
87 but returning your working copy to the present after a pull will get you the
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
88 newest version.)</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
89
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
90 <p>Note that this copies the revision history into your local .git directory.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
91 Other git commands (log, checkout, tag, blame, etc.) don't need to talk to
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
92 the server, you can work on your laptop without an internet connection (or
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
93 with a very slow one) and still have access to the complete revision history
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
94 you've already downloaded.</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
95
90
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
96 <a name="looking"><h2>Looking at historical versions</h2>
77
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
97
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
98 <p>The <b>git log</b> command lists the changes recorded in your repository,
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
99 starting with the most recent and working back. The big hexadecimal numbers
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
100 are unique identifiers (sha1sum) for each commit. If you want to specify a
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
101 commit, you only need the first few digits, enough to form a unique prefix.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
102 (Six digits should be plenty.)</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
103
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
104 <p>You can limit the log to a specific file or directory, which lists
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
105 only the commits changing that file/directory. Just add the file(s)
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
106 you're interested in to the end of the <b>git log</b> command line.</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
107
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
108 <p>The <b>git tag -l</b> command shows all the tagged releases. These
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
109 human-readable names can be used as synonyms for the appropriate commit
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
110 identifier, which is useful when doing things like checkout and diff.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
111 The special tag "<b>master</b>" points to the most recent commit.</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
112
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
113 <p>The <b>git blame $FILE</b> command displays all the changes that resulted in
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
114 the current state of a file. It shows each line, prefixed with the commit
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
115 identifier which last changed that line. (If the default version of <b>git
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
116 blame</b> is difficult to read on an 80 charater terminal, try <b>git blame
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
117 $FILE | sed 's/(.*)//'</b> to see more of the file itself.)</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
118
90
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
119 <a name="versions"><h2>Working with historical versions</h2>
77
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
120
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
121 <p>The <b>git checkout</b> command changes your working copy of the source to a
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
122 specific version. The -f option to checkout backs out any local changes
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
123 you've made to the files. The <b>git clean</b> command deletes any extra files
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
124 in your working directory (ones which aren't checked into the repository).
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
125 The -d option to clean deletes untracked directories as well as files.</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
126
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
127 <p>So to reset your working copy of the source to a historical version, go
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
128 <b>git checkout -f $VERSION; git clean -d</b> where $VERSION is the tag or
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
129 sha1sum identifier of the version you want. If you don't specify a $VERSION,
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
130 git will default to "master" which is the most recent checkout in Linus's
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
131 tree (what mercurial calls "tip" and Subversion calls HEAD), returning you
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
132 to the present and removing any uncommitted local changes.</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
133
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
134 <p>Another way to undo all changes to your copy is to do "rm -rf *" in
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
135 the linux-git directory (which doesn't delete hidden files like ".git"),
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
136 followed by "git checkout -f" to grab fresh copies from the repository in
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
137 the .git subdirectory. This generally isn't necessary. Most of the time,
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
138 <b>git checkout -f</b> is sufficient to reset your working copy to the most
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
139 recent version in the repository.</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
140
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
141 <p>If you lose track of which version is currently checked out as your working
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
142 copy, use <b>git log</b> to see the most recent commits to the version you're
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
143 looking at, and <b>git log master</b> to compare against the most recent
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
144 commits in the repository.</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
145
90
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
146 <a name="diff"><h2>Using git diff</h2>
77
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
147
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
148 <p>The command "git diff" shows differences between git versions. You can
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
149 ask it to show differences between:</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
150 <ul>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
151 <li><b>git diff</b> - the current version checked out from the respository and all files in the working directory</li>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
152 <li><b>git diff v2.6.21</b> - a specific historical version and all files in the working directory</li>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
153 <li><b>git diff v2.6.20 v2.6.21</b> - all files in two different historial
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
154 versions</li>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
155 <li><b>git diff init/main.c</b> - specific locally modified files in the
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
156 working directory that don't match what was checked out from the repository</li>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
157 <li><b>git diff v2.6.21 init/main.c</b> - specific file(s) in a specific historical version of the repository vs those same files in the working directory.</li>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
158 <li><b>git diff v2.6.20 v2.6.21 init/main.c</b> - specific files in two
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
159 different historical version of the repository</li>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
160 </ul>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
161
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
162 <p>What git is doing is checking each argument to see if it recognizes it
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
163 as a historical version sha1sum or tag, and if it isn't it checks to see if
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
164 it's a file. If this is likely to cause confusion, you can use the magic
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
165 argument "--" to indicate that all the arguments before that are versions
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
166 and all the arguments after that are filenames.</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
167
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
168 <p>The argument <b>--find-copies-harder</b> tells git diff to detect renamed or
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
169 copied files. Notice that git diff has a special syntax to indicate renamed
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
170 or copied files, which is much more concise and portable than the traditional
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
171 behavior of removing all lines from one file and adding them to another.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
172 (This behavior may become the default in a future version.)</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
173
90
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
174 <a name="tarballs"><h2>Creating tarballs</h2>
77
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
175
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
176 <p>The <b>git archive $VERSION</b> command creates a tarball (written to
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
177 stdout) of the given version. Note that "master" isn't the default here,
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
178 you have to specify that if you want the most up-to-date version.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
179 You can pipe it through bzip and write it to a file (<b>git archive master |
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
180 bzip2 > master.tar.bz2</b>) or you can use git archive to grab a clean copy
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
181 out of your local git repository and extract it into another directory, ala:</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
182
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
183 <blockquote>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
184 <pre>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
185 mkdir $COPY
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
186 git archive master | tar xCv $COPY
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
187 </pre>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
188 </blockquote>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
189
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
190 <p>You can also use the standard Linux kernel out-of-tree building
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
191 infrastructure on the git working directory, ala:</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
192
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
193 <blockquote>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
194 <pre>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
195 cd $GITDIR
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
196 make allnoconfig O=$OTHERDIR
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
197 cd $OTHERDIR
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
198 make menuconfig
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
199 make
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
200 </pre>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
201 </blockquote>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
202
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
203 <p>Finally, you can build in your git directory, and then clean it up
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
204 afterwards with <b>git checkout -f; git clean -d</b>. (Better than
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
205 "make distclean".)</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
206
90
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
207 <a name="bisect"><h2>Bisect</h2>
77
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
208
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
209 <p>Possibly the most useful thing git does for non-kernel developers is
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
210 <b>git bisect</b>, which can track down a bug to a specific revision. This
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
211 is a multi-step process which binary searches through the revision history
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
212 to find a specific commit responsible for a testable change in behavior.</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
213
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
214 <p>(You don't need to know this, but bisect turns out to be nontrivial to
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
215 implement in a distributed source control system, because the revision history
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
216 isn't linear. When the history branches and comes back together again, binary
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
217 searching through it requires remembering more than just a single starting and
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
218 ending point. That's why bisect works the way it does.)</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
219
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
220 <p>The git bisect commands are:</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
221 <ul>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
222 <li><b>git bisect start</b> - start a new bisect. This opens a new (empty)
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
223 log file tracking all the known good and bad versions.</li>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
224 <li><b>git bisect bad $VERSION</b> - Identify a known broken version. (Leaving
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
225 $VERSION blank indicates the current version, "master".)</li>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
226 <li><b>git bisect good $VERSION</b> - Identify a version that was known to
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
227 work.</li>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
228 <li><b>git bisect log</b> - Show bisection history so far this run.</li>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
229 <li><b>git bisect replay $LOGFILE</b> - Reset to an earlier state using the output of git bsect log.</li>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
230 <li><b>git bisect reset</b> - Finished bisecting, clean up and return to
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
231 head. (If git bisect start says "won't bisect on seeked tree", you forgot
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
232 to do this last time and should do it now.)</li>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
233 </ul>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
234
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
235 <p>To track down the commit that introduced a bug via git bisect, start with
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
236 <b>git bisect reset master</b> (just to be safe), then <b>git bisect start</b>.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
237 Next identify the last version known to work (ala <b>git bisect good
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
238 v2.6.20</b>), and identify the first bad version you're aware of (if it's
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
239 still broken, use "master".)</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
240
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
241 <p>After you identify one good and one bad version, git will grind for a bit
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
242 and reset the working directory state to some version in between, displaying
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
243 the version identifier it selected. Test this version (build and run your
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
244 test), then identify it as good or bad with the appropriate git bisect
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
245 command. (Just "git bisect good" or "get bisect bad", there's no need to
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
246 identify version here because it's the current version.) After each such
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
247 identification, git will grind for a bit and find another version to test,
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
248 resetting the working directory state to the new version until it narrows
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
249 it down to one specific commit.</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
250
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
251 <p>The biggest problem with <b>git bisect</b> is hitting a revision that
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
252 doesn't compile properly. When the build breaks, you can't determine
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
253 whether or not the current version is good or bad. This is where
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
254 <b>git bisect log</b> comes into play.</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
255
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
256 <p>When in doubt, save the git bisect log output to a file
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
257 (<b>git bisect log > ../bisect.log</b>). Then make a guess
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
258 whether the commit you can't build would have shown the problem if you
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
259 could build it. If you guess wrong (hint: every revision bisect wants
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
260 to test after that comes out the opposite of your guess, all the way to the
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
261 end) do a <b>git bisect replay ../bisect.log</b> to restart from your
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
262 saved position, and guess the other way. If you realize after the fact you
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
263 need to back up, the bisect log is an easily editable text file you can
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
264 always chop a few lines off the end of.</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
265
90
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
266 <a name="example"><h2>Example git bisect run</h2>
77
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
267
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
268 <p>Here is a real git bisect run I did on the <a href=http://qemu.org>qemu</a>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
269 git repository (git://git.kernel.dk/data/git/qemu) to figure out why
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
270 the PowerPC Linux kernel I'd built was hanging during IDE controller
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
271 intiialization under the current development version of qemu-system-ppc
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
272 (but not under older versions).</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
273
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
274 <blockquote>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
275 <pre><b>$ git bisect reset master</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
276 Already on branch "master"
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
277 <b>$ git bisect good release_0_8_1</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
278 You need to start by "git bisect start"
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
279 Do you want me to do it for you [Y/n]? y
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
280 <b>$ git bisect bad master</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
281 Bisecting: 753 revisions left to test after this
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
282 [7c8ad370662b706b4f46497f532016cc7a49b83e] Embedded PowerPC Device Control Registers infrastructure.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
283 <b>$ ./configure && make -j 2 && ~/mytest</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
284 ...
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
285 Unhappy :(
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
286 <b>$ git bisect bad # The test failed</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
287 Bisecting: 376 revisions left to test after this
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
288 [255d4f6dd496d2d529bce38a85cc02199833f080] Simplify error handling again.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
289 <b>$ ./configure && make -j 2 && ~/mytest</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
290 WARNING: "gcc" looks like gcc 4.x
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
291 Looking for gcc 3.x
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
292 ./configure: 357: Syntax error: Bad fd number
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
293 <b>$ git bisect log > ../bisect.log # Darn it, build break. Save state and...</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
294 <b>$ git bisect good # Wild guess because I couldn't run the test.</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
295 Bisecting: 188 revisions left to test after this
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
296 [16bcc6b31799ca01cd389db7cb90a345e9b68dd9] Fix wrong interrupt number for the second serial interface.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
297 <b>$ ./configure && make -j 2 && ~/mytest</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
298 ...
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
299 Happy :)
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
300 <b>$ git bisect good # Hey, maybe my guess was right</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
301 Bisecting: 94 revisions left to test after this
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
302 [37781cc88f69e45624c1cb15321ddd2055cf74b6] Fix usb hid and mass-storage protocol revision, by Juergen Keil.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
303 <b>$ ./configure && make -j 2 && ~/mytest</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
304 ...
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
305 Happy :)
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
306 <b>$ git bisect good</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
307 Bisecting: 47 revisions left to test after this
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
308 [30347b54b7212eba09db05317217dbc65a149e25] Documentation update
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
309 <b>$ ./configure && make -j 2 && ~/mytest</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
310 ...
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
311 Happy :)
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
312 <b>$ git bisect good</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
313 Bisecting: 23 revisions left to test after this
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
314 [06a21b23c22ac18d04c9f676b9b70bb6ef72d7f1] Set proper BadVAddress value for unaligned instruction fetch.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
315 <b>$ ./configure && make -j 2 && ~/mytest</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
316 ...
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
317 Happy :)
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
318 <b>$ git bisect good</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
319 Bisecting: 11 revisions left to test after this
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
320 [da77e9d7918cabed5b0725f87496a1dc28da8b8c] Fix exception handling cornercase for rdhwr.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
321 <b>$ ./configure && make -j 2 && ~/mytest</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
322 ...
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
323 Happy :)
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
324 <b>$ git bisect good</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
325 Bisecting: 5 revisions left to test after this
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
326 [36f447f730f61ac413c5b1c4a512781f5dea0c94] Implement embedded IRQ controller for PowerPC 6xx/740 & 750.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
327 <b>$ ./configure && make -j 2 && ~/mytest</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
328 ...
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
329 Unhappy :(
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
330 <b>$ git bisect bad # Oh good, I was getting worried I'd guessed wrong above...</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
331 Bisecting: 2 revisions left to test after this
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
332 [d4838c6aa7442fae62b08afbf4c358200f10ec74] Proper handling of reserved bits in the context register.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
333 <b>$ ./configure && make -j 2 && ~/mytest</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
334 ...
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
335 Happy :)
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
336 Bisecting: 1 revisions left to test after this
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
337 [a8b64e6f4c7f3c4850be5fd303bf590564264294] Fix monitor disasm output for Sparc64 target
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
338 <b>$ ./configure && make -j 2 && ~/mytest</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
339 ...
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
340 Happy :)
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
341 <b>$ git bisect good</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
342 36f447f730f61ac413c5b1c4a512781f5dea0c94 is first bad commit
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
343 commit 36f447f730f61ac413c5b1c4a512781f5dea0c94
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
344 Author: j_mayer <j_mayer>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
345 Date: Mon Apr 9 22:45:36 2007 +0000
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
346
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
347 Implement embedded IRQ controller for PowerPC 6xx/740 & 750.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
348 Fix PowerPC external interrupt input handling and lowering.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
349 Fix OpenPIC output pins management.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
350 Fix multiples bugs in OpenPIC IRQ management.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
351 Fix OpenPIC CPU(s) reset function.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
352 Fix Mac99 machine to properly route OpenPIC outputs to the PowerPC input pins.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
353 Fix PREP machine to properly route i8259 output to the PowerPC external
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
354 interrupt pin.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
355
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
356 :100644 100644 0eabacd6434b8e40876581605c619513bf9ac512 284cb92ae83a2a36e05137d3532106ff85167364 M cpu-exec.c
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
357 :040000 040000 68740f5b1330c7859abfea3ce31062cb92adaa7f 5c48b0d20f1c4d3115881b5e9e5b6c1d681f4880 M hw
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
358 :040000 040000 3ad1f0d09c60d8190d98b28318519ebaaccbb569 69efc274cec1801848de9238ae71e97681978433 M target-ppc
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
359 :100644 100644 2f87946e874e8f6cbf9afd47c65e0baff236dc45 b40ff3747530d275181ff071c9cc9cff1d5ba02d M vl.h
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
360 <b>$ git bisect reset</b>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
361 </pre>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
362 </blockquote>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
363
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
364 <p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
365
90
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
366 <a name="commands"><h2>Command summary</h2>
77
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
367
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
368 <p><b>git help</b></p> - List available commands. You can also go
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
369 <b>git help COMMANDNAME</b> to see help on a specific command. Note,
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
370 this displays the man page for the appropriate command, so you need to have
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
371 the git man pages installed for it to work.</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
372
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
373 <p><b>git clone git://blah/blah/blah localdir</b> - Download a repository
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
374 from the web into "localdir". Linus's current repository is at
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
375 "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git",
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
376 the old history from the bitkeeper days (before 2.6.12-rc2) is at
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
377 "git://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git", and
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
378 there are lots of <a href=http;//git.kernel.org>other trees hosted on
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
379 kernel.org</a> and elsewhere.</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
380
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
381 <p><b>git pull</b> - Freshen up your local copy of the repository, downloading
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
382 and merging all of Linus's changes since last time you did this. In addition
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
383 to appending lots of commits to your repository in the .git directory, this
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
384 also updates the snapshot of the files (if it isn't already pointing into
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
385 the past).</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
386
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
387 <p><b>git log</b> - List the changes recorded in your repository, starting with
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
388 the most recent and working back. Note: the big hex numbers are unique
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
389 identifiers (sha1sum) for each commit. If you want to specify a commit, you
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
390 only need a unique prefix (generally the first four digits is enough).</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
391
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
392 <p><b>git tag -l</b> - Show all the tagged releases. These human-readable
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
393 names can be used as synonyms for the appropriate commit identifier when
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
394 doing things like checkout and diff. (Note, the special tag "master"
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
395 points to the most recent commit.)</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
396
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
397 <p><b>git checkout -f; git clean -d</b> - reset your snapshot to the most recent
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
398 commit. The "checkout" command updates your snapshot to a specific version
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
399 (defaulting to the tip of the current branch). The -f argument says to back
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
400 out any local changes you've made to the files, and "clean -d" says to
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
401 delete any extra files in the snapshot that aren't checked into the
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
402 repository.</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
403
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
404 <p><b>git diff</b> - Show differences between two commits, such as
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
405 "git diff v2.6.20 v2.6.21". You can also specify specific files you're
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
406 interested in, ala "git diff v2.6.20 v2.6.21 README init/main.c". If you
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
407 specify one version it'll compare your working directory against that version,
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
408 and if you specify no versions it'll compare the version you checked out
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
409 against your working directory. Anything that isn't recognized as the start of
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
410 a commit indentifying sha1sum, or a tagged release, is assumed to be a filename.
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
411 If this causes problems, you can add "--" to the command line to explicitly
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
412 specify that arguments before that (if any) are version identifiers and all the
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
413 arguments after that are filenames. Add "--find-copies-harder" to detect
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
414 renames.</p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
415
90
1d853842db62 Add an index with anchor tags to jump to sections.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
416 <a name="linus"><h2>Linus Tovalds talks about git</h2>
77
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
417
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
418 <p>In <a href=http://youtube.com/watch?v=4XpnKHJAok8>this Google Tech Talk</a></p>
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
419
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
420 <!--
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
421 "git show @{163}"... one character less...
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
422
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
423 http://www.kernel.org/pub/software/scm/git/docs/glossary.html#def_working_tree
27dcbe1b4669 The git quickstart guide I've been working on for ages.
Rob Landley <rob@landley.net>
parents:
diff changeset
424 -->