summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'README/git-tips.html')
l---------[-rw-r--r--]README/git-tips.html909
1 files changed, 1 insertions, 908 deletions
diff --git a/README/git-tips.html b/README/git-tips.html
index 9081770bd..64233a9e9 100644..120000
--- a/README/git-tips.html
+++ b/README/git-tips.html
@@ -1,908 +1 @@
-<?xml version="1.0"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
-<head>
-<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8"/>
-<meta name="generator" content="AsciiDoc 8.6.1"/>
-<title>Gentoo Perl Overlay Tips</title>
-<style type="text/css">
-/*<![CDATA[*/
-/* Debug borders */
-p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
-/*
- border: 1px solid red;
-*/
-}
-
-body {
- margin: 1em 5% 1em 5%;
-}
-
-a {
- color: blue;
- text-decoration: underline;
-}
-a:visited {
- color: fuchsia;
-}
-
-em {
- font-style: italic;
- color: navy;
-}
-
-strong {
- font-weight: bold;
- color: #083194;
-}
-
-tt {
- color: navy;
-}
-
-h1, h2, h3, h4, h5, h6 {
- color: #527bbd;
- font-family: sans-serif;
- margin-top: 1.2em;
- margin-bottom: 0.5em;
- line-height: 1.3;
-}
-
-h1, h2, h3 {
- border-bottom: 2px solid silver;
-}
-h2 {
- padding-top: 0.5em;
-}
-h3 {
- float: left;
-}
-h3 + * {
- clear: left;
-}
-
-div.sectionbody {
- font-family: serif;
- margin-left: 0;
-}
-
-hr {
- border: 1px solid silver;
-}
-
-p {
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-
-ul, ol, li > p {
- margin-top: 0;
-}
-
-pre {
- padding: 0;
- margin: 0;
-}
-
-span#author {
- color: #527bbd;
- font-family: sans-serif;
- font-weight: bold;
- font-size: 1.1em;
-}
-span#email {
-}
-span#revnumber, span#revdate, span#revremark {
- font-family: sans-serif;
-}
-
-div#footer {
- font-family: sans-serif;
- font-size: small;
- border-top: 2px solid silver;
- padding-top: 0.5em;
- margin-top: 4.0em;
-}
-div#footer-text {
- float: left;
- padding-bottom: 0.5em;
-}
-div#footer-badges {
- float: right;
- padding-bottom: 0.5em;
-}
-
-div#preamble {
- margin-top: 1.5em;
- margin-bottom: 1.5em;
-}
-div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
-div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
-div.admonitionblock {
- margin-top: 1.0em;
- margin-bottom: 1.5em;
-}
-div.admonitionblock {
- margin-top: 2.0em;
- margin-bottom: 2.0em;
- margin-right: 10%;
- color: #606060;
-}
-
-div.content { /* Block element content. */
- padding: 0;
-}
-
-/* Block element titles. */
-div.title, caption.title {
- color: #527bbd;
- font-family: sans-serif;
- font-weight: bold;
- text-align: left;
- margin-top: 1.0em;
- margin-bottom: 0.5em;
-}
-div.title + * {
- margin-top: 0;
-}
-
-td div.title:first-child {
- margin-top: 0.0em;
-}
-div.content div.title:first-child {
- margin-top: 0.0em;
-}
-div.content + div.title {
- margin-top: 0.0em;
-}
-
-div.sidebarblock > div.content {
- background: #ffffee;
- border: 1px solid silver;
- padding: 0.5em;
-}
-
-div.listingblock > div.content {
- border: 1px solid silver;
- background: #f4f4f4;
- padding: 0.5em;
-}
-
-div.quoteblock, div.verseblock {
- padding-left: 1.0em;
- margin-left: 1.0em;
- margin-right: 10%;
- border-left: 5px solid #dddddd;
- color: #777777;
-}
-
-div.quoteblock > div.attribution {
- padding-top: 0.5em;
- text-align: right;
-}
-
-div.verseblock > pre.content {
- font-family: inherit;
-}
-div.verseblock > div.attribution {
- padding-top: 0.75em;
- text-align: left;
-}
-/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
-div.verseblock + div.attribution {
- text-align: left;
-}
-
-div.admonitionblock .icon {
- vertical-align: top;
- font-size: 1.1em;
- font-weight: bold;
- text-decoration: underline;
- color: #527bbd;
- padding-right: 0.5em;
-}
-div.admonitionblock td.content {
- padding-left: 0.5em;
- border-left: 3px solid #dddddd;
-}
-
-div.exampleblock > div.content {
- border-left: 3px solid #dddddd;
- padding-left: 0.5em;
-}
-
-div.imageblock div.content { padding-left: 0; }
-span.image img { border-style: none; }
-a.image:visited { color: white; }
-
-dl {
- margin-top: 0.8em;
- margin-bottom: 0.8em;
-}
-dt {
- margin-top: 0.5em;
- margin-bottom: 0;
- font-style: normal;
- color: navy;
-}
-dd > *:first-child {
- margin-top: 0.1em;
-}
-
-ul, ol {
- list-style-position: outside;
-}
-ol.arabic {
- list-style-type: decimal;
-}
-ol.loweralpha {
- list-style-type: lower-alpha;
-}
-ol.upperalpha {
- list-style-type: upper-alpha;
-}
-ol.lowerroman {
- list-style-type: lower-roman;
-}
-ol.upperroman {
- list-style-type: upper-roman;
-}
-
-div.compact ul, div.compact ol,
-div.compact p, div.compact p,
-div.compact div, div.compact div {
- margin-top: 0.1em;
- margin-bottom: 0.1em;
-}
-
-div.tableblock > table {
- border: 3px solid #527bbd;
-}
-thead, p.table.header {
- font-family: sans-serif;
- font-weight: bold;
- color: #527bbd;
-}
-tfoot {
- font-weight: bold;
-}
-td > div.verse {
- white-space: pre;
-}
-p.table {
- margin-top: 0;
-}
-/* Because the table frame attribute is overriden by CSS in most browsers. */
-div.tableblock > table[frame="void"] {
- border-style: none;
-}
-div.tableblock > table[frame="hsides"] {
- border-left-style: none;
- border-right-style: none;
-}
-div.tableblock > table[frame="vsides"] {
- border-top-style: none;
- border-bottom-style: none;
-}
-
-
-div.hdlist {
- margin-top: 0.8em;
- margin-bottom: 0.8em;
-}
-div.hdlist tr {
- padding-bottom: 15px;
-}
-dt.hdlist1.strong, td.hdlist1.strong {
- font-weight: bold;
-}
-td.hdlist1 {
- vertical-align: top;
- font-style: normal;
- padding-right: 0.8em;
- color: navy;
-}
-td.hdlist2 {
- vertical-align: top;
-}
-div.hdlist.compact tr {
- margin: 0;
- padding-bottom: 0;
-}
-
-.comment {
- background: yellow;
-}
-
-.footnote, .footnoteref {
- font-size: 0.8em;
-}
-
-span.footnote, span.footnoteref {
- vertical-align: super;
-}
-
-#footnotes {
- margin: 20px 0 20px 0;
- padding: 7px 0 0 0;
-}
-
-#footnotes div.footnote {
- margin: 0 0 5px 0;
-}
-
-#footnotes hr {
- border: none;
- border-top: 1px solid silver;
- height: 1px;
- text-align: left;
- margin-left: 0;
- width: 20%;
- min-width: 100px;
-}
-
-div.colist td {
- padding-right: 0.5em;
- padding-bottom: 0.3em;
- vertical-align: top;
-}
-div.colist td img {
- margin-top: 0.3em;
-}
-
-@media print {
- div#footer-badges { display: none; }
-}
-
-div#toc {
- margin-bottom: 2.5em;
-}
-
-div#toctitle {
- color: #527bbd;
- font-family: sans-serif;
- font-size: 1.1em;
- font-weight: bold;
- margin-top: 1.0em;
- margin-bottom: 0.1em;
-}
-
-div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
- margin-top: 0;
- margin-bottom: 0;
-}
-div.toclevel2 {
- margin-left: 2em;
- font-size: 0.9em;
-}
-div.toclevel3 {
- margin-left: 4em;
- font-size: 0.9em;
-}
-div.toclevel4 {
- margin-left: 6em;
- font-size: 0.9em;
-}
-
-/*
- pygmentize filter
-*/
-.highlight .hll { background-color: #ffffcc }
-.highlight { background: #f4f4f4; }
-.highlight .c { color: #008800; font-style: italic } /* Comment */
-.highlight .err { border: 1px solid #FF0000 } /* Error */
-.highlight .k { color: #AA22FF; font-weight: bold } /* Keyword */
-.highlight .o { color: #666666 } /* Operator */
-.highlight .cm { color: #008800; font-style: italic } /* Comment.Multiline */
-.highlight .cp { color: #008800 } /* Comment.Preproc */
-.highlight .c1 { color: #008800; font-style: italic } /* Comment.Single */
-.highlight .cs { color: #008800; font-weight: bold } /* Comment.Special */
-.highlight .gd { color: #A00000 } /* Generic.Deleted */
-.highlight .ge { font-style: italic } /* Generic.Emph */
-.highlight .gr { color: #FF0000 } /* Generic.Error */
-.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
-.highlight .gi { color: #00A000 } /* Generic.Inserted */
-.highlight .go { color: #808080 } /* Generic.Output */
-.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
-.highlight .gs { font-weight: bold } /* Generic.Strong */
-.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
-.highlight .gt { color: #0040D0 } /* Generic.Traceback */
-.highlight .kc { color: #AA22FF; font-weight: bold } /* Keyword.Constant */
-.highlight .kd { color: #AA22FF; font-weight: bold } /* Keyword.Declaration */
-.highlight .kn { color: #AA22FF; font-weight: bold } /* Keyword.Namespace */
-.highlight .kp { color: #AA22FF } /* Keyword.Pseudo */
-.highlight .kr { color: #AA22FF; font-weight: bold } /* Keyword.Reserved */
-.highlight .kt { color: #00BB00; font-weight: bold } /* Keyword.Type */
-.highlight .m { color: #666666 } /* Literal.Number */
-.highlight .s { color: #BB4444 } /* Literal.String */
-.highlight .na { color: #BB4444 } /* Name.Attribute */
-.highlight .nb { color: #AA22FF } /* Name.Builtin */
-.highlight .nc { color: #0000FF } /* Name.Class */
-.highlight .no { color: #880000 } /* Name.Constant */
-.highlight .nd { color: #AA22FF } /* Name.Decorator */
-.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
-.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
-.highlight .nf { color: #00A000 } /* Name.Function */
-.highlight .nl { color: #A0A000 } /* Name.Label */
-.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
-.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
-.highlight .nv { color: #B8860B } /* Name.Variable */
-.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
-.highlight .w { color: #bbbbbb } /* Text.Whitespace */
-.highlight .mf { color: #666666 } /* Literal.Number.Float */
-.highlight .mh { color: #666666 } /* Literal.Number.Hex */
-.highlight .mi { color: #666666 } /* Literal.Number.Integer */
-.highlight .mo { color: #666666 } /* Literal.Number.Oct */
-.highlight .sb { color: #BB4444 } /* Literal.String.Backtick */
-.highlight .sc { color: #BB4444 } /* Literal.String.Char */
-.highlight .sd { color: #BB4444; font-style: italic } /* Literal.String.Doc */
-.highlight .s2 { color: #BB4444 } /* Literal.String.Double */
-.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
-.highlight .sh { color: #BB4444 } /* Literal.String.Heredoc */
-.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
-.highlight .sx { color: #008000 } /* Literal.String.Other */
-.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
-.highlight .s1 { color: #BB4444 } /* Literal.String.Single */
-.highlight .ss { color: #B8860B } /* Literal.String.Symbol */
-.highlight .bp { color: #AA22FF } /* Name.Builtin.Pseudo */
-.highlight .vc { color: #B8860B } /* Name.Variable.Class */
-.highlight .vg { color: #B8860B } /* Name.Variable.Global */
-.highlight .vi { color: #B8860B } /* Name.Variable.Instance */
-.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
-
-/*]]>*/
-</style>
-<script type="text/javascript">
-/*<![CDATA[*/
-window.onload = function(){asciidoc.footnotes(); asciidoc.toc(4);}
-var asciidoc = { // Namespace.
-
-/////////////////////////////////////////////////////////////////////
-// Table Of Contents generator
-/////////////////////////////////////////////////////////////////////
-
-/* Author: Mihai Bazon, September 2002
- * http://students.infoiasi.ro/~mishoo
- *
- * Table Of Content generator
- * Version: 0.4
- *
- * Feel free to use this script under the terms of the GNU General Public
- * License, as long as you do not remove or alter this notice.
- */
-
- /* modified by Troy D. Hanson, September 2006. License: GPL */
- /* modified by Stuart Rackham, 2006, 2009. License: GPL */
-
-// toclevels = 1..4.
-toc: function (toclevels) {
-
- function getText(el) {
- var text = "";
- for (var i = el.firstChild; i != null; i = i.nextSibling) {
- if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
- text += i.data;
- else if (i.firstChild != null)
- text += getText(i);
- }
- return text;
- }
-
- function TocEntry(el, text, toclevel) {
- this.element = el;
- this.text = text;
- this.toclevel = toclevel;
- }
-
- function tocEntries(el, toclevels) {
- var result = new Array;
- var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
- // Function that scans the DOM tree for header elements (the DOM2
- // nodeIterator API would be a better technique but not supported by all
- // browsers).
- var iterate = function (el) {
- for (var i = el.firstChild; i != null; i = i.nextSibling) {
- if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
- var mo = re.exec(i.tagName);
- if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
- result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
- }
- iterate(i);
- }
- }
- }
- iterate(el);
- return result;
- }
-
- var toc = document.getElementById("toc");
- var entries = tocEntries(document.getElementById("content"), toclevels);
- for (var i = 0; i < entries.length; ++i) {
- var entry = entries[i];
- if (entry.element.id == "")
- entry.element.id = "_toc_" + i;
- var a = document.createElement("a");
- a.href = "#" + entry.element.id;
- a.appendChild(document.createTextNode(entry.text));
- var div = document.createElement("div");
- div.appendChild(a);
- div.className = "toclevel" + entry.toclevel;
- toc.appendChild(div);
- }
- if (entries.length == 0)
- toc.parentNode.removeChild(toc);
-},
-
-
-/////////////////////////////////////////////////////////////////////
-// Footnotes generator
-/////////////////////////////////////////////////////////////////////
-
-/* Based on footnote generation code from:
- * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
- */
-
-footnotes: function () {
- var cont = document.getElementById("content");
- var noteholder = document.getElementById("footnotes");
- var spans = cont.getElementsByTagName("span");
- var refs = {};
- var n = 0;
- for (i=0; i<spans.length; i++) {
- if (spans[i].className == "footnote") {
- n++;
- // Use [\s\S] in place of . so multi-line matches work.
- // Because JavaScript has no s (dotall) regex flag.
- note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
- noteholder.innerHTML +=
- "<div class='footnote' id='_footnote_" + n + "'>" +
- "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
- n + "</a>. " + note + "</div>";
- spans[i].innerHTML =
- "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
- "' title='View footnote' class='footnote'>" + n + "</a>]";
- var id =spans[i].getAttribute("id");
- if (id != null) refs["#"+id] = n;
- }
- }
- if (n == 0)
- noteholder.parentNode.removeChild(noteholder);
- else {
- // Process footnoterefs.
- for (i=0; i<spans.length; i++) {
- if (spans[i].className == "footnoteref") {
- var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
- href = href.match(/#.*/)[0]; // Because IE return full URL.
- n = refs[href];
- spans[i].innerHTML =
- "[<a href='#_footnote_" + n +
- "' title='View footnote' class='footnote'>" + n + "</a>]";
- }
- }
- }
-}
-
-}
-/*]]>*/
-</script>
-</head>
-<body class="article">
-<div id="header">
-<h1>Gentoo Perl Overlay Tips</h1>
-<span id="author">The #gentoo-perl team.</span><br/>
-<div id="toc">
- <div id="toctitle">Table of Contents</div>
- <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
-</div>
-</div>
-<div id="content">
-<div class="sect1">
-<h2 id="networks">1. Networks</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>The Gentoo Perl Herd and the overlay contributors have various channels of
-communications and interactions.</p></div>
-<div class="sect2">
-<h3 id="networks-irc">1.1. IRC</h3>
-<div class="paragraph"><p>The primary source for all direct Gentoo Perl communications is <tt>#gentoo-perl</tt>
-on <tt>irc.freenode.org</tt></p></div>
-</div>
-<div class="sect2">
-<h3 id="networks-sourcecontrol">1.2. Source-Control</h3>
-<div class="paragraph"><p>Overlays for Gentoo can be found on <a href="#repositories-github">Github</a> and
-<a href="#repositories-gogo">the Gentoo Overlays website</a>.</p></div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_git">2. Git</h2>
-<div class="sectionbody">
-<div class="sect2">
-<h3 id="repositories">2.1. Repositories</h3>
-<div class="paragraph"><p>At the time of this writing, there are several repositories.</p></div>
-<div class="sect3">
-<h4 id="repositories-gogo">2.1.1. Git.Overlays.Gentoo.org</h4>
-<div class="paragraph"><p>Few people with commit rights.
-Does not broadcast pushes to IRC.</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-ReadOnly(git)
-</dt>
-<dd>
-<p>
- <tt>git://git.overlays.gentoo.org/proj/perl-overlay.git</tt>
-</p>
-</dd>
-<dt class="hdlist1">
-ReadOnly(http)
-</dt>
-<dd>
-<p>
- <tt>http://git.overlays.gentoo.org/gitroot/proj/perl-overlay.git</tt>
-</p>
-</dd>
-<dt class="hdlist1">
-ReadWrite
-</dt>
-<dd>
-<p>
- <tt>git+ssh://git@git.overlays.gentoo.org/proj/perl-overlay</tt>
-</p>
-</dd>
-</dl></div>
-</div>
-<div class="sect3">
-<h4 id="repositories-github">2.1.2. Github</h4>
-<div class="paragraph"><p>Same number of commiters.
-Supports people without direct access sending pull requests.
-PUSHES to this repository create broadcasts in IRC.</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-ReadOnly(git)
-</dt>
-<dd>
-<p>
- <tt>git://github.com/gentoo-perl/perl-experimental.git</tt>
-</p>
-</dd>
-<dt class="hdlist1">
-ReadOnly(http)
-</dt>
-<dd>
-<p>
- <tt>http://github.com/gentoo-perl/perl-experimental.git</tt>
-</p>
-</dd>
-<dt class="hdlist1">
-ReadWrite
-</dt>
-<dd>
-<p>
- <tt>git@github.com:gentoo-perl/perl-experimental.git</tt>
-</p>
-</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_recommended_contribution_order">2.2. Recommended Contribution Order</h3>
-<div class="paragraph"><p>Contributions are recommended to be performed in the following order:</p></div>
-<div class="olist arabic"><ol class="arabic">
-<li>
-<p>
-Progress your patch sequence locally.
-</p>
-</li>
-<li>
-<p>
-<strong>(optional)</strong> push your patch sequence to your personal public repository
-</p>
-</li>
-<li>
-<p>
-Push your patch sequence to <a href="#repositories-github">Github</a>.
-</p>
-</li>
-<li>
-<p>
-Push your patch sequence to <a href="#repositories-gogo">git.overlays.gentoo.org</a>.
-</p>
-</li>
-</ol></div>
-<div class="paragraph"><p>This order will hopefully reduce the amount of push collisions encountered,
-which will make all our lives easier =).</p></div>
-<div class="admonitionblock">
-<table><tr>
-<td class="icon">
-<img src="./images/icons/tip.png" alt="Tip"/>
-</td>
-<td class="content">It is strongly suggested to watch <a href="#networks-irc"><tt>#gentoo-perl</tt></a> for pushed commit notices so
-you can anticipate a collison happening <em>before</em> it occurs outside the safety
-of your pc</td>
-</tr></table>
-</div>
-<div class="admonitionblock">
-<table><tr>
-<td class="icon">
-<img src="./images/icons/tip.png" alt="Tip"/>
-</td>
-<td class="content">If <tt>git</tt> tells you there is an upstream non-fast forward merge, do make sure
-you resolve it locally somehow, not just force it, unless you <em>know</em> what you
-are doing.</td>
-</tr></table>
-</div>
-<div class="admonitionblock">
-<table><tr>
-<td class="icon">
-<img src="./images/icons/tip.png" alt="Tip"/>
-</td>
-<td class="content">For optimal continuity, it is suggested you do all you can possible to
-linearize commits. See <a href="linearize_commits.txt">Linearizing Commits</a></td>
-</tr></table>
-</div>
-</div>
-<div class="sect2">
-<h3 id="linearizecommits">2.3. Linearize Commmits</h3>
-<div class="paragraph"><p>Messy commit histories with lots of needless merge branches just get confusing
-when trying to work backwards and work out what happened.</p></div>
-<div class="paragraph"><p>To resolve this issue, it is strongly recommended to utilize <tt>git rebase</tt> to
-simplify merge histories in a way as such it produces the illusion the merge
-never happened, and was never needed, as all the commits simply happend after
-all the other commits they were going to be merged into.</p></div>
-<div class="paragraph"><p>But the subject of <tt>git rebase</tt> is far too complex to summarise in this one
-document, at least for now, so you should use other online sources to learn
-this.</p></div>
-<div class="sect3">
-<h4 id="rebase">2.3.1. Git Rebase related Articles</h4>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-Tate Johnson
-</dt>
-<dd>
-<p>
- <a href="http://tatey.com/2009/04/23/git-rebase-for-linear-history/">Git Rebase
- For Linear History</a>
-</p>
-</dd>
-<dt class="hdlist1">
-ProGit.org
-</dt>
-<dd>
-<p>
- <a href="http://progit.org/book/ch3-6.html"> Rebase </a>
-</p>
-</dd>
-<dt class="hdlist1">
-John Wiegley
-</dt>
-<dd>
-<p>
- <a href="http://www.newartisans.com/2008/04/git-from-the-bottom-up.html">
- Git from the bottom up</a>
-</p>
-</dd>
-<dt class="hdlist1">
-Tommi Virtanen
-</dt>
-<dd>
-<p>
- <a href="http://eagain.net/articles/git-for-computer-scientists/">
- Git for Computer Scientists</a>
-</p>
-</dd>
-<dt class="hdlist1">
-nothingmuch/Yuval Kogman
-</dt>
-<dd>
-<div class="ulist"><ul>
-<li>
-<p>
-<a href="http://blog.woobling.org/2009/05/git-rebase-considered-awesome.html">
- <tt>git rebase</tt> Considered Awesome</a>
-</p>
-</li>
-<li>
-<p>
-<a href="http://blog.woobling.org/2009/08/git-rebase-for-impatient.html">
- <tt>git rebase</tt> for the Impatient</a>
-</p>
-</li>
-</ul></div>
-</dd>
-<dt class="hdlist1">
-Dean Strelau
-</dt>
-<dd>
-<p>
- <a href="http://d.strelau.net/post/47338904/git-pull-rebase-by-default">
- <tt>git pull --rebase</tt> by default</a>
-</p>
-</dd>
-<dt class="hdlist1">
-Kent Fredric
-</dt>
-<dd>
-<p>
- <a href="http://blog.fox.geek.nz/2010/08/git-rebase-part-1-why-you-should-use-it.html">Git
- Rebase Part 1: Why you should use it, Theory.</a>
-</p>
-</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="workinabranch">2.4. Work In A Branch</h3>
-<div class="paragraph"><p>Working in a branch instead of on <tt>master</tt> I have found to be a productive way
-to get things done with minimal interference from other commiters.</p></div>
-<div class="paragraph"><p>Working this way lets you track upstream changes locally, update your local
-master, and work on multiple subjects simultaneously without any conflicts,
-and without being forced to perform a merge/rebase as soon as changes occur
-upstream.</p></div>
-<div class="listingblock">
-<div class="content"><div class="highlight"><pre> git checkout master
- <span class="c"># create a new branch to work in.</span>
- git checkout -b updates
- <span class="c"># hack on updates.</span>
- <span class="c"># commit changes to update branch</span>
- git commit -m <span class="s2">"Some message"</span>
- <span class="c"># return to master</span>
- git checkout master
- <span class="c"># update master from upstream</span>
- git pull -u -v
-
- <span class="c"># create another branch from master for a quick-fix</span>
- git checkout -b quickfix
- <span class="c"># hack on quick fix</span>
- <span class="c"># commit change to quick fix branch</span>
- git commit -m <span class="s2">"Emergency Commit set"</span>
- <span class="c"># return to master</span>
- git checkout master
- <span class="c"># check for changes from upstream.</span>
- git pull -u -v
- <span class="c"># Damn, updates happened.</span>
- git checkout quickfix
- <span class="c"># rebase quickfix on top of master</span>
- git rebase -i master
- git checkout master
- <span class="c"># check again for upstream changes</span>
- git pull -u -v
- <span class="c"># Yay, no upstream changes, time to publish the changes in quickfix</span>
- <span class="c"># --ff-only is good to prevent anarchy</span>
- git merge --ff-only quickfix
- git push upstream master
- git branch -d quickfix
-
- <span class="c"># return to work on updates</span>
- git checkout updates
- <span class="c"># move updates to be after master before continuing to hack</span>
- git rebase -i master
- <span class="c"># more hacking on updates</span>
- git checkout master
- <span class="c"># check for upstream changes</span>
- git pull -u -v
- <span class="c"># Yay, no upstream changes!</span>
- git merge --ff-only updates
- git push upstream master
-</pre></div></div></div>
-</div>
-</div>
-</div>
-</div>
-<div id="footnotes"><hr/></div>
-<div id="footer">
-<div id="footer-text">
-Last updated 2010-09-29 11:30:54 NZDT
-</div>
-<div id="footer-badges">
-<a href="http://validator.w3.org/check?uri=referer">
- <img style="border:0;width:88px;height:31px" src="http://www.w3.org/Icons/valid-xhtml11-blue" alt="Valid XHTML 1.1" height="31" width="88"/>
-</a>
-<a href="http://jigsaw.w3.org/css-validator/">
- <img style="border:0;width:88px;height:31px" src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS!"/>
-</a>
-<a href="http://www.mozilla.org/products/firefox/">
- <img style="border:none; width:110px; height:32px;" src="http://www.spreadfirefox.com/community/images/affiliates/Buttons/110x32/safer.gif" alt="Get Firefox!"/>
-</a>
-</div>
-</div>
-</body>
-</html>
+index.html \ No newline at end of file