<?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>ReadyState4 &#187; git</title>
	<atom:link href="http://readystate4.com/category/git/feed/" rel="self" type="application/rss+xml" />
	<link>http://readystate4.com</link>
	<description>JavaScript, Web Development, Ruby, and Technology.</description>
	<lastBuildDate>Fri, 27 Jan 2012 18:37:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Setting up and using a git wrapper around SVN with git-svn</title>
		<link>http://readystate4.com/2012/01/27/setting-up-and-using-a-git-wrapper-around-svn-with-git-svn/</link>
		<comments>http://readystate4.com/2012/01/27/setting-up-and-using-a-git-wrapper-around-svn-with-git-svn/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 18:29:21 +0000</pubDate>
		<dc:creator>Mauvis</dc:creator>
				<category><![CDATA[git]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://readystate4.com/?p=404</guid>
		<description><![CDATA[Note: I wrote this post a long time ago but never got around to posting it. A lot of these steps are applicable to porting an SVN repo to Git as well. Preface on why I love git Roughly four years ago I switched to git for version control and it&#8217;s changed my development life. [...]]]></description>
			<content:encoded><![CDATA[<p>Note: I wrote this post a long time ago but never got around to posting it. A lot of these steps are applicable to porting an SVN repo to Git as well.</p>
<h3>Preface on why I love git</h3>
<p>Roughly four years ago I switched to <a href="http://git-scm.com/">git</a> for version control and it&#8217;s changed my development life. While SVN is sufficient to &#8220;get the job done&#8221; in terms of keeping a history of your commits with a group of people, Git is truly the next evolutionary step up in every way. I could expound a whole article on the joy of git, but many others already have, and this articles not about that. But I will kindly throw in my 0.02 on why I personally love it:</p>
<ul>
<li>It&#8217;s fast. Git keeps your whole repo&#8217;s history local. So no need to ping your repo server for every command. You can even checkout your codebase from 3 weeks ago or a year ago in under a second.&#8221;</li>
<li>It works offline. That&#8217;s right, no internet. Sync up later.</li>
<li>It has useful modern tools. Like <a href="http://ariejan.net/2008/04/23/git-using-the-stash/">git stash</a> and <a href="http://readystate4.com/2010/12/05/the-wonders-of-git-bisect/">git bisect</a>. Both will save you a lot of time.</li>
<li>It&#8217;s your third hand. Let&#8217;s face it, besides svn being slow, it&#8217;s not friendly enough to do more than throw your past commits into an empty hole you will probably never see again. With <a href="http://jblevins.org/notes/git-colors">very little setup</a>, you have beautiful colored output in your logs and diffs with git. And &#8220;git log&#8221; actually pages by default (while keeping colors) instead of flooding your console with the entire repos history! Want to query something in your history log? What about all commits from your friend Bob in the past 2 weeks?
<pre class="bash">git log --date=relative --author=nizam --since="2 weeks ago"</pre>
<p>Bam. Done.
</li>
<li>Easy repo creation. You don&#8217;t have to be an admin to setup a git repo. Just cd into a folder and type &#8220;git init&#8221;. You just created a new repo. I do this all the time, for example in my folder of todo lists, I use it to track history of my todos. At work someone kept messing up the apache config file, all I had to do was &#8220;git init&#8221; in /etc/httpd/conf and now I can easily &#8220;git diff&#8221; new changes that were made and revert / adjust if needed.</li>
<li>Many ways to use it. Git is promoted as &#8220;decentralized&#8221; version control, but it can be an easy drop in replacement for any job SVN can do. Which leads me to&#8230;
<li>
</ul>
<p>With all those advantages, many larger companies haven&#8217;t jumped on the git bandwagon. I believe there&#8217;s two reasons this is the case.</p>
<ul>
<li>As programmers get more experienced, they generally become more pragmatic (which is generally a good thing.) They adopt a &#8220;if it ain&#8217;t broke, don&#8217;t fix it.&#8221; mentality. After all, SVN get&#8217;s the job done.</li>
<li>There is a bit of a learning curve with git. But there are a ton of good resources for learning it. I recommend getting your hands dirty with <a href="http://gitimmersion.com/">Git Immersion</a> if you&#8217;re new or would like to learn. I don&#8217;t recommend wrapping git around svn as I&#8217;m about to show you for a person who&#8217;s learning git.</li>
</ul>
<h3>Getting down to business.</h3>
<p>In order to use git with an svn repo, you&#8217;ll have to run some commands to import that svn repo, commit by commit into a git repo.</p>
<p>1. First, make sure you have a version of git installed with svn bindings. If you type &#8220;git svn&#8221; and it give you an error, I&#8217;d google one of the resources in reinstalling git with svn bindings.</p>
<p>2. We need to keep</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># In your existing svn repo, lets grab a list of authors</span>
<span style="color: #c20cb9; font-weight: bold;">svn</span> log <span style="color: #660033;">-q</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #660033;">-F</span> <span style="color: #ff0000;">'|'</span> <span style="color: #ff0000;">'/^r/ {sub(&quot;^ &quot;, &quot;&quot;, $2); sub(&quot; $&quot;, &quot;&quot;, $2); print $2&quot; = &quot;$2&quot; &lt;&quot;$2&quot;&gt;&quot;}'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sort</span> <span style="color: #660033;">-u</span> <span style="color: #000000; font-weight: bold;">&gt;</span> authors.txt
<span style="color: #666666; font-style: italic;"># create a new folder</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> ..; <span style="color: #c20cb9; font-weight: bold;">mkdir</span> NEWREPO.git;
git <span style="color: #c20cb9; font-weight: bold;">svn</span> clone <span style="color: #660033;">-A</span> ..<span style="color: #000000; font-weight: bold;">/</span>OLDREPO<span style="color: #000000; font-weight: bold;">/</span>authors.txt https:<span style="color: #000000; font-weight: bold;">//</span>svn<span style="color: #000000; font-weight: bold;">/</span>repo<span style="color: #000000; font-weight: bold;">/</span>trunk
git <span style="color: #c20cb9; font-weight: bold;">svn</span> fetch <span style="color: #666666; font-style: italic;"># this could take a long time as it checks the repo out one rev at a time.</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># update your working copy:</span>
git-svn rebase
&nbsp;
<span style="color: #666666; font-style: italic;"># commit your changes to svn server</span>
git-svn dcommit</pre></div></div>

<p>kudos to:</p>
<p>http://flavio.castelli.name/howto_use_git_with_svn</p>
]]></content:encoded>
			<wfw:commentRss>http://readystate4.com/2012/01/27/setting-up-and-using-a-git-wrapper-around-svn-with-git-svn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Great little bash snippet to summarize your daily git commits.</title>
		<link>http://readystate4.com/2012/01/09/great-little-bash-snippet-to-summarize-your-daily-git-commits/</link>
		<comments>http://readystate4.com/2012/01/09/great-little-bash-snippet-to-summarize-your-daily-git-commits/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 23:15:02 +0000</pubDate>
		<dc:creator>Mauvis</dc:creator>
				<category><![CDATA[bash]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://readystate4.com/?p=434</guid>
		<description><![CDATA[For general invoicing and hour tracking, I like to post the details of my git commits. Though, I had my own little version of this script, this one posted at stackoverflow was a lot better looking. Posted here for posterity: function gdaily { NEXT=$(date +%F) echo "CHANGELOG" echo ---------------------- git log --no-merges --format="%cd" --date=short &#124; [...]]]></description>
			<content:encoded><![CDATA[<p>For general invoicing and hour tracking, I like to post the details of my git commits. Though, I had my own little version of this script, this one posted at <a href="http://stackoverflow.com/questions/2976665/git-changelog-day-by-day/2979587#2979587">stackoverflow</a> was a lot better looking. Posted here for posterity:</p>
<pre style="overflow: auto; overflow-x:hidden;">
function gdaily {
    NEXT=$(date +%F)
    echo "CHANGELOG"
    echo ----------------------
    git log --no-merges --format="%cd" --date=short | sort -u -r | while read DATE ; do
        echo
        echo [$DATE]
        GIT_PAGER=cat git log --no-merges --format=" * %s" --since=$DATE --until=$NEXT
        NEXT=$DATE
    done
}
</pre>
<p></p>
<p>Which looks like:</p>
<pre style="overflow: auto; overflow-x:hidden;">[2012-01-07]
 * Refactor list portfolio page css and js.
 * namespace.data include to load fake api data until it is ready. Portfolio list working again.
 * CurrentUser model defaults and code cleanup.

[2012-01-06]
 * Upgrade portfolio call from GET and POST. To be discussed in tomorrow's standup.</pre>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://readystate4.com/2012/01/09/great-little-bash-snippet-to-summarize-your-daily-git-commits/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Working with git repos on non-standard ports</title>
		<link>http://readystate4.com/2011/03/30/working-with-git-repos-on-non-standard-ports/</link>
		<comments>http://readystate4.com/2011/03/30/working-with-git-repos-on-non-standard-ports/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 23:19:21 +0000</pubDate>
		<dc:creator>Mauvis</dc:creator>
				<category><![CDATA[git]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://readystate4.com/?p=265</guid>
		<description><![CDATA[Recently due to some SSH attacks I&#8217;ve had to change my default SSH port to something non-standard. While I&#8217;m not a proponent of security through obscurity, most automated botnets ping random IP addresses on port 22 to see if there&#8217;s an SSH daemon listening before relentlessly hammering down on them—it only makes sense to get [...]]]></description>
			<content:encoded><![CDATA[<p>Recently due to some SSH attacks I&#8217;ve had to change my default SSH port to something non-standard. While I&#8217;m not a proponent of security through obscurity, most automated botnets ping random IP addresses on port 22 to see if there&#8217;s an SSH daemon listening before relentlessly hammering down on them—it only makes sense to get off of that port. (I&#8217;ve obviously hardened my security in other ways as well.)</p>
<p>Since I run my own little version of GitHub (using a combination of <a href="https://github.com/sitaramc/gitolite">Gitolite</a>, <a href="https://github.com/bitboxer/git-commit-notifier">git-commit-notifier</a>, and other open-source tools) which I share with friends, I needed to send out a quick email on how to switch up existing checked-out repositories as well as how to clone new ones using this non-standard port. Since I did the research, I thought I might as well post it here, too: </p>
<h3>Cloning a git repository on a non-standard port</h3>
<p>The git <a href="http://www.kernel.org/pub/software/scm/git/docs/git-clone.html">man file</a> says you can specify a port using the traditional git syntax but I couldn&#8217;t get it to work for the life of me, It always defaulted to port 22. Since git just uses SSH anyways, here&#8217;s the alternative syntax that also works:</p>
<p>old:</p>
<pre>git clone git@domain.com:&lt;project name></pre>
<p></p>
<p>new:</p>
<pre>git clone ssh://git@domain.com:&lt;port>/&lt;project name></pre>
<p></p>
<h3>Switching an existing checked-out repository to use a non-standard port</h3>
<p>To prevent having to re-checkout an entire project, simply change the location of master and all will be fine. There&#8217;s a way to do this using a git shell command but I prefer to just modify the .git/config file directly, as that&#8217;s all the commands does anyways.</p>
<p>old:</p>
<pre>
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@domain.com:&lt;project name>
</pre>
<p><br/></p>
<p>new:</p>
<pre>
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = ssh://git@domain.com:&lt;port>/&lt;project name>
</pre>
<p></p>
<h3>Set it and forget it method (.ssh/config)</h3>
<p>Instead of doing any of the above, if you&#8217;re on a Mac or Linux environment, the config file inside of your <code>~/.ssh</code> folder can save you from typing long ssh commands. It allows you to create short ssh alias&#8217;s that predefines a host, username, port, as well as more advanced functionality like running proxy commands, forwarding your ssh agent, etc. It&#8217;s well worth taking a look at. When you set an SSH alias anything that uses SSH (git, rsync, scp, etc) all have access to it. </p>
<p>Add the following lines to your <code>~/.ssh/config</code>:</p>
<pre>
Host myrepo
     User git
     Port &lt;port number>
     Hostname &lt;hostname.com>
</pre>
<p></p>
<p>Now you can do a git clone by doing the following:</p>
<pre>git clone myrepo:&lt;project name></pre>
<p></p>
<p>Or in your current checked-out project change the remote &#8220;origin&#8221; url to: </p>
<pre>myrepo:&lt;project name></pre>
<p></p>
<p>It will automatically pick up your username, port, and hostname from your <code>.ssh/config</code> file.</p>
]]></content:encoded>
			<wfw:commentRss>http://readystate4.com/2011/03/30/working-with-git-repos-on-non-standard-ports/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A better git log and the wonders of git tig</title>
		<link>http://readystate4.com/2011/01/16/the-wonders-of-git-tig/</link>
		<comments>http://readystate4.com/2011/01/16/the-wonders-of-git-tig/#comments</comments>
		<pubDate>Sun, 16 Jan 2011 12:07:49 +0000</pubDate>
		<dc:creator>Mauvis</dc:creator>
				<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://readystate4.com/?p=176</guid>
		<description><![CDATA[I was looking for a remote terminal-friendly version of gitk for visualizing branch and merges and as of yet the closest I&#8217;ve gotten is this awesome log command (compliments of this well-done git tutorial): git log --pretty=format:&#34;%h %ad &#124; %s%d [%an]&#34; --graph --date=short It wasn&#8217;t as full featured as I liked but did the job [...]]]></description>
			<content:encoded><![CDATA[<p>I was looking for a remote terminal-friendly version of gitk for visualizing branch and merges and as of yet the closest I&#8217;ve gotten is this awesome log command (compliments of this well-done <a href="http://gitimmersion.com/lab_10.html">git tutorial</a>):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">git log <span style="color: #660033;">--pretty</span>=format:<span style="color: #ff0000;">&quot;%h %ad | %s%d [%an]&quot;</span> <span style="color: #660033;">--graph</span> <span style="color: #660033;">--date</span>=short</pre></div></div>

<p></p>
<p>It wasn&#8217;t as full featured as I liked but did the job and doesn&#8217;t require installing an extra package. Recently though, I stumbled on a colorful text-based git frontend call <a href="http://jonas.nitro.dk/tig/">tig</a> which is quite handy. Check out the screenshots  <a href="http://jonas.nitro.dk/tig/screenshots/">here</a>. It&#8217;s fast and effortless to dig around your repository, drill down wherever you need, and you can even pipe regular git commands to it to see them in interactive full color. Installing it is a breeze with (<code>yum install tig</code> or <code>apt-get install tig</code>) or you can install from <a href="http://jonas.nitro.dk/tig/">source</a>. From here, type <code>tig</code> in your working directory and follow <a href="http://jonas.nitro.dk/tig/manual.html#view-switching">these commands</a>. Checkout <code>tig blame</code> too! </p>
<p>I&#8217;d give a longer review on it with screenshots but someone already has <a href="http://www.gitready.com/advanced/2009/07/31/tig-the-ncurses-front-end-to-git.html">here</a>.</p>
<p>I default tig to show the rev-graph (<a href="http://jonas.nitro.dk/tig/screenshots/rev-graph.html">shown here</a>) and use relative dates by adding the following to my global git config in ~/.gitconfig:</p>
<pre>
[tig]
   show-date = relative
   author-width = 8
   show-rev-graph = yes
</pre>
<p></p>
<p>You can really modify the short cut commands and colors to your liking using the <a href="http://jonas.nitro.dk/tig/tigrc.5.html">man</a> file.</p>
]]></content:encoded>
			<wfw:commentRss>http://readystate4.com/2011/01/16/the-wonders-of-git-tig/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Git: committing only partial changes of a file</title>
		<link>http://readystate4.com/2010/12/30/git-committing-only-partial-changes-of-a-file/</link>
		<comments>http://readystate4.com/2010/12/30/git-committing-only-partial-changes-of-a-file/#comments</comments>
		<pubDate>Thu, 30 Dec 2010 21:36:03 +0000</pubDate>
		<dc:creator>Mauvis</dc:creator>
				<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://readystate4.com/?p=136</guid>
		<description><![CDATA[or better known as &#8220;staging patches&#8221;. So you created some new functionality in a file but you have a lot of other code you&#8217;re not quite ready to commit yet. Answer: git add -p . It will interactively go though modified sections of your file asking if you want to &#8220;stage this hunk&#8221;. Answer y [...]]]></description>
			<content:encoded><![CDATA[<p>or better known as &#8220;staging patches&#8221;.</p>
<p>So you created some new functionality in a file but you have a lot of other code you&#8217;re not quite ready to commit yet. Answer: <code>git add -p <filename></code>. It will interactively go though modified sections of your file asking if you want to &#8220;stage this hunk&#8221;. Answer y for yes, n for no, q for stop, then commit as usual. You can even split hunks if you want to get more fine-grained.</p>
<p>For more details check out <a href="http://progit.org/book/ch6-2.html">this page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://readystate4.com/2010/12/30/git-committing-only-partial-changes-of-a-file/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using make to concatenate JS files</title>
		<link>http://readystate4.com/2010/12/21/using-make-to-concatenate-js-files/</link>
		<comments>http://readystate4.com/2010/12/21/using-make-to-concatenate-js-files/#comments</comments>
		<pubDate>Tue, 21 Dec 2010 18:28:41 +0000</pubDate>
		<dc:creator>Mauvis</dc:creator>
				<category><![CDATA[bash]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[mak]]></category>

		<guid isPermaLink="false">http://readystate4.com/?p=114</guid>
		<description><![CDATA[In a previous project I used a bash script in conjunction with a git hook to concatenate all my js files and increment build numbers in html file references (cache-kill) after every commit. This was convenient at first, but quickly got annoying as I wasn&#8217;t always committing js file changes. I eventually opted to just [...]]]></description>
			<content:encoded><![CDATA[<p>In a previous project I used a bash script in conjunction with a git hook to concatenate all my js files and increment build numbers in html file references (cache-kill) after every commit. This was convenient at first, but quickly got annoying as I wasn&#8217;t always committing js file changes. I eventually opted to just call the script manually before any deployment to qa or production, thinking I would automate it again one day to only be called when JS files were changed (git hooks probably provide this info).</p>
<p>Today I read up on make. I&#8217;ve always used make in the past to build versions of a program for my system but never how it actually worked. When ran, it essentially reads in a list of dependencies, and if the source files have modification times newer than the &#8220;built&#8221; file, it runs your script to rebuild them. Concatenating javascript files seems like the perfect opportunity for this. I&#8217;ll rewrite my bash script to use make, set it as a git hook, and should be able to forget it. Will let you know how it goes. </p>
]]></content:encoded>
			<wfw:commentRss>http://readystate4.com/2010/12/21/using-make-to-concatenate-js-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The wonders of git bisect</title>
		<link>http://readystate4.com/2010/12/05/the-wonders-of-git-bisect/</link>
		<comments>http://readystate4.com/2010/12/05/the-wonders-of-git-bisect/#comments</comments>
		<pubDate>Sun, 05 Dec 2010 23:15:18 +0000</pubDate>
		<dc:creator>Mauvis</dc:creator>
				<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://readystate4.com/?p=86</guid>
		<description><![CDATA[I had a bug that crept up on me that wasn&#8217;t found until right before a production push. I rolled back the last two commits locally but saw that the issue was still there on the iPhone. Now I&#8217;ve heard about the wonders of git bisect but hadn&#8217;t had the opportunity to use it &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>I had a bug that crept up on me that wasn&#8217;t found until right before a production push. I rolled back the last two commits locally but saw that the issue was still there on the iPhone. Now I&#8217;ve heard about the wonders of <a href="http://www.kernel.org/pub/software/scm/git/docs/git-bisect.html" title="git bisect man page">git bisect</a> but hadn&#8217;t had the opportunity to use it &#8211; until now and was pleasantly satisfied at how well it did it&#8217;s job.</p>
<h3>Locating the problem commit:</h3>
<p>To quickly locate the exact commit that the issue was introduced I picked an arbitrary date of 15 days ago and saw that the bug didn&#8217;t exist at that time. I ran <code>git bisect</code> specifying <em>master</em> as bad and the the commit of 15 days ago as good. <code>git bisect</code> then picks random commits between those two commit ranges until I find the first bad commit. The process involves me calling <code>git bisect bad</code> or <code>git bisect good</code> as I refreshed the iPhone screen. The bug was found in less than five minutes (having called <code>git bisect</code> six times). Fixing the bug however, took a little longer&#8230; </p>
<p>For a greater look into <code>git bisect</code> peep this <a href="http://incitecode.com/2009/10/13/finding-bugs-with-git-bisect/">link</a>. </p>
<h3>Bonus round</h3>
<p>Once you find the problem commit, you can show the details of the comment by doing:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">git show 97d7c26dba17ba1a46fb9c6f0bf0e954a92aec74</pre></div></div>

<p><br/></p>
<p>Cat a specific file by doing:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">git show 59010bee586296f0676a9e2255b2bade6b8cea74:public<span style="color: #000000; font-weight: bold;">/</span>js<span style="color: #000000; font-weight: bold;">/</span>jellycar3<span style="color: #000000; font-weight: bold;">/</span>tap.js</pre></div></div>

<p><br/></p>
<p>What to grab the previous commit before that file and copy it to your local branch? Just do (while in whichever branch):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">git show 59010bee586296f0676a9e2255b2bade6b8cea74^:path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span>file<span style="color: #000000; font-weight: bold;">/</span>tap.js <span style="color: #000000; font-weight: bold;">&gt;</span> tap.js</pre></div></div>

<p><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://readystate4.com/2010/12/05/the-wonders-of-git-bisect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Git: Ignore changes in a working tree file</title>
		<link>http://readystate4.com/2009/05/21/git-ignore-changes-in-a-working-tree-file/</link>
		<comments>http://readystate4.com/2009/05/21/git-ignore-changes-in-a-working-tree-file/#comments</comments>
		<pubDate>Thu, 21 May 2009 20:36:12 +0000</pubDate>
		<dc:creator>Mauvis</dc:creator>
				<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://readystate4.com/2009/05/21/git-ignore-changes-in-a-working-tree-file/</guid>
		<description><![CDATA[Lately, I&#8217;ve transferred all my repos over from Subversion to Git and have become familiar enough with the Git SVN bindings to even work on my work projects in Git while still being able to check-in as a regular SVN user. I&#8217;ve found that some usual stuff Subversion would ignore in projects Git doesn&#8217;t. The [...]]]></description>
			<content:encoded><![CDATA[<p>Lately, I&#8217;ve transferred all my repos over from Subversion to <a href="http://git-scm.com/">Git</a> and have become familiar enough with the <a href="http://flavio.castelli.name/howto_use_git_with_svn">Git SVN bindings</a> to even work on my work projects in Git while still being able to check-in as a regular SVN user. </p>
<p>I&#8217;ve found that some usual stuff Subversion would ignore in projects Git doesn&#8217;t. The Git exclude file doesn&#8217;t work here since these are files being tracked in the working tree that are just specific to your instance. After digging around, I found the proper command to ignore these files:</p>
<pre>
# ignore changes in a working tree file
git update-index --assume-unchanged .classpath
</pre>
]]></content:encoded>
			<wfw:commentRss>http://readystate4.com/2009/05/21/git-ignore-changes-in-a-working-tree-file/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

