<?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>Forem: Antonio Lisbôa</title>
    <description>The latest articles on Forem by Antonio Lisbôa (@note45).</description>
    <link>https://forem.com/note45</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%2F369245%2F1ada200c-6628-49f2-801d-3f1f31a3d344.jpeg</url>
      <title>Forem: Antonio Lisbôa</title>
      <link>https://forem.com/note45</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/note45"/>
    <language>en</language>
    <item>
      <title>Git: Introdução à Ferramenta</title>
      <dc:creator>Antonio Lisbôa</dc:creator>
      <pubDate>Fri, 03 Jul 2020 19:49:27 +0000</pubDate>
      <link>https://forem.com/note45/git-introducao-a-ferramenta-3fl7</link>
      <guid>https://forem.com/note45/git-introducao-a-ferramenta-3fl7</guid>
      <description>&lt;p&gt;Git é um sistema de versionamento de código open-source muito utilizado em todo o mundo. Para saber mais sobre sua  importância em todas as áreas do desenvolvimento e porque ele ficou tão popular, acesse meu outro artigo &lt;a href="https://dev.to/note45/git-no-mundo-do-desenvolvimento-dah"&gt;Git no mundo do desenvolvimento&lt;/a&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  Começando com o Git
&lt;/h2&gt;

&lt;p&gt;Antes de tudo é necessário instalar o git na sua máquina, acesse o &lt;a href="https://git-scm.com/downloads"&gt;link&lt;/a&gt; e siga os passos para seu ambiente. É possível realizar a instalação para os principais sistemas operacionais disponíveis no mercado, entre eles Windows, Linux e Mac OS X.&lt;/p&gt;

&lt;p&gt;Após realizar a instalação abra o seu terminal padrão, seja ele CMD, Power Shell, Bash ou Terminal no Mac, e digite: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;git --version&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;O terminal deve retornar algo semelhante a isso: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;git version 2.25.1.windows.1&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Não se preocupe se o retorno do seu terminal não for exatamente igual ao citado acima, o importante é que não aparece nenhum erro na sua tela.&lt;/p&gt;

&lt;p&gt;Para você ir para a próxima parte de configurações, primeiro crie uma conta no &lt;a href="https://github.com"&gt;Github&lt;/a&gt;, também pode ser usado uma conta do GitLab ou Bitbucket. GitHub basicamente é um site de repositórios online com uma ótima integração com o Git, para mais informações acesse &lt;a href="https://github.com/about"&gt;Github About&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Configurando o Ambiente
&lt;/h3&gt;

&lt;p&gt;Com o seu terminal padrão aberto digite os comando abaixo para as configurações iniciais.&lt;/p&gt;

&lt;p&gt;1.&lt;code&gt;git config --global user.name UsuarioDoGitHub&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;O comando acima configura o seu usuário padrão no git instalado na sua máquina.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;2.&lt;code&gt;git config --global user.email  EmailDoGitHub&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;O comando acima configura o seu email padrão no git instalado na sua máquina.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;3.&lt;code&gt;git config --global core.editor vim&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;O comando acima configura o vim como editor padrão no git instalado na sua máquina.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;4.&lt;code&gt;git config --global merge.tool vimdiff&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;O comando acima configura o vimdiff como ferramenta de diff padrão do git instalado na sua máquina.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Para checar se todas as configurações foram realizadas com sucesso execute o comando: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;git config --list&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Esse comando retorna todas as configurações atuais do seu ambiente.&lt;/p&gt;

&lt;h3&gt;
  
  
  Workflow básico:
&lt;/h3&gt;

&lt;p&gt;Durante a utilização do Git você irá encontrar o seguinte fluxo de trabalho: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Modificação dos arquivos;&lt;/li&gt;
&lt;li&gt;Seleção dos arquivo;&lt;/li&gt;
&lt;li&gt;Realizar o commit;&lt;/li&gt;
&lt;li&gt;Realizar o push das modificações.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Entendendo esse funcionamento básico, será possível realizar as principais atividades que o Git disponibiliza.&lt;/p&gt;

