<?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: Gustavo Dias Alexandre</title>
    <description>The latest articles on DEV Community by Gustavo Dias Alexandre (@gfda).</description>
    <link>https://dev.to/gfda</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%2F479622%2F3fdddece-7cda-4111-bbbd-60bd0b0ee38b.png</url>
      <title>DEV Community: Gustavo Dias Alexandre</title>
      <link>https://dev.to/gfda</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gfda"/>
    <language>en</language>
    <item>
      <title>Contribuindo com Projetos Open Source</title>
      <dc:creator>Gustavo Dias Alexandre</dc:creator>
      <pubDate>Wed, 29 Sep 2021 22:54:38 +0000</pubDate>
      <link>https://dev.to/gfda/contribuindo-com-projetos-open-source-4o9n</link>
      <guid>https://dev.to/gfda/contribuindo-com-projetos-open-source-4o9n</guid>
      <description>&lt;p&gt;Para quem está começando à descobrir o incrível mundo do código aberto (&lt;em&gt;open source&lt;/em&gt;), quer ser relevante e contribuir de alguma forma mas, não sabe por onde começar.&lt;/p&gt;

&lt;p&gt;Neste tutorial, eu tento passar de forma simples os mecanismos básicos para um bom PR (&lt;em&gt;pull request&lt;/em&gt;).&lt;/p&gt;

&lt;p&gt;Alguns pontos importantes devem ser levados em consideração:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Ambiente Git;&lt;/li&gt;
&lt;li&gt;Conta no Github;&lt;/li&gt;
&lt;li&gt;
Conhecer e curtir a proposta do projeto;&lt;/li&gt;
&lt;li&gt;
Fork Clone Branch Add Commit Push PR;&lt;/li&gt;
&lt;li&gt;
Sincronizar o fork.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Este tutorial vai ser focado nos pontos 3, 4 e 5. Os dois primeiros são pré requisitos para os seguintes, mas não serão os pontos-chave.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conhecer e curtir a proposta do projeto
&lt;/h2&gt;

&lt;p&gt;Antes de tudo, é legal se identificar com a ideia do projeto, gosto de pensar que "sempre curti utilizar as ferramentas A, B ou C. Vi que elas têm código aberto, vai ser massa contribuir!". Até nos repositórios mais simples, é sempre bom estar em harmonia com a finalidade do projeto e gostar de ajudar.&lt;/p&gt;

&lt;p&gt;Outro ponto importantíssimo é ler a documentação e os guias de contribuição, cada repositório tem seus &lt;em&gt;guidelines&lt;/em&gt;, &lt;em&gt;how do I contribute?&lt;/em&gt;, &lt;em&gt;contributing.md&lt;/em&gt;... Então, antes de sair abrindo PRs, é essencial consultar como o &lt;em&gt;pull request&lt;/em&gt; deve ser feito.&lt;/p&gt;

&lt;p&gt;Aqui vamos tratar apenas do  fluxo básico (caminho feliz).&lt;/p&gt;

&lt;h2&gt;
  
  
  Fork Clone Branch Add Commit Push PR
&lt;/h2&gt;

&lt;p&gt;Estas são as etapas básicas para trabalhar com repositórios, que vai desde a duplicação, modificação até a solicitação de alterações no código original.&lt;/p&gt;

&lt;h3&gt;
  
  
  Fork
&lt;/h3&gt;

&lt;p&gt;Escolhido o repositório, é hora de fazer o seu &lt;strong&gt;Fork&lt;/strong&gt;!&lt;/p&gt;

&lt;p&gt;Um fork/bifurcação nada mais é que uma cópia de um repositório, logo é possível trabalhar e fazer alterações em um repositório bifurcado ("forkado" hahahaha), sem que estas mudanças altere o repo original diretamente.&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%2Fi.ibb.co%2F9g4QSJP%2Ffork-image.jpg" 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%2Fi.ibb.co%2F9g4QSJP%2Ffork-image.jpg" alt="fork image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feito o fork, haverá um novo repositório criado a partir do original.&lt;/p&gt;

&lt;p&gt;É hora de clonar este novo repo!&lt;/p&gt;

&lt;h3&gt;
  
  
  Clone
&lt;/h3&gt;

&lt;p&gt;Para trabalhar localmente no projeto, é necessário cloná-lo para o seu ambiente (É possível fazer alterações diretamente no browser pelo github, na maioria das vezes não é tão recomendado).&lt;/p&gt;

