<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Debora Cristina</title>
    <description>The latest articles on DEV Community by Debora Cristina (@fcristinadebora).</description>
    <link>https://dev.to/fcristinadebora</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F672678%2F038c79ec-d44f-4220-b8ec-a0094f5dbbf3.png</url>
      <title>DEV Community: Debora Cristina</title>
      <link>https://dev.to/fcristinadebora</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fcristinadebora"/>
    <language>en</language>
    <item>
      <title>Primeiros passos em versionamento de código com Git e Github</title>
      <dc:creator>Debora Cristina</dc:creator>
      <pubDate>Thu, 19 Aug 2021 20:22:28 +0000</pubDate>
      <link>https://dev.to/fcristinadebora/primeiros-passos-em-versionamento-de-codigo-com-git-e-github-49ld</link>
      <guid>https://dev.to/fcristinadebora/primeiros-passos-em-versionamento-de-codigo-com-git-e-github-49ld</guid>
      <description>&lt;p&gt;Olá!&lt;/p&gt;

&lt;p&gt;Nesse post vou apresentar um tutorial para guiar iniciantes em seus primeiros passos com versionamento de código, utilizando o software Git e a plataforma Github.&lt;/p&gt;

&lt;h1&gt;
  
  
  Introdução
&lt;/h1&gt;

&lt;p&gt;Antes de fazer, precisamos conhecer alguns conceitos, para entendermos o que estamos fazendo.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que é versionamento de código?
&lt;/h2&gt;

&lt;p&gt;Antes de mais nada, precisamos entender o que é versionamento de código. Vamos a um exemplo:&lt;/p&gt;

&lt;p&gt;Imagine que você está escrevendo um programa e precisa editar um arquivo, porém, você quer manter uma cópia da versão anterior desse arquivo como segurança. Desse modo, você pode retomar seu arquivo da versão anterior, caso algo em sua alteração dê errado, ou por algum motivo você queira voltar para a versão anterior.&lt;/p&gt;

&lt;p&gt;Vamos supor que o seu arquivo se chame &lt;code&gt;main.py&lt;/code&gt;. Você já construiu bastante coisa, e não gostaria de perder seu progresso caso algo de errado. Por isso, você cria uma cópia desse arquivo, a chama de &lt;code&gt;main_estavel.py&lt;/code&gt;, e continua editando o arquivo &lt;code&gt;main.py&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Isso é versionamento de código :)&lt;br&gt;
Você está criando versões do seu código, mesmo que não sendo da melhor forma, mas está.&lt;/p&gt;

&lt;h2&gt;
  
  
  E qual o problema de versionar código criando cópias físicas para cada alteração?
&lt;/h2&gt;

&lt;p&gt;Imagine que você continuou trabalhando nesse mesmo programa por mais alguns dias e foi criando várias cópias desse arquivo. Quando você olha para sua pasta, ela está assim:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbl3hegd6buzfvwryyvyr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbl3hegd6buzfvwryyvyr.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Alguns dias depois, você volta a mexer nesse mesmo projeto e se depara com alguns problemas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Você não sabe mais qual é a versão mais recente do arquivo&lt;/li&gt;
&lt;li&gt;Você não sabe qual a diferença entre cada versão do arquivo&lt;/li&gt;
&lt;li&gt;Você não sabe em qual delas está aquela alteração específica que você fez&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;etc.&lt;/p&gt;

&lt;p&gt;Agora imagine isso em um sistema de grande porte, com centenas de arquivos e pastas, mantido por uma equipe de vários desenvolvedores. Alguns desses desenvolvedores já até saíram da empresa, e não se tem mais contato com eles. E imagine que todo esse sistema foi versionado dessa forma, criando cópias de segurança de cada arquivo. Complexo, não é?&lt;/p&gt;

&lt;h2&gt;
  
  
  A solução para seus problemas
&lt;/h2&gt;

&lt;p&gt;E se eu disser que esse problema é um problema comum? E que existe uma ferramenta que facilita a vida de pessoas desenvolvedoras ao redor do mundo, ajudando a resolver esse problema?&lt;/p&gt;

&lt;p&gt;Essa ferramenta existe, e ela se chama ✨&lt;a href="https://git-scm.com/" rel="noopener noreferrer"&gt;Git&lt;/a&gt;✨&lt;/p&gt;

&lt;h1&gt;
  
  
  O que é Git?
&lt;/h1&gt;

