<?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>Arquivo para Git - Bóson Treinamentos em Ciência e Tecnologia</title>
	<atom:link href="https://www.bosontreinamentos.com.br/category/git/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bosontreinamentos.com.br/category/git/</link>
	<description>Artigos e Tutoriais sobre Desenvolvimento de Software, Bancos de Dados SQL, Linux, Lógica de Programação, Inteligência Artificial, Hardware, Eletrônica, Arduino, Técnicas e Teorias de Estudo e Aprendizagem, Carreira em TI, Ciências Cognitivas, e muito mais!</description>
	<lastBuildDate>Sat, 25 Jan 2020 14:27:45 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.6</generator>
	<item>
		<title>Introdução ao Git</title>
		<link>https://www.bosontreinamentos.com.br/git/introducao-ao-git/</link>
					<comments>https://www.bosontreinamentos.com.br/git/introducao-ao-git/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 24 Jan 2020 20:28:47 +0000</pubDate>
				<category><![CDATA[Git]]></category>
		<category><![CDATA[Desenvolvimento de Software]]></category>
		<category><![CDATA[Programação]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=16220</guid>

					<description><![CDATA[<p>Introdução ao Git Neste artigo vamos fazer uma rápida introdução ao Git, sistema de controle de versões mais empregado atualmente no mundo. Porém, antes de falarmos especificamente do Git em si, vamos relembrar o que é um sistema de versionamento, especialmente os sistemas de controle de versão distribuídos. Sistema de Controle de Versão Distribuído Um sistema de controle de versão distribuído é similar aos sistemas centralizados, porém sem necessariamente possuir um servidor&#160;central para armazenar o histórico de alterações do projeto. Neste tipo de sistema, cada cliente possui uma cópia do repositório e do histórico de alterações, o que diminui drasticamente a chance de perder o projeto ou partes dele. Além disso, um SCVD não necessita de conexão de rede permanente para ser utilizado, o que facilita o trabalho dos desenvolvedores e simplifica a infraestrutura necessária no dia-a-dia do trabalho. Além disso, é possível implementar o conceito de forking &#8211; que significa, basicamente, a possibilidade de clonar um projeto já existente, realizar alterações e criar um novo projeto derivado. Exemplos de sistemas de controle de versão distribuídos incluem: BitKeeper Git Mercurial A figura a seguir ilustra a arquitetura de um sistema de controle de versão distribuído: Sistema de Controle de Versão [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/git/introducao-ao-git/">Introdução ao Git</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introdução ao Git</h2>
<p>Neste artigo vamos fazer uma rápida introdução ao <strong>Git</strong>, sistema de controle de versões mais empregado atualmente no mundo.</p>
<p>Porém, antes de falarmos especificamente do Git em si, vamos relembrar o que é um sistema de versionamento, especialmente os sistemas de controle de versão distribuídos.</p>
<h3>Sistema de Controle de Versão Distribuído</h3>
<p>Um sistema de controle de versão distribuído é similar aos sistemas centralizados, porém sem necessariamente possuir um servidor&nbsp;central para armazenar o histórico de alterações do projeto. Neste tipo de sistema, cada cliente possui uma cópia do repositório e do histórico de alterações, o que diminui drasticamente a chance de perder o projeto ou partes dele.<br />
Além disso, um SCVD não necessita de conexão de rede permanente para ser utilizado, o que facilita o trabalho dos desenvolvedores e simplifica a infraestrutura necessária no dia-a-dia do trabalho.</p>
<p>Além disso, é possível implementar o conceito de <em><strong>forking</strong></em> &#8211; que significa, basicamente, a possibilidade de clonar um projeto já existente, realizar alterações e criar um novo projeto derivado.</p>
<p>Exemplos de sistemas de controle de versão distribuídos incluem:</p>
<ul>
<li>BitKeeper</li>
<li>Git</li>
<li>Mercurial</li>
</ul>
<p>A figura a seguir ilustra a arquitetura de um sistema de controle de versão distribuído:</p>
<div id="attachment_16221" style="width: 660px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-16221" class="wp-image-16221" title="Sistema de Controle de Versão Distribuído Git" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/01/sistema-controle-git.jpg" alt="Sistema de Controle de Versão Distribuído Git" width="650" height="533" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2020/01/sistema-controle-git.jpg 808w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/01/sistema-controle-git-420x345.jpg 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/01/sistema-controle-git-768x630.jpg 768w" sizes="auto, (max-width: 650px) 100vw, 650px" /><p id="caption-attachment-16221" class="wp-caption-text">Sistema de Controle de Versão Distribuído</p></div>
<h3>O que é o Git</h3>
<p>O Git é um Sistema de Controle de Versão Distribuído amplamente utilizado &#8211; o mais utilizado atualmente no mundo. Foi criado por Linus Torvalds em 2005 para substituir o sistema BitKeeper SCM, que tinha acesso gratuito, mas que teve o acesso removido em determinado momento. Era empregado no desenvolvimento do sistema operacional Linux, e acabou se tornando o sistema padrão para controle de versões em desenvolvimento de softwares dos mais diversos tipos e tamanhos.</p>
<p>O Git é Software Livre, distribuído sob a licença GNU GPL V.2.</p>
<div id="attachment_16222" style="width: 330px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-16222" class="wp-image-16222 size-full" title="Linus Torvalds - Git" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/01/linus-torvalds-git.jpg" alt="Linus Torvalds - Git" width="320" height="309"><p id="caption-attachment-16222" class="wp-caption-text">Linus Torvalds</p></div>
<h3>Vantagens do Git</h3>
<p>O Git possui uma série de vantagens em relação a outros sistemas de controle de versão, as quais incluem:</p>
<ul>
<li>Permite rastrear alterações com muita facilidade</li>
<li>Excelente para trabalho em equipes de qualquer tamanho</li>
<li>Permite fazer revisão em alterações feitas por outros membros</li>
<li>Sistema de branching aprimorado</li>
<li>Operação de Merging extremamente simples</li>
<li>Stashing para testes de features sem interferir em modificações atuais</li>
<li>Trabalha com snapshots para versionamento</li>
<li>Histórico com autenticação criptográfica</li>
</ul>
<p>Entre outras.</p>
<h3>Exemplos de projetos que usam Git</h3>
<p>Uma quantidade gigantesca de projetos empregam git atualmente, desde pequenos projetos acadêmicos até softwares de uso massivo, como por exemplo:</p>
<ul>
<li>Android</li>
<li><a href="http://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/debian-8-jessie-linux-apresentacao-e-instalacao/" target="_blank" rel="noopener">Debian</a></li>
<li><a href="http://www.bosontreinamentos.com.br/java/programacao-em-java-instalando-o-ide-eclipse/" target="_blank" rel="noopener">Eclipse</a></li>
<li>Gimp</li>
<li>jQuery</li>
<li>Kernel do <a href="http://www.bosontreinamentos.com.br/curso-de-linux-basico-e-certificacao-lpi-1/" target="_blank" rel="noopener">Linux</a></li>
<li><a href="http://www.bosontreinamentos.com.br/curso-basico-de-programacao-web-com-php/" target="_blank" rel="noopener">PHP</a></li>
<li>Reddit</li>
<li>Ruby on Rails</li>
<li>VLC</li>
</ul>
<p>E muito, muito mais.</p>
<h3>Sistema de Três Estados do Git</h3>
<p>Uma das principais características do Git é seu <strong>sistema de três estados</strong>. Neste sistema, existem três estados nos quais um código em desenvolvimento pode se encontrar:</p>
<ul>
<li><strong>Estado Modificado</strong>: <em>Snapshot</em> atual no qual o trabalho é feito no momento. Arquivos no Diretório de Trabalho.</li>
<li><strong>Estado Preparado</strong>: Os arquivos modificados são marcados em sua versão atual, pronta para ser armazenada no banco de dados. Arquivos no <em>Staging Area</em>.</li>
<li><strong>Estado Consolidado</strong>: Dados são salvos no Repositório (Banco de dados) onde o histórico é armazenado. Esse estado é compartilhado. Arquivos no Diretório do Git.</li>
</ul>
<p>A ilustração a seguir mostra o fluxo dos três estados de arquivos do git.</p>
<div id="attachment_16223" style="width: 860px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-16223" class="wp-image-16223" title="Fluxo de 3 estados do git" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/01/tres-estados-git-1024x282.jpg" alt="Fluxo de 3 estados do git" width="850" height="234" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2020/01/tres-estados-git-1024x282.jpg 1024w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/01/tres-estados-git-420x116.jpg 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/01/tres-estados-git-768x212.jpg 768w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/01/tres-estados-git.jpg 1151w" sizes="auto, (max-width: 850px) 100vw, 850px" /><p id="caption-attachment-16223" class="wp-caption-text">Fluxo dos Três Estados do Git</p></div>
<p>Algumas das características básicas de cada estado são apresentadas a seguir:</p>
<h4>Estado Modificado</h4>
<ul>
<li>Arquivos adicionados, modificados ou removidos são marcados como modificados.</li>
<li>Indica que um arquivo sofreu alterações.</li>
<li>Indica também que estão diferentes em relação à última versão que está armazenada no banco de dados.</li>
</ul>
<h4>Estado Preparado</h4>
<ul>
<li>Arquivo é enviado para a área de preparação antes de ser consolidado.</li>
<li>Os arquivos entram neste estado após uma instrução <em>git add</em></li>
<li>Assim, se tornam preparados para serem versionados.</li>
</ul>
<h4>Estado Consolidado</h4>
<ul>
<li>Os arquivos preparados são salvos em definitivo após a execução de uma instrução <em>git commit</em></li>
<li>Uma nova imagem é salva no histórico, contendo o estado dos arquivos salvos.</li>
<li>Arquivos não podem ser consolidados se ainda estiverem no estado modificado.</li>
</ul>
<p>Nos próximos artigos vamos estudar esses estados com mais detalhes, e aprender como utilizar os comandos do git para transferir os arquivos de um estado para outro.</p>
<h3>Fluxo de Operação do Git</h3>
<p>O fluxo de operação dos arquivos no git é, basicamente, o seguinte:</p>
<ol>
<li>Os arquivos são criados, modificados ou excluídos</li>
<li>Arquivos que serão incluídos no snapshot são adicionados na área de staging</li>
<li>Snapshot é criado</li>
<li>Adicionar modificações ao banco de dados</li>
<li>Assim, um arquivo vai do estado modificado para staged e então para commited.</li>
</ol>
<p>Esse fluxo também será estudado com detalhes em nossas próximas lições.</p>
<h3>Referências</h3>
<ul>
<li>Tsitoara, M. <em>Beginning Git and GitHub</em>, 1ª edição, 2019. Editora Apress</li>
<li>Schacon, S. <em>Pro Git</em>, 2ª edição. Editora Apress</li>
<li>Git Official Documentation &#8211; <a href="https://git-scm.com/doc" target="_blank" rel="noopener">https://git-scm.com/doc</a></li>
</ul>
<p>No próximo artigo vamos mostrar como baixar e instalar o Git em seu computador.</p>
<p>Enquanto isso, aproveite para assistir ao vídeo introdutório sobre Git da Bóson Treinamentos:</p>
<p><iframe loading="lazy" src="https://www.youtube.com/embed/Cto2h_1U2yo" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/git/introducao-ao-git/">Introdução ao Git</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/git/introducao-ao-git/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