&lt;h3&gt;
  
  
  Exemplo
&lt;/h3&gt;

&lt;p&gt;Antes de tudo, entre no seu perfil do Github e crie um novo repositório para testes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VDxLFEjt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/w168t0jiopor223sgh5l.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VDxLFEjt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/w168t0jiopor223sgh5l.jpg" alt="Repositório do Exercícios "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No meu caso o repositório se chama teste, mas você pode colocar qualquer nome. Após criar o repositório é necessário clonar o mesmo para sua máquina. Para clonar um repositório do Github você deve entrar na página do repositório e seguir os passos abaixo: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5bt4sDXC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/4blwgs069kzfilu26k58.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5bt4sDXC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/4blwgs069kzfilu26k58.jpg" alt="Clonando um repositório "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Depois abra seu terminal padrão e em uma pasta onde você deseja colocar os arquivos do repositório digite: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;git clone LinkCopiadoNoPasso2DaImagemAcima&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Em seguida seu terminal deve retornar algo parecido com isso:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Cloning into 'teste'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 628 bytes | 13.00 KiB/s, done.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Agora entre na pasta do repositório que você acabou de clonar e crie um arquivo de texto, no meu caso o nome será banana e esse será o seu conteúdo: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TLQi09qv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/w0q0cddsto5ga4rdri14.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TLQi09qv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/w0q0cddsto5ga4rdri14.jpg" alt="Arquivo banana "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Adicionando o arquivo a pasta do nosso repositório ficará da seguinte forma: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7ucSUrN6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/tlzzj6igyciepulg4c8e.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7ucSUrN6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/tlzzj6igyciepulg4c8e.jpg" alt="Pasta do repositório teste"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Toda vez que um arquivo for adicionado ou modificado é necessário adicionar as modificações ao Git localmente para depois adicionar ao repositório hospedado no Github. Inicialmente é possível verificar quais foram as modificações no projeto executando o comando abaixo no terminal dentro da pasta do repositório:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git status&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Ao executar o terminal retorna algo parecido com isso:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;On branch master
Your branch is up to date with 'origin/master'.
Untracked files:
  (use "git add &amp;lt;file&amp;gt;..." to include in what will be committed)
        banana.txt
nothing added to commit but untracked files present (use "git add" to track)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Isso indica que um arquivo(banana.txt) foi criado, mas ainda não está adiciona ao git local. Então para adicionar o arquivo: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;git add banana.txt&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Após isso se você executar ‘git status’ novamente seu termina devolve:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;On branch master
Your branch is up to date with 'origin/master'.
Changes to be committed:
  (use "git restore --staged &amp;lt;file&amp;gt;..." to unstage)
        new file:   banana.txt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Agora é necessário adicionar uma mensagem a essas modificações antes de enviar para o Github para que você possa identificar o que foi modificado. Essa ação é chamada de commit. Então digite no terminal dentro da pasta do repositório: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;git commit -m “Está é uma mensage escolhida por mim”&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Como resultado é possível olhar um retorno parecido com isso:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[master 8af0bdb] Está é uma mensage escolhida por mim
 1 file changed, 1 insertion(+)
 create mode 100644 banana.txt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Por fim podemos enviar as nossas alterações ao Github executando um push(empurrar em inglês):&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git push&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Obtendo um retorno mais ou menos assim:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 326 bytes | 46.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/Note45/teste.git
   325a84c..8af0bdb  master -&amp;gt; master
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Após o push quando você entrar na página do repositório no Github será possível vê as modificações que foi comitado.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IrkkbwgB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/h3wik2tdujmo6c550kww.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IrkkbwgB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/h3wik2tdujmo6c550kww.jpg" alt="Página do repositório após o commit "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Da mesma forma se uma alteração for realizado no repositório hospedado no Github por outra pessoa e você desejar atualizar seus arquivos locais para essa nova versão é possível realizando a operação contrária ao push. Para isso é só digitar no terminal dentro da pasta do projeto “git pull”, onde pull no inglês significa puxar, atualizando assim seus arquivos para a última versão.&lt;/p&gt;