&lt;p&gt;Dentre as opções, dá para clonar via HTTP, SSH ou GitHub CLI. Escrevi um outro material sobre &lt;a href="https://gist.github.com/gfda/858e71dad5765c564c8a1a7c5f812d5e" rel="noopener noreferrer"&gt;como criar e vincular chaves ssh com o github.&lt;/a&gt;&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%2Fi.ibb.co%2FtZzgRbb%2Fclone-image.jpg" 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%2Fi.ibb.co%2FtZzgRbb%2Fclone-image.jpg" alt="clone image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clone via ssh:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;gustavo@linux:~$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;git clone &amp;lt;link-repo-fork&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;gustavo@linux:~$ git clone &lt;a href="mailto:git@github.com"&gt;git@github.com&lt;/a&gt;:gfda/gfda.git&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Branch
&lt;/h3&gt;

&lt;p&gt;Geralmente, em projetos compartilhados, alterações de código não são feitas diretamente na branch principal (&lt;em&gt;main&lt;/em&gt;). Então, uma boa prática é criar uma branch(ramificação) específica para receber as mudanças. Cada projeto tem suas regras para criação, padrões de nomenclatura, uso de branchs... Isto reforça a necessidade de estar em sincronia com os guias do repo.&lt;/p&gt;

&lt;p&gt;Para entender mais sobre branches, fica o link da documentação do &lt;a href="https://git-scm.com/book/pt-br/v2/Branches-no-Git-Branches-em-poucas-palavras" rel="noopener noreferrer"&gt;git&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Criando a branch:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;gustavo@linux:~$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;git branch &amp;lt;nome-da-nova-branch&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Mudando para branch:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;gustavo@linux:~$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;git chcekout &amp;lt;nome-da-nova-branch&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Dica:&lt;br&gt;
É possível combinar os dois comandos acima em um único comando git.&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;gustavo@linux:~$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;git checkout &lt;span class="nt"&gt;-b&lt;/span&gt; &amp;lt;nome-da-nova-branch&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Add -&amp;gt; Commit -&amp;gt; Push -&amp;gt; PULL REQUEST
&lt;/h3&gt;

&lt;p&gt;Já na nova branch, é hora de trabalhar no código!&lt;/p&gt;

&lt;p&gt;Cada repositório tem suas regras de &lt;em&gt;commits&lt;/em&gt; (ressalto a importância de ler a documentação), mas não é uma boa prática ter grandes mudanças em um único commit/PR. Muitos projetos adotam um &lt;em&gt;pull request&lt;/em&gt; por commit, então se houver a necessidade de grande alteração de código, quebrar em commits menores (separando por lógica) facilita para quem vai revisar e aumenta as chances de ser aceito.&lt;/p&gt;

&lt;p&gt;Após a inserção do novo código, deve ser feita a sequência para aplicar tais mudanças.&lt;/p&gt;

&lt;p&gt;Adicionar o(s) arquivo(s) modificado(s) (&lt;em&gt;Add&lt;/em&gt;), &lt;em&gt;Commit&lt;/em&gt; com mensagem que sintetize, de forma clara, a mudança.&lt;br&gt;
Por último, é hora de enviar as alterações para o repo remoto (&lt;em&gt;push&lt;/em&gt;).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;gustavo@linux:~$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;git add &amp;lt;arquivo&lt;span class="o"&gt;(&lt;/span&gt;s&lt;span class="o"&gt;)&lt;/span&gt; alterado&lt;span class="o"&gt;(&lt;/span&gt;s&lt;span class="o"&gt;)&amp;gt;&lt;/span&gt;
&lt;span class="go"&gt;
&lt;/span&gt;&lt;span class="gp"&gt;gustavo@linux:~$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &amp;lt;Mensagem da mudança&amp;gt;
&lt;span class="go"&gt;
&lt;/span&gt;&lt;span class="gp"&gt;gustavo@linux:~$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;git push origin &amp;lt;nome-da-nova-branch&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Já no GitHub, a alteração será reconhecida e irá trazer a opção de comparar e abrir o PR (&lt;em&gt;pull request&lt;/em&gt;).&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%2Fi.ibb.co%2FW5rZwvp%2Fcompare-pull-request.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%2Fi.ibb.co%2FW5rZwvp%2Fcompare-pull-request.png" alt="pull request image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para mais detalhes sobre o &lt;a href="https://blog.da2k.com.br/2015/02/04/git-e-github-do-clone-ao-pull-request/" rel="noopener noreferrer"&gt;Pull Request&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sincronizar o fork
&lt;/h2&gt;

