<?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: Vitor Ivan D'Angelo</title>
    <description>The latest articles on DEV Community by Vitor Ivan D'Angelo (@vitordangelo).</description>
    <link>https://dev.to/vitordangelo</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%2F151919%2Fb0f9020b-72e4-440a-9953-8c48c4798468.jpg</url>
      <title>DEV Community: Vitor Ivan D'Angelo</title>
      <link>https://dev.to/vitordangelo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vitordangelo"/>
    <language>en</language>
    <item>
      <title>Minhas notas de estudo sobre Git</title>
      <dc:creator>Vitor Ivan D'Angelo</dc:creator>
      <pubDate>Wed, 20 Nov 2019 13:58:42 +0000</pubDate>
      <link>https://dev.to/vitordangelo/git-e-github-controle-e-compartilhe-seu-codigo-1l4d</link>
      <guid>https://dev.to/vitordangelo/git-e-github-controle-e-compartilhe-seu-codigo-1l4d</guid>
      <description>&lt;h1&gt;
  
  
  Controle de versão
&lt;/h1&gt;

&lt;p&gt;O git é capaz de identificar se a versão do código a ser enviada é a mais recente ou não, caso tenha código mais recente no servidor, as alterações local não serão enviadas até que &lt;strong&gt;o conteúdo local seja atualizado&lt;/strong&gt; com a versão que esta no servidor.&lt;/p&gt;

&lt;h4&gt;
  
  
  Adicionar todos os arquivos:
&lt;/h4&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add .
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  Commit:
&lt;/h4&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit -m "Criando arquivo”
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;A boa prática pede para colocarmos mensagens descritivas, evitando que fiquem muito grandes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Estados:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;HEAD: Estado atual do nosso código, ou seja, onde o Git nos colocou&lt;/li&gt;
&lt;li&gt;Working tree: Local onde os arquivos realmente estão sendo armazenados e editados&lt;/li&gt;
&lt;li&gt;index: Local onde o Git armazena o que será commitado, ou seja, o local entre a working tree e o repositório Git em si.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Lista todos os commits já feitos:
&lt;/h4&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git log
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  Verifica endereço remoto do repositório:
&lt;/h4&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git remote -v
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;O arquivo .gitignore tem uma função especial, de listar os diretórios e arquivos que devem ser ignorados ao realizar o commit.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Envia os arquivos para o repositório remoto:
&lt;/h4&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push origin master
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  Baixa as atualizações presentes no repositório remoto:
&lt;/h4&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git pull
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  Alterar endereço remoto:
&lt;/h4&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git remote set-url origin git@github.com:vitordangelo/xxxx.git
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  Lista todas as branchs:
&lt;/h4&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  Cria novo branch:
&lt;/h4&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch titulo
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  Mudar para determinada branch:
&lt;/h4&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout titulo
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  Cria uma nova branch e já muda pra ela:
&lt;/h4&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout -b lista
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  Commit pra juntar os arquivos de um branch com o master:
&lt;/h4&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit merge homologation
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Gerar um commit a mais, de merge, dependendo da estratégia utilizada para gerar os commits, isto pode acabar atrapalhando ou "poluindo" o log.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;git rebase titulo, e o Git pegará os commits na branch título, atualizando master, que possui todos os commits contidos em titulo, além do commit que havia nela mesma. Deste modo, geramos uma única linha, sem confusões.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Juntar todos os commits em uma branch:
&lt;/h4&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git rebase titulo
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  Salva as alterações em um local temporário sem fazer commit:
&lt;/h4&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git stash
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  Lista todas as alterações salvas em stash:
&lt;/h4&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git stash list
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  Recupera as modificações salvas na stash:
&lt;/h4&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git stash apply 0
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  Recupera as modificações da stash e a remove da lista:
&lt;/h4&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git stash pop
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  Viaja no tempo, indo para o estágio desejado:
&lt;/h4&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout ea539b3
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  Volta para o estágio atual:
&lt;/h4&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout master
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  Juntar commits:
&lt;/h4&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git rebase -i ea539b3 (até que nível deseja juntar)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Para fazermos isto, substituiremos os pick por s&lt;br&gt;
Com isso, os commits se tornarão um só, o único que possui pick&lt;/p&gt;

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