&lt;p&gt;Continuando com o nosso exemplo, se você desejar remover um arquivo do projeto, após excluir o mesmo e executar no terminal ‘git status’ você receberá como retorno algo parecido com a mensagem abaixo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
  (use "git add/rm &amp;lt;file&amp;gt;..." to update what will be committed)
  (use "git restore &amp;lt;file&amp;gt;..." to discard changes in working directory)
        deleted:    banana.txt
no changes added to commit (use "git add" and/or "git commit -a")
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;No exemplo de retorno acima eu deletei da pasta do projeto o arquivo banana.txt, sendo assim em vez de usar ‘git add ...’ iremos usar ‘git rm banana.txt’ para remover da árvore local do Git, então em seu terminal dentro da página do repositório execute: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;git rm banana.txt&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Em seguida:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git commit -m ‘Mensagem que você deseja colocar’&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Por fim, você pode fazer o push das alterações:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git push&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Como resultado do último comando você terá excluído do repositório no Github o arquivo banana.txt.&lt;/p&gt;

&lt;p&gt;Para se familiarizar com todos esses comando, eu recomendo que você refaça esse exemplo adicionando mais arquivos e pastas.&lt;/p&gt;

&lt;h3&gt;
  
  
  Recapitulando o Assunto:
&lt;/h3&gt;

&lt;p&gt;Durante esse artigo você estudou vários conceitos e comandos novos, nesse tópico é possível vê um breve resumo sobre os mais importantes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Git e Github são ferramentas indispensáveis em todo o mundo do desenvolvimento;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Configuração do Ambiente:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;git config --global user.name UsuarioDoGitHub &lt;/li&gt;
&lt;li&gt;git config --global user.email  EmailDoGitHub&lt;/li&gt;
&lt;li&gt;git config --global core.editor vim&lt;/li&gt;
&lt;li&gt;git config --global merge.tool vimdiff&lt;/li&gt;
&lt;li&gt;git config --list&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Git workflow: &lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Modificação dos arquivos;&lt;/li&gt;
&lt;li&gt;Seleção dos arquivo;&lt;/li&gt;
&lt;li&gt;Realizar o commit;&lt;/li&gt;
&lt;li&gt;Realizar o push das modificações.&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Workflow em Comandos: &lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;git status&lt;/li&gt;
&lt;li&gt;git add ou git remove&lt;/li&gt;
&lt;li&gt;git commit -m ‘mensagem do commit’&lt;/li&gt;
&lt;li&gt;git push&lt;/li&gt;
&lt;li&gt;git pull &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Lembrando que ‘git pull’ é usando quando uma modificação no repositório, que está hospedado no Github, não está no seu repositório local. Esse comando é muito utilizado quando mais de um desenvolvedor está trabalhando no mesmo projeto.&lt;/p&gt;

&lt;p&gt;Para mais informações e exemplos eu recomendo você da uma olhada na própria &lt;a href="https://git-scm.com/docs"&gt;documentação do git&lt;/a&gt;, lá é possivel encontrar muitas outras funcionalidades que irão auxiliar o desenvolvimento do seu projeto.  &lt;/p&gt;

&lt;p&gt;Encontrou algum erro nesse artigo ou gostaria de me enviar um mensagem? Go ahead :-).&lt;/p&gt;

&lt;p&gt;Até a próxima!&lt;/p&gt;