&lt;p&gt;Agora que já fez o &lt;em&gt;pull request&lt;/em&gt; (e ele foi aceito! :D), sabendo que já curtiu a proposta do projeto, é interessante manter o fork sincronizado com as atualizações do repositório principal.&lt;/p&gt;

&lt;p&gt;O primeiro passo é adicionar o repo principal, com um nome diferente do fork (após clonar o fork com &lt;strong&gt;git clone&lt;/strong&gt;, o repositório remoto é nomeado de &lt;em&gt;origin&lt;/em&gt;), é comum nomear como &lt;em&gt;upstream&lt;/em&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;gustavo@linux:~$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;git remote add upstream &amp;lt;link-repo-principal&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Então, basta sincronizar o repo local/fork com o principal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;gustavo@linux:~$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;git fetch upstream
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;E, por fim, fazer o &lt;em&gt;merge&lt;/em&gt; entre as branchs:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;gustavo@linux:~$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;git merge upstream/&amp;lt;branch-principal&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;É ISTO!&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Dica
&lt;/h2&gt;

&lt;p&gt;Já tá rolando a contagem regressiva para o &lt;a href="https://hacktoberfest.digitalocean.com/" rel="noopener noreferrer"&gt;hacktoberfest 2021&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Autor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/gustavo-dias-alexandre-543568157/" rel="noopener noreferrer"&gt;Gustavo Dias A.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Referências
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.da2k.com.br/2015/02/04/git-e-github-do-clone-ao-pull-request/" rel="noopener noreferrer"&gt;Blog DA2k - Git e Github - Do clone ao pull request&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.da2k.com.br/2014/01/19/manter-repositorio-github-forkado-sincronizado-com-o-original/" rel="noopener noreferrer"&gt;Blog DA2k - Manter repositório do Github forkado sincronizado com o original&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.github.com/pt/free-pro-team@latest/github/getting-started-with-github/fork-a-repo" rel="noopener noreferrer"&gt;Github Docs - Fork a repo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>opensource</category>
      <category>github</category>
      <category>git</category>
      <category>hacktoberfest</category>
    </item>
    <item>
      <title>Gerando chave SSH - Github</title>
      <dc:creator>Gustavo Dias Alexandre</dc:creator>
      <pubDate>Wed, 29 Sep 2021 22:42:10 +0000</pubDate>
      <link>https://dev.to/gfda/gerando-chave-ssh-github-1n9n</link>
      <guid>https://dev.to/gfda/gerando-chave-ssh-github-1n9n</guid>
      <description>&lt;p&gt;Para vincular um repositório local (git) à um repositório remoto (github) sem a necessidade de fornecer as credenciais a cada atualização, é possível adicionar a máquina local via SSH.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setup
&lt;/h2&gt;

&lt;p&gt;Este tutorial é baseado no sistema operacional Linux.&lt;/p&gt;

&lt;h2&gt;
  
  
  Gerando chave SSH
&lt;/h2&gt;

&lt;p&gt;No terminal, utilize o ssh-keygen para gerar uma chave pública com as credenciais desejadas.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;gustavo@linux:~$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;ssh-keygen &lt;span class="nt"&gt;-t&lt;/span&gt; rsa &lt;span class="nt"&gt;-b&lt;/span&gt; 4096 &lt;span class="nt"&gt;-C&lt;/span&gt; &lt;span class="s2"&gt;"seu_email@mail.com"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Será criada uma nova chave ssh, utilizando o email fornecido.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt; Generating public/private rsa key pair.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Será exibida uma mensagem para definir um arquivo onde a chave será salva. Por padrão, o sistema define ~/.ssh/id_rsa como o local para o arquivo, basta pressionar enter.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt; Enter a file in which to save the key (/home/you/.ssh/id_rsa): [Press enter]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;O próximo passo é definir uma senha. Caso deseja não utilizar senha, basta deixar vazio e pressionar enter.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt; Enter passphrase (empty for no passphrase): [Type a passphrase]
&amp;gt; Enter same passphrase again: [Type passphrase again]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;É possível checar, no próprio terminal ou em algum editor de texto, a chave criada.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;gustavo@linux:~$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;cat&lt;/span&gt; ~/.ssh/id_rsa.pub
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Adicionando chave ao Github
&lt;/h2&gt;

&lt;p&gt;Após a criação das chaves SSH, é hora de adicioná-las ao Github.&lt;/p&gt;

