<?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>Valério Farias &#187; Git</title>
	<atom:link href="http://valeriofarias.com/category/git/feed/" rel="self" type="application/rss+xml" />
	<link>http://valeriofarias.com</link>
	<description>(Tecnologia + Negócios) = :)</description>
	<lastBuildDate>Tue, 29 Mar 2011 21:07:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Tutorial: Git para Designers</title>
		<link>http://valeriofarias.com/tutorial-git-para-designers/</link>
		<comments>http://valeriofarias.com/tutorial-git-para-designers/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 03:09:31 +0000</pubDate>
		<dc:creator>Valrio Farias</dc:creator>
				<category><![CDATA[Git]]></category>
		<category><![CDATA[designers]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://geyserway.com/?p=150</guid>
		<description><![CDATA[Tudo bem, pessoal.
Eu já tinha dado uma visão geral do fluxo de trabalho com Git através do artigo traduzido: Introdução ao git para designers, que foi escrito por uma designer americana.
Para dar sequência ao aprendizado do git, achei interessante fazer a tradução de um tutorial que fosse simples e acabei decidindo pelo seguinte tutorial:
Tutorial: Git [...]]]></description>
			<content:encoded><![CDATA[<p>Tudo bem, pessoal.</p>
<p>Eu já tinha dado uma visão geral do fluxo de trabalho com Git através do artigo traduzido: <a href="http://valeriofarias.com/git-para-designers/">Introdução ao git para designers</a>, que foi escrito por uma designer americana.</p>
<p>Para dar sequência ao aprendizado do git, achei interessante fazer a tradução de um tutorial que fosse simples e acabei decidindo pelo seguinte tutorial:</p>
<h2><a href="http://valeriofarias.com/gitparadesigners.htm">Tutorial: Git para Designers</a></h2>
<p>Além da tradução, inseri algumas notas para que seu aprendizado seja o mais intuitivo possível.</p>
<p>Meu objetivos com essas traduções são:</p>
<ul>
<li> aprender os comandos básicos do git.</li>
<li>mostrar uma abordagem sobre o git que não fosse tão densa como as feitas para programadores. Algo que possa ser indicado para equipes de desiners ou programadores que nunca usaram sistemas de controle de versão.</li>
</ul>
<p>Espero que gostem e em breve voltarei com mais novidades sobre git.</p>
]]></content:encoded>
			<wfw:commentRss>http://valeriofarias.com/tutorial-git-para-designers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introdução ao Git para Designers</title>
		<link>http://valeriofarias.com/git-para-designers/</link>
		<comments>http://valeriofarias.com/git-para-designers/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 03:53:01 +0000</pubDate>
		<dc:creator>Valrio Farias</dc:creator>
				<category><![CDATA[Git]]></category>
		<category><![CDATA[designer]]></category>
		<category><![CDATA[SCV]]></category>
		<category><![CDATA[Sistema de Controle de Versão]]></category>

		<guid isPermaLink="false">http://geyserway.com/?p=99</guid>
		<description><![CDATA[Como a grande maioria dos artigos, tutoriais e comentários sobre Git são feitos por e para programadores (eu me encaixo nesse perfil), achei interessante traduzir esse texto da designer Mindy Wagner. O post mostra uma visão geral sobre o git de uma forma simples. Ele é ótimo para mostrar para designers e até desenvolvedores que [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Como a grande maioria dos artigos, tutoriais e comentários sobre Git são feitos por e para programadores (eu me encaixo nesse perfil), achei interessante traduzir esse texto da designer <em>Mindy Wagner</em>. O post mostra uma visão geral sobre o git de uma forma simples. Ele é ótimo para mostrar para designers e até desenvolvedores que ainda não utilizam sistemas de controle de versão. Para sair do caos, use Git! Fique agora com a tradução:</p></blockquote>
<p>A menos que você tenha uma loja na web com uma só pessoa sem equipe para colaborar, você está passando pela frustração que vem com o compartilhamento de arquivos. Não importa o quanto você se esforce, <strong>quando várias pessoas estão trabalhando em um único projeto, sem um sistema de controle de versão, as coisas se tornam caóticas.</strong></p>
<p><strong></strong>Se você trabalha com desenvolvedores na criação e implementação de websites, a junção entre templates front-end e funcionalidades no back-end pode ser um assustador buraco negro.</p>
<p><strong>Problemas como arquivos sobrescritos, arquivos perdidos, bem como o fenômeno de querer &#8220;se livar da versão anterior&#8221; que aparece constantemente.</strong> E uma vez que as funcionalidades back-end tenham sido colocadas nos seus templates, você fica com medo de mecher e quebrar alguma coisa que um programador gastou muito tempo trabalhando para deixar pronto.</p>
<p>Além disso, mesmo se você tem um repositório comum e todos pegam os arquivos a partir dele, ainda existe a probabilidade de pelo menos um membro da sua equipe esquecer de obter as últimas atualizações e está prestes a destruir, sobrescrevendo o trabalho de outras pessoas com suas mais recentes adições.</p>
<p>Neste artigo, vou mostrar uma <strong>visão geral e rápida do GIT, um excelente sistema de controle de versão.</strong></p>
<h2>Controle de Versão &#8211; Uma explicação curta e grossa</h2>
<p>Controle de Versão (também conhecido como Controle de Revisão ou Controle do gerenciamento de código) é uma ótima maneira de resolver o problema de compartilhamento de arquivos.</p>
<p>O conceito básico é este: <strong>há um repositório principal para todos os arquivos do projeto.</strong> Os membros da equipe pegam os arquivos, modificam, e depois os devolve novamente (usando o comando commit). O Sistema de Controle de Versão (SCV), detecta automaticamente quem alterou os arquivos, quando foram alterados, e o que foi modificado ou adicionado.</p>
<p>Ele também solicita que você escreva uma pequena nota sobra a sua mudança para que todos possam saber o que você fez e por quê. <strong>Cada arquivo terá, dessa forma, um histórico de revisão</strong>, que permite que você volte facilmente para uma versão anterior de qualquer arquivo se alguma coisa der errado.</p>
<p>Um bom SCV também permite que você <strong>mescle (merging) as alterações de um mesmo arquivo.</strong> Se você e outra pessoa trabalham localmente com um  mesmo arquivo ao mesmo tempo, quando vocês movem os arquivos de novo para o repositório principal o sistema irá mesclar os dois conjuntos de alterações para criar uma novo arquivo totalmente atualizado, que reflete as modificações dos dois. Se surgir algum conflito durante a junção, será mostrado para você solucionar.</p>
<p>Você provavelmente está usando um sistem de controle de versão muito grosseiro agora para manter seus arquivos. Se você é um designer, que é algo como isto:</p>
<p><img class="alignnone" src="http://www.webdesignerdepot.com/wp-content/uploads/2009/03/dpcwqxg_312gvhkh4s6_b.png" alt="" width="415" height="114" /></p>
<p>Controle de versao de Designer &#8211; FALHO</p>
<p>Isso funciona bem o suficiente para PSDs e outros arquivos binários, pois realmente eles não são adequados para SCV. Mas há uma forma muito melhor de fazer isso quando você estiver gerenciando o código fonte de um site.</p>
<h2>Benefícios de usar um Sistema de Controle Versão inclui:</h2>
<p>* Os arquivos <strong>não podem</strong> ser sobrescritos<br />
* Há um <strong>repositório comum</strong> que armazena todos os últimos arquivos<br />
* As pessoas podem trabalhar no mesmo arquivos <strong>simultaneamente</strong> sem conflito<br />
* Permite que você <strong>volte</strong> a uma versão mais antiga do arquivo/projeto se necessário<br />
* Deixam os desenvolvedores <strong>muito felizes</strong></p>
<p><strong>Mesmo se você não trabalhar com uma equipe, versão controle pode ser um salva-vidas.</strong> Fazer o backup de arquivos é uma das coisas mais simples que você pode fazer para salvar-se de perder o trabalho ou de ter que começar de novo.</p>
<p>A idéia de um SCV Parece intimidante no início, especialmente porque <strong>a maior parte da documentação é escrita por e para os desenvolvedores.</strong> Mas uma vez que você fizer a mudança para incorporá-la no seu trabalho, você verá que não é tão difícil como parece.</p>
<h2>Conheça o GIT</h2>
<p>OK, agora você pode ver porque um <strong>Sistema de Controle de Versão</strong> é indispensável para a sua equipe de desenvolvimento. Se você fizer uma pesquisa, verá que há poucas opções disponíveis, incluindo SVN, Mercurial, CVS, Bazar e GIT. Qualquer um deles poderia ser uma boa solução para as suas necessidades, e eu encorajo a fazer alguma pesquisa antes de escolher um SCV. Neste artigo vou concentrar a atenção sobre GIT, que uso diariamente. É uma &#8220;Estrela em Ascenção&#8221;, que ganhou popularidade graças a um grande fã do Linux, GitHub e da comunidade Rails.</p>
<p>GIT é <strong>Sistem de Controle de versão de código aberto</strong> criado por Linus Torvalds para o desenvolvimento do Linux. Linus é um cara muito inteligente, quando ele se foca para resolver um problema, ele não ficar à toa. Um dos grandes diferenciadores do GIT é que ao contrário do SVN e CVS é um sistema de controle de versão distribuído. Isto significa que cada usuário tem uma cópia completa do repositório de dados armazenados localmente em sua máquina. O que isso tem de tão importante? Algumas coisas:</p>
<ul>
<li><strong>Tudo é local</strong>, assim você pode trabalhar offline</li>
<li><strong>Não existe um único ponto de falha.</strong> Ele não confia em um servidor central que poderia pifar e queimar, distruindo o único repositório do seu projeto com ele.</li>
<li>Como ele não tem que se comunicar com um servidor central, constantemente, os <strong>processos executam muito mais rápido.</strong></li>
</ul>
<p><strong>GIT tem uma curva de aprendizado um pouco maior do que SVN</strong>, mas vale a pena o esforço. Basta pensar como seus amigos desenvolvedores vão ficar impressionados se você disser que está usando o SCV do momento, que é GIT! Com toda a seriedade, não creio que a curva de aprendizagem seja tão grande. SVN foi igualmente confuso para mim no início, e eu vivia cheio de problemas utiliza ele.</p>
<p>Instalar GIT não é tão divertido como video game. Tive a sorte de ter um desenvolvedor dispostos a me ajudar, mas há abundância de informações on-line para que você possa aprender através deles. Git pode ser executado em um PC, Mac ou Linux, apesar de instalação para Linux e OSX ser mais fácil do que para Windows.</p>
<p>Você pode fazer o download da versão mais recente do GIT <a href="http://git-scm.com/download">aqui</a>. Depois que baixar os arquivos, tente este <a href="http://book.git-scm.com/2_installing_git.html">guia rápido</a> para você começar com o processo de instalação. Para usuários do Windows, este <a href="http://nathanj.github.com/gitguide/installing.html">guia visual</a> passo-a-passo deve ser útil. Usuários do Mac, tente este guia encontrado no <a href="http://github.com/guides/compiling-and-installing-git-on-mac-os-x">GitHub</a></p>
<h2>Primeiros passos</h2>
<p>Depois de ter GIT instalado, <strong>você pode criar seu repositório.</strong> Para transformar uma pasta existente em um repositório GIT, use os seguintes comandos em seu terminal ou janela do Prompt de comando:</p>
<p><strong>cd  caminho/para/projeto<br />
git init<br />
git add .<br />
git commit</strong></p>
<p>O que você está dizendo GIT de fazer é:</p>
<ul>
<li><strong>Inicialize</strong> este diretório</li>
<li><strong>Adicione todos os arquivos</strong> e subdiretórios na área de indice(como se fosse uma sala de espera).</li>
<li><strong>Armazene</strong>, todos as mudanças atuais no repositório (sai da sala de espera para ser atendido)</li>
</ul>
<p>Se você odeia linha de comando, poderá fazer isso usando o <strong>Git GUI</strong>. Não é a coisa mais bonita que você já viu, mas está lá se você precisar dele.</p>
<p><img class="alignnone" src="http://www.webdesignerdepot.com/wp-content/uploads/2009/03/dpcwqxg_318cxx44p9f_b.png " alt="" width="451" height="257" /></p>
<h2>Uma amostra do fluxo de trabalho com GIT</h2>
<p>Eu estou usando atualmente GIT em um Mac para trabalhar em uma aplicação web com múltiplos desenvolvedores web. Temos um do código &#8220;master&#8221;, para onde enviamos nossos arquivos depois da criação ou modificação, e todos tempos uma cópia completa do repositório localmente. Em um determinado dia, o meu fluxo de trabalho é algo parecido com isto:</p>
<p><img class="alignnone" src="http://www.webdesignerdepot.com/wp-content/uploads/2009/03/dpcwqxg_323gnhgbwg3_b.gif  " alt="" width="505" height="225" /></p>
<p>1. <strong>Abro o Terminal.</strong> Inicio o meu banco mysql local (dessa forma a aplicação que estamos construindo pode rodar localmente na minha máquina ).<br />
2. Verificar as últimas mudanças, usando o comando &#8220;<strong>git pull</strong>&#8220;(puxar) no terminal. Isso me dá todas as mudanças feitas pelos outros membros da equipe centralizadas em nosso repositório mestre.<br />
3. Abro o projeto no <strong>TextMate</strong> e faço as minhas alterações.<br />
4. Uso o <strong>comando commit</strong> com uma <strong>notificação</strong> para atualizar as mudanças que fiz. Por enquanto somente na minha máquina local. Faço commits frequentemente, provavelmente dez ou mais vezes por dia. Isso me ajuda a manter-me no caminho certo.<br />
5. <strong>Devolvo as minhas alterações</strong> ao repositório central usando &#8220;<strong>git push</strong>&#8220;. Agora, outros membros da equipe podem baixar e vê as minhas alterações. Você deve fazer isso pelo menos uma vez por dia ou depois de qualquer grande adição.</p>
<p>Todas estas ações podem ser feito facilmente através da <strong>janela do terminal</strong>, mas eu sou um  tipo de garota visual. Por esse motivo, eu uso <a href="http://gitx.frim.nl/">GitX</a>, um <strong>Git gui para OSX</strong>, para fazer meus commits (adicionar no repositório local). Eu continuo a baixar os arquivos do servidor (git pull) e a enviar de volta (git push) através do terminal, mas GitX torna fácil para mim a organização dos meus commits e a ter um controle mais efetivo em torno do que estou fazendo.</p>
<p><img class="alignnone" src="http://www.webdesignerdepot.com/wp-content/uploads/2009/03/dpcwqxg_324cjsfbw2t_b.png" alt="" width="640" height="461" /></p>
<p>No topo, ele mostra as alteração que foram feitas nos arquivos. No canto inferior esquerdo está a lista de alterações à espera de serem comitadas (Unstaged Changes). Para comitar as mesmas, você arrasta um ou mais arquivos para a área &#8220;Staged Changes&#8221; do lado direito, escreva o a sua nota no campo &#8220;Commit Message&#8221;, e clique o botão Commit.</p>
<p>Se eu mudar para a exibição em árvore, eu posso ver o que foi enviado para o repositório. Se meus arquivos não fossem atualizados com os arquivos do repositores mestre, as tags verde e azul no topo estariam fora de sincronia. <a href="http://wiki.github.com/Caged/gitnub">GitNub</a> oferece uma interface com estilo semelhante Mac.</p>
<p><img class="alignnone" src="http://www.webdesignerdepot.com/wp-content/uploads/2009/03/dpcwqxg_325dvqqw5gf_b.png" alt="" width="640" height="462" /></p>
<p>Há também um grande pacote paraTextMate (<a href="http://gitorious.org/projects/git-tmbundle">TextMate bundle</a>) disponível. Com ele, você pode usar os comandos push, pull, commit e outros sem sair do TextMate. É extremamente eficiente.</p>
<p><img class="alignnone" src="http://www.webdesignerdepot.com/wp-content/uploads/2009/03/dpcwqxg_320g5j4rsdx_b.jpg" alt="" width="459" height="500" /></p>
<h2>Saiba Mais</h2>
<p>GIT Cheat Sheet<br />
<a href="http://zrusin.blogspot.com/2007/09/git-cheat-sheet.html"><img class="alignnone" title="git cheat sheet" src="http://www.webdesignerdepot.com/wp-content/uploads/2009/03/dpcwqxg_321d3h2crhg_b.png" alt="" width="640" height="495" /></a><br />
Acima: Zack Rusin’s Git Cheat Sheet</p>
<h3>Eu ainda sou iniciante no Git, então só falei de uma forma geral o que você pode fazer com ele, mas eu definitivamente vejo a luz quando se trata de controle versão, e estou satisfeita por finalmente seguir um caminho seguro.</h3>
]]></content:encoded>
			<wfw:commentRss>http://valeriofarias.com/git-para-designers/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