</description>
      <category>git</category>
      <category>github</category>
    </item>
    <item>
      <title>Git no mundo do desenvolvimento</title>
      <dc:creator>Antonio Lisbôa</dc:creator>
      <pubDate>Sun, 19 Apr 2020 13:30:35 +0000</pubDate>
      <link>https://forem.com/note45/git-no-mundo-do-desenvolvimento-dah</link>
      <guid>https://forem.com/note45/git-no-mundo-do-desenvolvimento-dah</guid>
      <description>&lt;p&gt;A utilização de um sistema de controle de versão(VCS, na sigla em inglês) no mundo do desenvolvimento se tornou um regra amplamente difundida. Seja na hora de criar um trabalho local ou em conjunto com um time de programadores, utilizar um VCS é a melhor maneira de evitar dores de cabeça na hora de cuidar das diferentes versões de código.&lt;/p&gt;

&lt;p&gt;Atualmente Git é uma das ferramentas de controle de versão mais utilizadas em ambientes de desenvolvimento. A seguir está listado alguns dos motivos pelo qual essa ferramenta se tornou tão famosa.&lt;/p&gt;

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

&lt;p&gt;De acordo com sua própria documentação: ”O Git é um sistema de controle de versão distribuído de código aberto e gratuito, projetado para lidar com tudo, desde&lt;br&gt;
projetos pequenos a grandes, com velocidade e eficiência.”   &lt;/p&gt;

&lt;p&gt;Em termos práticos, é uma ferramenta que auxilia o desenvolvedor em todo o processo de desenvolvimento de uma solução. Ele guarda em seu histórico toda  alteração realizada nos arquivos do projeto, tornando assim fácil a visualização de alterações realizadas por parte dos membros do time.&lt;/p&gt;

&lt;p&gt;Existem vários VCS disponíveis pelo mercado, como o Subversion e o Perforce, mas o git se diferencia destes sobretudo por ter uma arquitetura distribuída.&lt;/p&gt;

&lt;p&gt;A forma que o Git trabalha com os arquivos é outro grande diferencial dessa tecnologia. Os outros sistemas de versionamento tratam seus dados como arquivos e suas mudanças, entretanto o git trabalho com snapshots, uma captura de algo em um determinado instante, como uma imagem.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vantagens de usar o Git
&lt;/h2&gt;

&lt;p&gt;Além de entender o seu papel no mundo do desenvolvimento, é importante saber suas vantagens a fim de fazer a escolha certa na hora de escolher o Git como seu sistema de versionamento.&lt;/p&gt;

&lt;h3&gt;
  
  
  Desempenho
&lt;/h3&gt;

&lt;p&gt;A maioria das operações no Git só precisa de arquivos e recursos locais para operar - geralmente nenhuma informação é necessária de outro computador da rede. Isso torna suas tarefas mais rápidas, pois não será necessário depender da conexão de internet na maior parte do tempo.&lt;/p&gt;

&lt;p&gt;Por se tratar de um sistema de versionamento distribuído, é possível realizar diferentes atividades ao mesmo tempo, o que acelera o ambiente de desenvolvimento, trazendo assim agilidade para a equipe de desenvolvedores.&lt;/p&gt;

&lt;h3&gt;
  
  
  Segurança
&lt;/h3&gt;

&lt;p&gt;Tudo no Git passa por uma soma de verificação (checksum) antes de ser armazenado e é referenciado por esse checksum. Isto significa que é impossível mudar o conteúdo de qualquer arquivo ou pasta sem que Git saiba. Essa característica demonstra como o Git lida com a integridade de seus arquivos. &lt;/p&gt;

&lt;h3&gt;
  
  
  Flexibilidade
&lt;/h3&gt;

&lt;p&gt;Por fim, uma ótima vantagem de se trabalhar com o Git é sua flexibilidade. Ele trabalha bem com diferentes fluxos de desenvolvimento. Seja em projetos grandes ou pequenos, é possível notar toda  velocidade e segurança que esse VCS propicia. &lt;/p&gt;

&lt;p&gt;Encontrou algum erro nesse artigo ou gostaria de me enviar uma mensagem? Go ahead :-).&lt;/p&gt;

</description>
      <category>git</category>
      <category>svg</category>
      <category>vcs</category>
    </item>
  </channel>
</rss>