&lt;p&gt;De acordo com o &lt;a href="https://git-scm.com/" rel="noopener noreferrer"&gt;site oficial&lt;/a&gt;, Git é uma ferramenta de versionamento, projetada para suportar de pequenos a grandes projetos com velocidade e eficiência.&lt;/p&gt;

&lt;p&gt;Na prática, as pessoas desenvolvedoras têm o Git instalado em seus computadores e o utilizam para versionar o código de um programa em um repositório, integrando seu trabalho com o de seus colegas de equipe.&lt;/p&gt;

&lt;h2&gt;
  
  
  Plataformas baseadas em Git
&lt;/h2&gt;

&lt;p&gt;É comum em equipes que utilizam Git para versionar código, que esse código seja centralizado em um local que pode ser um servidor próprio, ou uma &lt;strong&gt;plataforma baseada em git&lt;/strong&gt;. Vale destacar que a larga maioria prefere utilizar plataformas baseadas em git, que são programas que poupam o esforço de configurar de um servidor git, além de apresentarem diversas outras funcionalidades.&lt;/p&gt;

&lt;p&gt;Algumas plataformas baseadas em Git mais populares, utilizadas nas empresas e em demais projetos de software, são:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/" rel="noopener noreferrer"&gt;Github&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://about.gitlab.com/" rel="noopener noreferrer"&gt;Gitlab&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bitbucket.org/product/" rel="noopener noreferrer"&gt;Bitbucket&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cada uma delas apresenta ferramentas que vão além do versionamento de código. Nesse tutorial iremos utilizar o Github&lt;/p&gt;

&lt;h1&gt;
  
  
  Mão na massa (prática)
&lt;/h1&gt;

&lt;h3&gt;
  
  
  Crie uma conta no github
&lt;/h3&gt;

&lt;p&gt;Para utilizar o Github, é necessário criar uma conta no Github. Para isso, acesse &lt;a href="https://github.com/" rel="noopener noreferrer"&gt;https://github.com/&lt;/a&gt;, crie uma conta e realize o login.&lt;/p&gt;

&lt;p&gt;Vídeo: &lt;a href="https://youtu.be/rP_S7UmbXUk" rel="noopener noreferrer"&gt;https://youtu.be/rP_S7UmbXUk&lt;/a&gt;&lt;br&gt;
No vídeo acima, realizo os seguintes passos:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Baixando o Git no site oficial (&lt;a href="https://git-scm.com/" rel="noopener noreferrer"&gt;https://git-scm.com/&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Configurando o Git
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; user.name &lt;span class="s2"&gt;"Seu Nome"&lt;/span&gt;
git config &lt;span class="nt"&gt;--global&lt;/span&gt; user.email &lt;span class="s2"&gt;"exemplo@seuemail.com.br"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Criar um novo repositório remoto&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Criar um novo repositório local&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clonar um repositório&lt;/li&gt;
&lt;li&gt;Criar arquivos e enviá-los para o Github&lt;/li&gt;
&lt;li&gt;Alterar arquivos e enviá-los para o Github&lt;/li&gt;
&lt;li&gt;Baixar alterações do Github&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Criar um repositório para um projeto já existente&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fazer de uma pasta um repositório&lt;/li&gt;
&lt;li&gt;Configurar o repositório local para utilizar o repositório remoto&lt;/li&gt;
&lt;li&gt;Enviar os arquivos para o Github&lt;/li&gt;
&lt;li&gt;Enviar alterações para o Github&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Outros links
&lt;/h3&gt;

&lt;p&gt;GIT Tutorial Para Iniciantes - &lt;a href="https://www.hostinger.com.br/tutoriais/tutorial-do-git-basics-introducao" rel="noopener noreferrer"&gt;https://www.hostinger.com.br/tutoriais/tutorial-do-git-basics-introducao&lt;/a&gt;&lt;br&gt;
Git - Guia prático - Sem complicação - &lt;a href="https://rogerdudler.github.io/git-guide/index.pt_BR.html" rel="noopener noreferrer"&gt;https://rogerdudler.github.io/git-guide/index.pt_BR.html&lt;/a&gt;&lt;br&gt;
ADICIONAR À FILA&lt;br&gt;
Workshop de Git e GitHub na prática - &lt;a href="https://www.youtube.com/watch?v=Gzx45zj69h4&amp;amp;t=3s" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=Gzx45zj69h4&amp;amp;t=3s&lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
