<?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>ArthurGeek.net &#187; git</title>
	<atom:link href="http://www.arthurgeek.net/tag/git/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.arthurgeek.net</link>
	<description>Rails, Mac... e Rock'n Roll!</description>
	<lastBuildDate>Sat, 20 Dec 2008 23:25:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Palestra sobre Git no Treina Tom</title>
		<link>http://www.arthurgeek.net/palestra-sobre-git-no-treina-tom/</link>
		<comments>http://www.arthurgeek.net/palestra-sobre-git-no-treina-tom/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 02:59:00 +0000</pubDate>
		<dc:creator>ArthurGeek</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[palestra]]></category>

		<guid isPermaLink="false">http://www.arthurgeek.net/2008/08/23/palestra-sobre-git-no-treina-tom</guid>
		<description><![CDATA[Vale o lembrete: sábado agora tem palestra sobre Git comigo no Café com o Tom. Não perca! :)
Update: Aqui estão os slides da palestra: Git: Controle de Versões do jeito certo
]]></description>
			<content:encoded><![CDATA[<p>Vale o lembrete: sábado agora tem <a href="http://www.arthurgeek.net/2008/5/24/git-controle-de-versao-do-jeito-certo">palestra sobre Git</a> comigo no <a href="http://www.treinatom.com.br/cafe-com-o-tom">Café com o Tom</a>. Não perca! :)</p>
<p><strong>Update</strong>: Aqui estão os slides da palestra: <a href="http://www.arthurgeek.net/Git_-_Controle_de_Versoes_do_jeito_certo.pdf" onClick="javascript: pageTracker._trackPageview('Git_-_Controle_de_Versoes_do_jeito_certo'); ">Git: Controle de Versões do jeito certo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.arthurgeek.net/palestra-sobre-git-no-treina-tom/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Git: Controle de versão do jeito certo</title>
		<link>http://www.arthurgeek.net/git-controle-de-versao-do-jeito-certo/</link>
		<comments>http://www.arthurgeek.net/git-controle-de-versao-do-jeito-certo/#comments</comments>
		<pubDate>Sat, 24 May 2008 13:52:00 +0000</pubDate>
		<dc:creator>ArthurGeek</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[palestra]]></category>

		<guid isPermaLink="false">http://www.arthurgeek.net/2008/08/23/git-controle-de-versao-do-jeito-certo</guid>
		<description><![CDATA[Anote aí na sua agenda: dia 23 de agosto (é, tá longe!) tem palestra de Git no Treina Tom comigo! :)
Não deixe de conferir (e assistir) as outras palestras que vão rolar esse ano, todas com excelentes temas para desenvolvedores web!
Quanto aos screencasts, não esqueci deles não, falta o áudio, mas acontece que eu coloquei [...]]]></description>
			<content:encoded><![CDATA[<p>Anote aí na sua agenda: dia 23 de agosto (é, tá longe!) tem palestra de Git no <a href="https://www.treinatom.com.br/cafe-com-o-tom">Treina Tom</a> comigo! :)</p>
<p>Não deixe de conferir (e assistir) as outras palestras que vão rolar esse ano, todas com excelentes temas para desenvolvedores web!</p>
<p>Quanto aos screencasts, não esqueci deles não, falta o áudio, mas acontece que eu coloquei aparelho ortodôntico esse mês e falta me acostumar a falar melhor com eles. :)</p>
<p>Ah, <a href="http://simplesideias.com.br">Nando</a>, valeu pela idéia do nome da palestra! ;)</p>
<p><strong>Update</strong>: Aqui estão os slides da palestra: <a href="http://www.arthurgeek.net/Git_-_Controle_de_Versoes_do_jeito_certo.pdf" onClick="javascript: pageTracker._trackPageview('Git_-_Controle_de_Versoes_do_jeito_certo'); ">Git: Controle de Versões do jeito certo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.arthurgeek.net/git-controle-de-versao-do-jeito-certo/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Git Bisect</title>
		<link>http://www.arthurgeek.net/git-bisect/</link>
		<comments>http://www.arthurgeek.net/git-bisect/#comments</comments>
		<pubDate>Fri, 23 May 2008 19:27:00 +0000</pubDate>
		<dc:creator>ArthurGeek</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bisect]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[scm]]></category>

		<guid isPermaLink="false">http://www.arthurgeek.net/2008/05/23/git-bisect</guid>
		<description><![CDATA[Você conhece o git bisect?
É uma das features mais interessantes do Git. E até hoje, eu nunca tinha usado o bisect. Mas o que ele faz? De acordo com o próprio site: “Find the change that introduced a bug by binary search”. Interessante, não?
Como funciona?
O bisect ajuda a encontrar quando um bug foi introduzido no [...]]]></description>
			<content:encoded><![CDATA[<p>Você conhece o <a href="http://www.kernel.org/pub/software/scm/git/docs/git-bisect.html">git bisect</a>?</p>
<p>É uma das features mais interessantes do Git. E até hoje, eu nunca tinha usado o bisect. Mas o que ele faz? De acordo com o próprio site: <strong>“Find the change that introduced a bug by binary search”</strong>. Interessante, não?</p>
<h3>Como funciona?</h3>
<p>O bisect ajuda a encontrar quando um bug foi introduzido no seu código, marcando pontos nos commits como <em>‘bons’</em> e <em>‘ruins’</em>, e examinando commits intermediários usando um algoritmo de busca binária que vai eliminando metade dos commits cada vez que você marca um commit como <em>‘bom’</em> ou <em>‘ruim’</em>.</p>
<h3>Exemplo</h3>
<p>Suponha que tenhamos um projeto com o seguinte log:</p>
<pre><code>commit 7dd0f15d4e9a5fc1f625c0ac6e4788de45e0c40f
Author: Homer Simpson &lt;homer@simpsons.com&gt;
Date:   Wed May 21 17:36:27 2008 -0300

    Commit 20

commit dc358142a0deb6e1ba8e15f55f5e851e7bcc1ecf
Author: Homer Simpson &lt;homer@simpsons.com&gt;
Date:   Wed May 21 16:50:44 2008 -0300

    Commit 19

commit 648160ea61e194f97c8e11a35866025dca46c9a4
Author: Homer Simpson &lt;homer@simpsons.com&gt;
Date:   Wed May 21 16:34:38 2008 -0300

    Commit 18

commit 786a02663af9aa8eed533ab574b79294eddff4fc
Author: Homer Simpson &lt;homer@simpsons.com&gt;
Date:   Wed May 21 16:34:22 2008 -0300

    Commit 17

commit 9b76092b44f714d780a45e99532593da7b744801
Author: Homer Simpson &lt;homer@simpsons.com&gt;
Date:   Wed May 21 16:14:08 2008 -0300

    Commit 16

commit a00ef3d4e836af6777350a5f157132a255804e67
Author: Homer Simpson &lt;homer@simpsons.com&gt;
Date:   Wed May 21 11:33:45 2008 -0300

    Commit 15

commit 526be2a6b652df597e4d5b7670d58e7f0767e2e3
Author: Bart Simpson &lt;bart@simpsons.com&gt;
Date:   Wed May 21 11:30:50 2008 -0300

    Commit 14

commit 67022233899f78aee7f120337f1ec434d238f23f
Author: Homer Simpson &lt;homer@simpsons.com&gt;
Date:   Wed May 21 11:30:31 2008 -0300

    Commit 13

commit 21b8739f2ff271baa492d358e426ea1fc87bb7d7
Merge: ecc25a6... 00560d4...
Author: Homer Simpson &lt;homer@simpsons.com&gt;
Date:   Tue May 20 19:32:29 2008 -0300

    Commit 12

commit 00560d4b5ff1a2d463bfa19ba3d6346566db8e12
Author: Homer Simpson &lt;homer@simpsons.com&gt;
Date:   Tue May 20 17:11:56 2008 -0300

    Commit 11</code></pre>
<p>Nós temos uma funcionalidade que funcionava no <em>Commit 11</em>, mas que no <em>Commit 20</em> não funciona, porém, não sabemos em que momento este bug foi introduzido. Mentira, eu sei que foi o Bart quem introduziu o bug no <em>Commit 14</em>, mas vamos supor que nós não sabemos disso ainda! :)</p>
<h3>E agora, o Git poderá nos socorrer?</h3>
<p>Aqui é que entra o bisect.</p>
<pre><code>$ git bisect start
$ git bisect bad
$ git bisect good 00560d4b5ff1a2d463bfa19ba3d6346566db8e12
Bisecting: 4 revisions left to test after this
[a00ef3d4e836af6777350a5f157132a255804e67] Commit 15</code></pre>
<p>Nós dizemos ao git que o commit atual é <em>‘bad’</em>. E que o <em>Commit 11</em> estava ok (passando o hash identificador do <em>Commit 11</em>). Sendo assim, o Git escolhe um ponto intermediário entre os 2 commits, resultando no <em>Commit 15</em>.</p>
<p>Nós testamos o sistema, e vimos que o bug já estava presente nesta versão, assim, ou ele foi introduzido neste commit ou antes dele. Se o bug não estivesse presente nesta versão, significa que ele foi introduzido depois. De qualquer maneira, eliminaremos a necessidade de checar metade dos commits.</p>
<p>Vamos dizer ao git que esta versão é <em>‘bad’</em>:</p>
<pre><code>$ git bisect bad
Bisecting: 2 revisions left to test after this
[21b8739f2ff271baa492d358e426ea1fc87bb7d7] Commit 12
$</code></pre>
<p>O Git nos leva até o <em>Commit 12</em>, nós analisamos novamente e o bug não estava presente nesta versão, então, podemos dizer que esta versão é <em>‘good’</em>.</p>
<pre><code>$ git bisect good
Bisecting: 1 revisions left to test after this
[526be2a6b652df597e4d5b7670d58e7f0767e2e3] Commit 14
$</code></pre>
<p>Voltamos ao processo novamente e descobrimos que esta versão estava <em>‘bugada’</em>.</p>
<pre><code>$ git bisect bad
Bisecting: 0 revisions left to test after this
[67022233899f78aee7f120337f1ec434d238f23f] Commit 13</code></pre>
<p>Agora, se esta versão estiver ok, o bug foi introduzido no <em>Commit 14</em>, visto que já dissemos que os commits 12 e 15 estavam ok. Testamos, e esta versão encontra-se ok.</p>
<pre><code>$ git bisect good
526be2a6b652df597e4d5b7670d58e7f0767e2e3 is first bad commit
commit 526be2a6b652df597e4d5b7670d58e7f0767e2e3
Author: Bart Simpson &lt;bart@simpsons.com&gt;
Date:   Wed May 21 11:30:50 2008 -0300

    Commit 14

:040000 040000 58adb210b90786fb300ae1d0f3b478adbe643fb0 4adb482917754cb560e3f0f586c4a0739ebab373 M    file.rb</code></pre>
<p>Sendo assim, o Git nos informa que o <em>Commit 14</em> é o primeiro <em>‘bad’</em> commit e que o bug foi introduzido ali. Após ter encontrado o bug, rodamos:</p>
<pre><code>$ git bisect reset</code></pre>
<p>E agora, podemos corrigir o bug. E reclamar com o Bart que foi quem introduziu ele! :)</p>
<p>Neste caso, era um intervalo de apenas 10 commits, mas se fosse um intervalo maior, o bisect também ajudaria, visto que ele usa um algoritmo de busca binária.</p>
<p>É ou não é, sensacional? :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arthurgeek.net/git-bisect/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Screencast: Git &#8211; Compilando e Configurando</title>
		<link>http://www.arthurgeek.net/screencast-git-compilando-e-configurando/</link>
		<comments>http://www.arthurgeek.net/screencast-git-compilando-e-configurando/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 14:51:00 +0000</pubDate>
		<dc:creator>ArthurGeek</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[screencast]]></category>

		<guid isPermaLink="false">http://www.arthurgeek.net/2008/04/03/screencast-git-compilando-e-configurando</guid>
		<description><![CDATA[A idéia veio no ano passado. O vídeo foi gravado há mais de um mês. Mas o áudio só foi gravado ontem mesmo. Depois de
alguma demora, aqui está o primeiro, de muitos, screencasts gravado por mim:
Git – Compilando e Configurando
Você já deve ter ouvido falar do Subversion, não? E do Git? O Git é um [...]]]></description>
			<content:encoded><![CDATA[<p>A idéia veio no ano passado. O vídeo foi gravado há mais de um mês. Mas o áudio só foi gravado ontem mesmo. Depois de<br />
alguma demora, aqui está o primeiro, de muitos, screencasts gravado por mim:</p>
<h2>Git – Compilando e Configurando</h2>
<p>Você já deve ter ouvido falar do <a href="http://subversion.tigris.org/">Subversion</a>, não? E do <a href="http://git.or.cz">Git</a>? O Git é um sistema de controle de versões escrito por Linus Torvalds para controlar todo o código fonte do <a href="http://kernel.org">Kernel do Linux</a>. Não vou explicar em maiores detalhes o que é o Git, para isso, <a href="http://www.google.com/search?q=git">procure no google</a>.</p>
<p>Nesse screencast eu mostro como compilar o Git à partir do código fonte, configurá-lo e também mostro algumas funcionalidades bem básicas. Este é o primeiro Screencast de uma série sobre Git que eu pretendo fazer. Este primeiro é para iniciantes, mas também farei outros mais avançados com muitas dicas.</p>
<p><a onclick="javascript: pageTracker._trackPageview('/screencasts/01_GitCompilingConfiguring'); " href="http://www.arthurgeek.net/screencasts/01_GitCompilingConfiguring.mov">Download</a> (43.6Mb, 7:47)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arthurgeek.net/screencast-git-compilando-e-configurando/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
<enclosure url="http://www.arthurgeek.net/screencasts/01_GitCompilingConfiguring.mov" length="45749762" type="video/quicktime" />
		</item>
	</channel>
</rss>