&lt;p&gt;Na página de configurações&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%2Fi.ibb.co%2FTRmmbGN%2Fgithub-home-settings.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%2Fi.ibb.co%2FTRmmbGN%2Fgithub-home-settings.png" alt="github home settings"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Vá para a sessão de "&lt;em&gt;SSH and GPG Keys&lt;/em&gt;"&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%2Fi.ibb.co%2FSBhVjv2%2Fgithub-profile-ssh.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%2Fi.ibb.co%2FSBhVjv2%2Fgithub-profile-ssh.png" alt="github profile ssh"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;E, crie uma nova chave (&lt;em&gt;New SSH key&lt;/em&gt;)&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%2Fi.ibb.co%2FqkDgLdm%2Fgithub-ssh-keys.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%2Fi.ibb.co%2FqkDgLdm%2Fgithub-ssh-keys.png" alt="github ssh keys"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Basta definir um título, a sua escolha, copiar e colar a chave gerada na sessão anterior (~/.ssh/id_rsa_pub).&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%2Fi.ibb.co%2FLrz8G4Z%2Fgithub-add-new-key.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%2Fi.ibb.co%2FLrz8G4Z%2Fgithub-add-new-key.png" alt="github add new key"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;tip:&lt;/em&gt; É legal ter títulos que remetam de alguma forma à máquina que está sendo utilizada, e a sua finalidade (home, work...).&lt;/p&gt;

&lt;h2&gt;
  
  
  É isto
&lt;/h2&gt;

&lt;p&gt;Por fim, se o processo foi executado corretamente, já deve ser possível fazer &lt;strong&gt;git pull&lt;/strong&gt; e &lt;strong&gt;git push&lt;/strong&gt; da máquina local para o repositório remoto.&lt;/p&gt;

&lt;h2&gt;
  
  
  Autor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/gustavo-dias-alexandre-543568157/" rel="noopener noreferrer"&gt;Gustavo Dias A.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Referências
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent#adding-your-ssh-key-to-the-ssh-agent" rel="noopener noreferrer"&gt;Github Help&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/playlist?list=PLlAbYrWSYTiPA2iEiQ2PF_A9j__C4hi0A" rel="noopener noreferrer"&gt;Willian Justen&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>github</category>
      <category>git</category>
      <category>ssh</category>
      <category>hacktoberfest</category>
    </item>
    <item>
      <title>Useful plugins to VS Code</title>
      <dc:creator>Gustavo Dias Alexandre</dc:creator>
      <pubDate>Wed, 29 Sep 2021 22:36:35 +0000</pubDate>
      <link>https://dev.to/gfda/useful-plugins-to-vs-code-32o5</link>
      <guid>https://dev.to/gfda/useful-plugins-to-vs-code-32o5</guid>
      <description>&lt;p&gt;Some useful plugins/extensions for VSCode IDE.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tip
&lt;/h2&gt;

