<?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: João Vitor Retamero</title>
    <description>The latest articles on DEV Community by João Vitor Retamero (@jvretamero).</description>
    <link>https://dev.to/jvretamero</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%2F206172%2Fdd22394d-1aa2-4235-81a0-9c98334ddc51.jpeg</url>
      <title>DEV Community: João Vitor Retamero</title>
      <link>https://dev.to/jvretamero</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jvretamero"/>
    <language>en</language>
    <item>
      <title>Apelidos no Git</title>
      <dc:creator>João Vitor Retamero</dc:creator>
      <pubDate>Wed, 20 Nov 2019 12:24:15 +0000</pubDate>
      <link>https://dev.to/jvretamero/apelidos-no-git-5b10</link>
      <guid>https://dev.to/jvretamero/apelidos-no-git-5b10</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Este post foi originalmente publicado em meu &lt;a href="https://joaoretamero.com.br/git-alias"&gt;site pessoal&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Já executou aquele comando longo no Git várias e várias vezes? Isso pode ser um pouco trabalhoso, mas o Git te fornece uma opção para agilizar o uso no dia-a-dia, são os &lt;code&gt;git alias&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Por que usar apelidos
&lt;/h2&gt;

&lt;p&gt;Talvez você goste de escrever aquele comando cheio de argumentos repetidas vezes, ou se for como eu, prefere algo mais simples.&lt;/p&gt;

&lt;p&gt;Os apelidos trazem simplicidade e produtividade pois nos permitem atribuir um comando longo a um apelido, que é mais simples e memorizável.&lt;/p&gt;

&lt;h2&gt;
  
  
  Configurando apelidos
&lt;/h2&gt;

&lt;p&gt;Os apelidos ficam nos arquivos de configuração do Git, ou seja, podem ser armazenados nas configurações locais (repositório), globals (do usuário) ou do sistema (da máquina, independente de usuário).&lt;/p&gt;

&lt;p&gt;Por estarem localizados nos arquivos de configuração do Git, usamos o comando &lt;code&gt;git config&lt;/code&gt; para criá-los. Neste texto, estarei usando as configurações globais com o argumento &lt;code&gt;--global&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Para definir um apelido, usamos a seguinte sintaxe: &lt;code&gt;git config --global alias.&amp;lt;nome&amp;gt; '&amp;lt;comando&amp;gt;'&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Supondo que você usa o comando &lt;code&gt;git log -5 --oneline&lt;/code&gt; frequentemente, você pode criar um apelido da maneira abaixo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; alias.log5 &lt;span class="s1"&gt;'log -5 --oneline'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Agora você pode usar o comando &lt;code&gt;git log5&lt;/code&gt; que terá o mesmo efeito que o comando &lt;code&gt;git log -5 --oneline&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apelidos são substituições
&lt;/h2&gt;

&lt;p&gt;Se você notar, não é necessário escrever &lt;code&gt;git log -5 --oneline&lt;/code&gt; ao configurar o apelido, omitindo o &lt;code&gt;git&lt;/code&gt; do comando. A configuração do apelido é desta maneira pois no fundo, apelidos são apenas uma substituição. O Git irá substituir o nome do apelido pelo conteúdo.&lt;/p&gt;

&lt;p&gt;Pensando que são apenas uma substituição, você pode evitar a criação de inúmeros apelidos e complementar os apelidos existentes quando necessário.&lt;/p&gt;

&lt;p&gt;Imagine que acabou de criar o apelido &lt;code&gt;log5&lt;/code&gt; e em determinado momento precisa visualizar o grafo, basta adicionar o argumento &lt;code&gt;--graph&lt;/code&gt; ao final do comando.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;git log5 &lt;span class="nt"&gt;--graph&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Que será equivalente ao comando abaixo.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;git log &lt;span class="nt"&gt;-5&lt;/span&gt; &lt;span class="nt"&gt;--oneline&lt;/span&gt; &lt;span class="nt"&gt;--graph&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Assim você pode encurtar alguns comandos longos e também complementá-los sempre que precisar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Indo além das substituições
&lt;/h2&gt;

&lt;p&gt;Os apelidos podem ser muito mais úteis do que meras substituições. Isto porque podemos configurar apelidos com comandos shell, o que abre uma enorme quantidade de possibilidades, como a execução de um script complexo.&lt;/p&gt;

&lt;p&gt;Basta iniciar os comandos dos apelidos com uma exclamação para que o Git não faça a substituição e execute o comando por completo.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Procure configurar seus comandos com aspas simples, assim seu terminal não interpretará o comando de forma indevida&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Um apelido que eu costumo configurar é o &lt;code&gt;fetchb&lt;/code&gt; que faz um &lt;code&gt;git fetch&lt;/code&gt; apenas do branch atual. Mas para descobrir qual branch estamos no momento, usamos o comando &lt;code&gt;git rev-parse --abbrev-ref HEAD&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Então o apelido &lt;code&gt;fetchb&lt;/code&gt; é a combinação de dois comandos: um &lt;code&gt;git fetch&lt;/code&gt; e um &lt;code&gt;git rev-parse&lt;/code&gt;. Esta é uma ótima situação para usar um apelido com o shell.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note que por ser um comando shell, agora precisamos adicionar &lt;code&gt;git&lt;/code&gt; no início dos comandos.&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; alias.fetchb &lt;span class="s1"&gt;'!git fetch origin $(git rev-parse --abbrev-ref HEAD)'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Podemos até invocar arquivos de script como no exemplo abaixo.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; alias.pull-request &lt;span class="s1"&gt;'!~/scripts/pr.sh'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2&gt;
  
  
  Conclusão
&lt;/h2&gt;

&lt;p&gt;Os apelidos no Git podem trazer muita produtividade, não só por substituir comandos longos (e talvez complexos) por nomes pequenos e memorizáveis, mas também por executar comandos shell, que podem ser muito úteis no fluxo desenvolvimento.&lt;/p&gt;

&lt;p&gt;Até mais.&lt;/p&gt;

</description>
      <category>git</category>
      <category>productivity</category>
      <category>ptbr</category>
    </item>
  </channel>
</rss>
