<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>gitguru &#187; git</title>
	<atom:link href="http://gitguru.com/category/git/feed/" rel="self" type="application/rss+xml" />
	<link>http://gitguru.com</link>
	<description>meditations on scm using git</description>
	<lastBuildDate>Wed, 25 Mar 2009 04:32:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Git is just a tool</title>
		<link>http://gitguru.com/2009/01/29/git-is-just-a-tool/</link>
		<comments>http://gitguru.com/2009/01/29/git-is-just-a-tool/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 07:15:20 +0000</pubDate>
		<dc:creator>long</dc:creator>
				<category><![CDATA[git]]></category>
		<category><![CDATA[scm]]></category>

		<guid isPermaLink="false">http://gitguru.com/?p=3</guid>
		<description><![CDATA[Repeat after me: Git is just a tool. That&#8217;s not a bad thing.  It simply means that it&#8217;s not any more or any less than what it claims to be: a distributed version control system.  And it&#8217;s very good at what it does. But once you get beyond the initial repository setup and the standard [...]]]></description>
			<content:encoded><![CDATA[<p>Repeat after me: <a href="http://git-scm.com/">Git</a> is just a tool.</p>
<p>That&#8217;s not a bad thing.  It simply means that it&#8217;s not any more or any less than what it claims to be: a distributed version control system.  And it&#8217;s very good at what it does.</p>
<p>But once you get beyond the initial repository setup and the standard add/commit cycle, you&#8217;re inevitably going to have a few questions:</p>
<ul>
<li> How often should I commit my changes?</li>
<li> When should I create a new branch?</li>
<li> What do I need to do to share my updates?</li>
</ul>
<p>And these lead to a few more</p>
<ul>
<li> How do I manage all these branches?</li>
<li> When should I merge the changes from my branches together?</li>
<li> What&#8217;s the difference between a merge and rebase?</li>
</ul>
<p>If you&#8217;re working in a team, you&#8217;ll probably also have</p>
<ul>
<li> What&#8217;s everyone working on?</li>
<li> Do I have the latest updates?</li>
<li> When do I submit my changes to the team?</li>
</ul>
<p>And if you&#8217;ve been going for a while, you&#8217;ll want to know</p>
<ul>
<li>How do I simultaneously manage a release and a development version?</li>
<li>Did that production fix get back into development?</li>
<li>What did I just release?</li>
</ul>
<p>At this point, you&#8217;re starting to slip into the realm of <a href="http://en.wikipedia.org/wiki/Software_configuration_management">software configuration management (SCM)</a>.  Version control is just a small part of that.</p>
<p>The bad news is that Git doesn&#8217;t say anything about how you should do any of this (FYI, the <a href="http://github.com/guides/pull-requests">pull request</a> is more a suggestion than a formal required process even if it&#8217;s what <a href="http://www.youtube.com/watch?v=4XpnKHJAok8">Linus does</a>).  It&#8217;s also the good news: You have all the technical capabilities you need but you&#8217;re not tied to a rigid one-size-fits-all process.</p>
<p>The key thing to remember is that Git isn&#8217;t the first VCS tool out there, even if it might be the first one you&#8217;re using.  There&#8217;s an amazing wealth of SCM knowledge to tap into.  It&#8217;s a matter of starting with what works and figuring out how Git fits into that.</p>
]]></content:encoded>
			<wfw:commentRss>http://gitguru.com/2009/01/29/git-is-just-a-tool/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