&lt;p&gt;To install the plugins quickly, launch VS Code Quick Open (Ctrl + P), paste the command and press Enter.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ext &lt;span class="nb"&gt;install&lt;/span&gt; &amp;lt;plugin&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Extensions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Generic
&lt;/h3&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%2Fhookyqr.gallerycdn.vsassets.io%2Fextensions%2Fhookyqr%2Fbeautify%2F1.5.0%2F1556863124877%2FMicrosoft.VisualStudio.Services.Icons.Default" 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%2Fhookyqr.gallerycdn.vsassets.io%2Fextensions%2Fhookyqr%2Fbeautify%2F1.5.0%2F1556863124877%2FMicrosoft.VisualStudio.Services.Icons.Default" alt="beautify-logo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=hookyqr.beautify" rel="noopener noreferrer"&gt;Beautify - HookyQR&lt;/a&gt; - Beautify code in place for VS Code.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ext &lt;span class="nb"&gt;install &lt;/span&gt;HookyQR.beautify
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fformulahendry.gallerycdn.vsassets.io%2Fextensions%2Fformulahendry%2Fcode-runner%2F0.11.5%2F1625846902825%2FMicrosoft.VisualStudio.Services.Icons.Default" 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%2Fformulahendry.gallerycdn.vsassets.io%2Fextensions%2Fformulahendry%2Fcode-runner%2F0.11.5%2F1625846902825%2FMicrosoft.VisualStudio.Services.Icons.Default" alt="code-runner-logo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner" rel="noopener noreferrer"&gt;Code Runner - Jun Han&lt;/a&gt; - Run code snippet or code file for multiple languages.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ext &lt;span class="nb"&gt;install &lt;/span&gt;formulahendry.code-runner
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fkisstkondoros.gallerycdn.vsassets.io%2Fextensions%2Fkisstkondoros%2Fvscode-codemetrics%2F1.24.0%2F1581861683608%2FMicrosoft.VisualStudio.Services.Icons.Default" 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%2Fkisstkondoros.gallerycdn.vsassets.io%2Fextensions%2Fkisstkondoros%2Fvscode-codemetrics%2F1.24.0%2F1581861683608%2FMicrosoft.VisualStudio.Services.Icons.Default" alt="codemetrics-logo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=kisstkondoros.vscode-codemetrics" rel="noopener noreferrer"&gt;CodeMetrics - Kiss Tamás&lt;/a&gt; - Computes complexity in TypeScript / JavaScript / Lua files.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ext &lt;span class="nb"&gt;install &lt;/span&gt;kisstkondoros.vscode-codemetrics
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fdbaeumer.gallerycdn.vsassets.io%2Fextensions%2Fdbaeumer%2Fvscode-eslint%2F2.1.23%2F1623763213709%2FMicrosoft.VisualStudio.Services.Icons.Default" 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%2Fdbaeumer.gallerycdn.vsassets.io%2Fextensions%2Fdbaeumer%2Fvscode-eslint%2F2.1.23%2F1623763213709%2FMicrosoft.VisualStudio.Services.Icons.Default" alt="eslint-logo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint" rel="noopener noreferrer"&gt;ESLint - Dirk Baeumer&lt;/a&gt; - Integrates ESLint JavaScript into VS Code.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ext &lt;span class="nb"&gt;install &lt;/span&gt;dbaeumer.vscode-eslint
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Feamodio.gallerycdn.vsassets.io%2Fextensions%2Feamodio%2Fgitlens%2F11.6.0%2F1626155623749%2FMicrosoft.VisualStudio.Services.Icons.Default" 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%2Feamodio.gallerycdn.vsassets.io%2Fextensions%2Feamodio%2Fgitlens%2F11.6.0%2F1626155623749%2FMicrosoft.VisualStudio.Services.Icons.Default" alt="gitlens-logo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens" rel="noopener noreferrer"&gt;GitLens - Eric Amodio&lt;/a&gt; - Supercharge the Git capabilities built into Visual Studio Code.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ext &lt;span class="nb"&gt;install &lt;/span&gt;eamodio.gitlens
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fvscode-icons-team.gallerycdn.vsassets.io%2Fextensions%2Fvscode-icons-team%2Fvscode-icons%2F11.6.0%2F1627842034344%2FMicrosoft.VisualStudio.Services.Icons.Default" 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%2Fvscode-icons-team.gallerycdn.vsassets.io%2Fextensions%2Fvscode-icons-team%2Fvscode-icons%2F11.6.0%2F1627842034344%2FMicrosoft.VisualStudio.Services.Icons.Default" alt="vscode-icons-logo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=vscode-icons-team.vscode-icons" rel="noopener noreferrer"&gt;vscode-icons - VSCode Icons Team&lt;/a&gt; - Icons for Visual Studio Code.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ext &lt;span class="nb"&gt;install &lt;/span&gt;vscode-icons-team.vscode-icons
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  For specific languages
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Python
&lt;/h4&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%2Fms-toolsai.gallerycdn.vsassets.io%2Fextensions%2Fms-toolsai%2Fjupyter%2F2021.8.2031190714%2F1630510735725%2FMicrosoft.VisualStudio.Services.Icons.Default" 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%2Fms-toolsai.gallerycdn.vsassets.io%2Fextensions%2Fms-toolsai%2Fjupyter%2F2021.8.2031190714%2F1630510735725%2FMicrosoft.VisualStudio.Services.Icons.Default" alt="jupyter-logo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter" rel="noopener noreferrer"&gt;Jupyter - Microsoft&lt;/a&gt; - Jupyter notebook support, interactive programming and computing that supports Intellisense, debugging and more.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ext &lt;span class="nb"&gt;install &lt;/span&gt;ms-toolsai.jupyter
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fms-python.gallerycdn.vsassets.io%2Fextensions%2Fms-python%2Fvscode-pylance%2F2021.9.0%2F1630532091739%2FMicrosoft.VisualStudio.Services.Icons.Default" 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%2Fms-python.gallerycdn.vsassets.io%2Fextensions%2Fms-python%2Fvscode-pylance%2F2021.9.0%2F1630532091739%2FMicrosoft.VisualStudio.Services.Icons.Default" alt="pylance-logo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance" rel="noopener noreferrer"&gt;Pylance - Microsoft&lt;/a&gt; - A performant, feature-rich language server for Python in VS Code.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ext &lt;span class="nb"&gt;install  &lt;/span&gt;ms-python.vscode-pylance
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fms-python.gallerycdn.vsassets.io%2Fextensions%2Fms-python%2Fpython%2F2021.9.1191016588%2F1630602439866%2FMicrosoft.VisualStudio.Services.Icons.Default" 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%2Fms-python.gallerycdn.vsassets.io%2Fextensions%2Fms-python%2Fpython%2F2021.9.1191016588%2F1630602439866%2FMicrosoft.VisualStudio.Services.Icons.Default" alt="python-logo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=ms-python.python" rel="noopener noreferrer"&gt;Python - Microsoft&lt;/a&gt; - IntelliSense (Pylance), Linting, Debugging (multi-threaded, remote), Jupyter Notebooks, code formatting, refactoring, unit tests, and more.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ext &lt;span class="nb"&gt;install &lt;/span&gt;ms-python.python
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  SQL
&lt;/h4&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%2Falexcvzz.gallerycdn.vsassets.io%2Fextensions%2Falexcvzz%2Fvscode-sqlite%2F0.13.0%2F1623591252547%2FMicrosoft.VisualStudio.Services.Icons.Default" 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%2Falexcvzz.gallerycdn.vsassets.io%2Fextensions%2Falexcvzz%2Fvscode-sqlite%2F0.13.0%2F1623591252547%2FMicrosoft.VisualStudio.Services.Icons.Default" alt="sqlite-logo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite" rel="noopener noreferrer"&gt;SQLite - alexcvzz&lt;/a&gt; - Explore and query SQLite databases.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ext &lt;span class="nb"&gt;install &lt;/span&gt;alexcvzz.vscode-sqlite
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Markdown
&lt;/h4&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%2Fdavidanson.gallerycdn.vsassets.io%2Fextensions%2Fdavidanson%2Fvscode-markdownlint%2F0.43.2%2F1627962182690%2FMicrosoft.VisualStudio.Services.Icons.Default" 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%2Fdavidanson.gallerycdn.vsassets.io%2Fextensions%2Fdavidanson%2Fvscode-markdownlint%2F0.43.2%2F1627962182690%2FMicrosoft.VisualStudio.Services.Icons.Default" alt="markdownlint-logo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=davidanson.vscode-markdownlint" rel="noopener noreferrer"&gt;markdownlint - David Anson&lt;/a&gt; - Markdown linting and style checking for Visual Studio Code.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ext &lt;span class="nb"&gt;install &lt;/span&gt;DavidAnson.vscode-markdownlint
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Themes
&lt;/h2&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%2Fdracula-theme.gallerycdn.vsassets.io%2Fextensions%2Fdracula-theme%2Ftheme-dracula%2F2.24.0%2F1630671466069%2FMicrosoft.VisualStudio.Services.Icons.Default" 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%2Fdracula-theme.gallerycdn.vsassets.io%2Fextensions%2Fdracula-theme%2Ftheme-dracula%2F2.24.0%2F1630671466069%2FMicrosoft.VisualStudio.Services.Icons.Default" alt="dracula-theme-logo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=dracula-theme.theme-dracula" rel="noopener noreferrer"&gt;Dracula Official - Dracula Theme&lt;/a&gt; - Official Dracula Theme. A dark theme for many editors, shells, and more.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ext &lt;span class="nb"&gt;install &lt;/span&gt;dracula-theme.theme-dracula
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Frocketseat.gallerycdn.vsassets.io%2Fextensions%2Frocketseat%2Ftheme-omni%2F1.0.10%2F1615217238337%2FMicrosoft.VisualStudio.Services.Icons.Default" 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%2Frocketseat.gallerycdn.vsassets.io%2Fextensions%2Frocketseat%2Ftheme-omni%2F1.0.10%2F1615217238337%2FMicrosoft.VisualStudio.Services.Icons.Default" alt="theme-omni-logo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=rocketseat.theme-omni" rel="noopener noreferrer"&gt;Omni Theme - RocketSeat&lt;/a&gt; - A dark theme made by Rocketseat.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ext &lt;span class="nb"&gt;install &lt;/span&gt;rocketseat.theme-omni
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Author
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/gustavo-dias-alexandre-543568157/" rel="noopener noreferrer"&gt;Gustavo Dias A.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>extensions</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
