<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Ricardo Costa - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Aprenda a codificar - de graça. Tutoriais de programação em Python, JavaScript, Linux e muito mais. ]]>
        </description>
        <link>https://www.freecodecamp.org/portuguese/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Ricardo Costa - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/portuguese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Fri, 22 May 2026 15:16:57 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/portuguese/news/author/ricardo/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Uma introdução ao Git: O que é, e como usá-lo. ]]>
                </title>
                <description>
                    <![CDATA[ (Tradução realizada em português europeu) O Git é um sistema de controlo de versões, distribuído e de código aberto. Ora, isto são muitas palavras para definir o Git. Vamos decompor esta definição complexa e explicar cada um dos conceitos:  * Sistema de controlo: isto significa que o Git é, ]]>
                </description>
                <link>https://www.freecodecamp.org/portuguese/news/uma-introducao-ao-git-o-que-e-e-como-usa-lo/</link>
                <guid isPermaLink="false">6320c673926c2f06e57ceb2c</guid>
                
                    <category>
                        <![CDATA[ Git ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Ricardo Costa ]]>
                </dc:creator>
                <pubDate>Wed, 07 Dec 2022 21:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/0_LU7AdfUTUviVY8DP.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artigo original:</strong> <a href="https://www.freecodecamp.org/news/what-is-git-and-how-to-use-it-c341b049ae61/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">An introduction to Git: what it is, and how to use it</a>
      </p><p><em>(Tradução realizada em português europeu)</em></p><p>O Git é um <strong>sistema de controlo de versões, distribuído e de código aberto</strong>. Ora, isto são muitas palavras para definir o Git.</p><p>Vamos decompor esta definição complexa e explicar cada um dos conceitos:</p><ul><li><strong>Sistema de controlo<strong>:</strong></strong> isto significa que o Git é, basicamente, um <em>tracker </em>de conteúdo. Portanto, o Git pode ser usado para guardar conteúdo – É usado, principalmente, para armazenar código, devido às outras funcionalidades que disponibiliza.</li><li><strong>Sistema de controlo de versões</strong>: O código que é guardado no Git está em constante mutação à medida que novo código é adicionado. Além disso, muitos programadores podem adicionar código em paralelo. O sistema de controlo de versões, ajuda a gerir tudo isto, mantendo um histórico das alterações que foram realizadas. Adicionalmente, o Git disponibiliza funcionalidades como <em>branches</em> e <em>merges</em>, que explicaremos mais tarde.</li><li><strong>Sistema distribuído de controlo de versões </strong>: O Git tem um repositório remoto que está alojado em um servidor e um repositório local que está alojado no computador de cada programador. Isto significa que o código não está apenas guardado num servidor central, mas também existe uma cópia integral em todos os computadores dos programadores. Assim, o Git é um sistema distribuído de controlo de versões porque está presente no computador de cada programador. Explicaremos o conceito de repositórios remotos e locais, posteriormente, neste artigo.</li></ul><h3 id="por-que-precisamos-de-um-sistema-de-controlo-de-vers-es-como-o-git"><strong>Por que precisamos de um Sistema de Controlo de Versões como o Git</strong></h3><p>Os projetos na vida real implicam a colaboração em paralelo de vários programadores. Por isso, é necessário um sistema de controlo de versões, como o Git, para garantir que não existem conflitos entre o código desenvolvido por diferentes pessoas.</p><p>Adicionalmente, os requisitos destes projectos são alterados com muita frequência. Um sistema de controlo de versões permite que os programadores possam reverter alterações e voltar a uma versão anterior do código.</p><p>Finalmente, por vezes, existem projetos que estão a decorrer em paralelo e que partilham o mesmo código base. Nestes casos, o conceito de criação de branches do Git é muito importante.</p><h3 id="agora-vamos-come-ar-a-usar-o-git-"><strong>Agora, vamos começar a usar o Git.</strong></h3><p>Em vez de abordarmos os conceitos todos de uma só vez, vamos explicar cada um deles, através de um exemplo, para um entendimento mais fácil.</p><p><strong><strong>Download </strong>do Git</strong></p><p>Esta ligação tem as instruções para instalação do Git em diversos sistemas operativos:<br><a href="https://git-scm.com/book/en/v2/Getting-Started-Installing-Git" rel="noopener">https://git-scm.com/book/en/v2/Getting-Started-Installing-Git</a></p><p>Verifica que o Git está instalado, usando a seguinte instrução através da linha de comandos:</p><pre><code class="language-bash">git --version</code></pre><h4 id="criar-o-reposit-rio-local-do-git"><strong>Criar o repositório local do Git</strong></h4><p>No teu computador, cria uma pasta para o teu projecto. Vamos dar-lhe o nome &nbsp;<code>simple-git-demo</code>.</p><p>Entra na tua pasta do projecto e adiciona um repositório local do Git através dos seguintes comandos:</p><pre><code class="language-bash">cd simple-git-demo
git init</code></pre><p>O comando<code>git init</code> adiciona um repositório local do Git ao teu projecto.</p><p>Agora, vamos adicionar algum código simples.</p><h4 id="agora-vamos-adicionar-algum-c-digo"><strong>Agora vamos adicionar algum código</strong></h4><p>Cria um ficheiro com o nome <code>demo.txt</code> na pasta de projecto e adiciona-lhe o seguinte texto:</p><pre><code>Initial Content</code></pre><p>Aqui, vamos usar texto simples em vez de código, uma vez que o foco do artigo é o Sistema Git e não uma linguagem de programação específica.</p><h3 id="staging-e-committing-do-c-digo-"><strong><strong><em>Staging</em></strong><em> </em>e <em>c</em><strong><em>ommitting </em></strong>do código.</strong></h3><p><em>Committing</em> é o processo através do qual o código é adicionado ao repositório local. Antes de ser possível realizar o <em>commit </em>do código, ele tem de estar na área de <em>staging. </em>A área de<em> staging </em>existe para registar todas as alterações realizadas aos ficheiros e que serão posteriormente alvo de <em>commit</em>.</p><p>Qualquer ficheiro que não seja adicionado à área de <em>staging</em>, não poderá ser alvo de <em>commit</em>. Isso permite que o programador tenha controlo sobre quais os ficheiros que necessitam de ser alvo de <em>commit</em>.</p><h4 id="staging"><strong><strong>Staging</strong></strong></h4><p>Usa o seguinte commando para realizar o <em>staging </em>do ficheiro:</p><pre><code class="language-bash">git add demo.txt</code></pre><p>Caso pretendas realizar o <em>staging</em> de vários ficheiros, podes usar: </p><p><code>git add file1 file2 file3</code></p><p>Se quiseres adicionar, todos os ficheiros dentro da pasta de projecto, na área de <em>staging</em>, podes usar o seguinte comando:<em> </em></p><pre><code class="language-bash">git add .</code></pre><p>Usa este comando com cuidado, porque ele adiciona, à área de staging, todos os ficheiros e pastas existentes no teu projecto.</p><h4 id="committing"><strong><strong>Committing</strong></strong></h4><p>Para realizar o commit do ficheiro, usa o seguinte comando:</p><pre><code class="language-bash">git commit -m "Initial Commit"</code></pre><p>"<em>Initial Commit</em>" é a mensagem de <em>commit </em>inicial. Deves sempre criar uma mensagem de <em>commit</em> que seja relevante e indicativa das alterações ao código que foram realizadas em cada <em>commit</em>.</p><h3 id="git-status-e-git-log"><strong><strong>Git Status </strong>e <strong>Git Log</strong></strong></h3><p>Agora, vamos modificar o ficheiro <code>demo.txt</code><strong><strong> </strong></strong>e adicionar o seguinte texto:</p><pre><code>Initial Content Adding more Content</code></pre><h4 id="status"><strong><strong>Status</strong></strong></h4><p>Usa o comando <code>git status</code> para descobrires informação sobre que ficheiros foram modificados e quais estão na área de <em>staging – </em>é também apresentada informação adicional, que pode ser ignorada para já.</p><p>Usa o seguinte comando para veres o status:</p><pre><code class="language-bash">git status</code></pre><p>O status mostra que o ficheiro <code>demo.txt</code> foi modificado e ainda não está na área de <em>staging</em>.</p><p>Agora, vamos adicionar o ficheiro <code>demo.txt</code> para a área de <em>staging</em> e fazer o <em>commit</em> usando os seguintes comandos:</p><pre><code class="language-bash">git add demo.txt git commit -m "demo.txt file is modified"</code></pre><h3 id="log"><strong><strong>Log</strong></strong></h3><p>Usa o comando<code>git log</code> para obteres uma impressão de todos os <em>commits </em>realizados até ao momento.</p><p>O comando usado é: <code>git log</code></p><p>O log mostra quem foi o autor, a data e a mensagem de cada <em>commit</em></p><h3 id="branches"><strong><strong>Branches</strong></strong></h3><p>Até agora, não criamos <em>branches </em>no Git. Por definição, o Git realiza os <em>commits </em>na branch <strong>master</strong>.</p><h4 id="o-que-uma-branch"><strong>O que é uma <em>branch</em></strong></h4><p>Uma branch não é mais do que um ponteiro para o último commit no repositório Git. Portanto, actualmente, a nossa master branch é um ponteiro para o segundo commit &nbsp;<code>“demo.txt file is modified”</code>.</p><h4 id="por-que-s-o-necess-rias-v-rias-branches"><strong>Por que são necessárias várias branches?</strong></h4><p>As branches são necessárias para suportar vários desenvolvimentos em paralelo. No diagrama apresentado de seguida, temos uma representação do funcionamento das branches.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/sww3mboJ61C4kpLWlQYHnHWvrjX8p--VMui2.jpg" class="kg-image" alt="sww3mboJ61C4kpLWlQYHnHWvrjX8p--VMui2" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/sww3mboJ61C4kpLWlQYHnHWvrjX8p--VMui2.jpg 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/sww3mboJ61C4kpLWlQYHnHWvrjX8p--VMui2.jpg 800w" sizes="(min-width: 720px) 720px" width="800" height="800" loading="lazy"></figure><p>Inicialmente, o <em>commit </em>1 e o <em>commit </em>2 são realizados na branch master. Depois do commit 2, é criada uma branch com o nome "Test". O commit 3 e o commit 4 são adicionados à branch Test.</p><p>Ao mesmo tempo, outros <em>commits</em>, &nbsp;<em>commit </em>3 e <em>commit </em>4 são adicionados à branch master. Aqui, conseguimos ver que, após o commit 2, estão a ser realizados dois desenvolvimentos em paralelo, em duas branches separadas.</p><p>A branch Test e a branch Master divergiram neste ponto e têm códigos diferentes – o código da branch Test pode ser mesclado (do inglês, <em>merged</em>) com a branch Master usando o comando <code>git merge</code>. Posteriormente, falaremos desse processo.</p><h4 id="criar-uma-branch-no-reposit-rio-local-"><strong>Criar uma branch no repositório local.</strong></h4><p>Cria uma branch chamada <strong><strong>test</strong></strong> usando o seguinte comando:</p><pre><code class="language-bash">git branch test</code></pre><p>Este comando cria a branch <code>test</code>.</p><p>Ainda estamos no contexto da branch master. Para mudarmos para a branch <code>test</code>, usamos o seguinte comando:</p><pre><code class="language-bash">git checkout test</code></pre><p>Agora estamos na branch <code>test</code>.</p><p>Podes obter uma lista de todas as branches existentes no repositório local usando o seguinte comando:</p><pre><code class="language-bash">git branch</code></pre><h4 id="executa-alguns-commits-na-nova-branch"><strong>Executa alguns commits na nova branch</strong></h4><p>Modifica <code>demo.txt</code> adicionando o seguinte código:</p><pre><code>Initial Content Adding more Content Adding some Content from test Branch</code></pre><p>Agora executa o <em>stage </em>e o <em>commit </em>com os seguintes comandos:</p><pre><code class="language-bash">git add demo.txt git commit -m "Test Branch Commit"</code></pre><p>Este commit foi realizado na branch Test. Agora, a branch Test está avançada em relação à branch Master em 1 commit &nbsp;— porque a branch Test também possui 2 commits da branch master.</p><p>Podes verificar o histórico de commits da branch Test com o comando:</p><pre><code class="language-bash">git log</code></pre><h3 id="merging"><strong><strong>Merging</strong></strong></h3><p>Neste momento, a branch Test está avançada em 1 commit em relação à branch Master. Vamos supor que agora precisamos que todo o código da branch Test seja colocado na branch Master. Esta é a situação em que o comando <code>git merge</code> é muito útil.</p><p>Para conseguirmos fazer o <em>merge</em> do código da branch test na branch master, basta seguir os seguintes passos:</p><p>Primeiro, voltar à branch master:</p><pre><code class="language-bash">git checkout master</code></pre><p>Depois, executar o comando <code>merge</code>:</p><pre><code class="language-bash">git merge test</code></pre><p>Depois de executar esses 2 comandos, o <em>merge </em>deverá estar concluído com sucesso. Neste exemplo, não existem conflitos.</p><p>Em projectos reais, contudo, é possível que existam conflitos quando se executa um <em>merge</em>. Para resolver estes conflitos, é necessária alguma experiência, algo que adquirirás à medida que a tua familiarização e que o tempo de trabalho com o Git aumente.</p><p>Agora, corre o comando <code>git log</code><strong><strong> </strong></strong>e vais reparar que a branch master também possui 3 commits.</p><h3 id="o-reposit-rio-remoto-do-git"><strong>O repositório remoto do Git</strong></h3><p>Até agora, temos estado a trabalhar apenas no repositório local. Cada programador trabalhará no seu repositório local, mas, eventualmente, terão a necessidade de fazer <em>push </em>do seu código para o repositório remoto. Assim que o código estiver no repositório remoto, outros programadores serão capazes de ver e modificar esse código.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/O-6UdGYVsEjM-oJmtJ5KQpQnXIBOCZoB22X1.jpg" class="kg-image" alt="O-6UdGYVsEjM-oJmtJ5KQpQnXIBOCZoB22X1" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/O-6UdGYVsEjM-oJmtJ5KQpQnXIBOCZoB22X1.jpg 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/O-6UdGYVsEjM-oJmtJ5KQpQnXIBOCZoB22X1.jpg 800w" sizes="(min-width: 720px) 720px" width="800" height="265" loading="lazy"><figcaption>Representação de repositório remoto e repositórios locais</figcaption></figure><h4 id="github"><strong><strong>GitHub</strong></strong></h4><p>Aqui, vamos passar a usar o GitHub para o repositório remoto.</p><p>Navega para o link: <a href="https://github.com/" rel="noopener">https://github.com/</a> e cria uma conta.</p><p>Depois do registo na homepage do GitHub, clica em <strong><strong>Start a Project</strong> </strong>para criares um repositório Git. Dá um nome ao repositório e clica em "Create Repository"</p><p>Dá um nome como <code>git-blog-demo</code>.</p><p>Isto vai criar um repositório remoto no Github e, quando abrires o repositório, será aberta uma página idêntica à apresentada abaixo:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2022/11/LWpWCg5LTo7m-IkZW1io-194VWZ61di5CIGY.png" class="kg-image" alt="LWpWCg5LTo7m-IkZW1io-194VWZ61di5CIGY" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2022/11/LWpWCg5LTo7m-IkZW1io-194VWZ61di5CIGY.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2022/11/LWpWCg5LTo7m-IkZW1io-194VWZ61di5CIGY.png 800w" sizes="(min-width: 720px) 720px" width="800" height="189" loading="lazy"></figure><p>O URL do repositório é o texto destacado em cima.</p><p> <code><strong><strong>https://github.com/aditya-sridhar/git-blog-demo.git</strong></strong></code></p><p>Para apontares o teu repositório local para o repositório remoto, usa este comando:</p><pre><code class="language-bash">git remote add origin [url do repositório]</code></pre><h4 id="git-push"><strong><strong><strong><strong>Git Push</strong></strong></strong></strong></h4><p>Para fazermos <em>push </em>de todo o código do repositório local para o repositório remoto, usamos o seguinte comando:</p><pre><code class="language-bash">git push -u origin master</code></pre><p>Este comando realiza o <em>push </em>(actualização) do código da branch master no repositório local para a branch master do repositório remoto.</p><h3 id="comandos-adicionais"><strong>Comandos adicionais</strong></h3><h4 id="git-pull"><strong><strong>Git Pull</strong></strong></h4><p><code>git pull</code> é usado para fazer <em>pull </em>das últimas alterações no repositório remoto para o teu repositório local. O código do repositório remoto é constantemente atualizado por vários programadores. Isso justifica a necessidade do comando <code>git pull </code>:</p><pre><code class="language-bash">git pull origin master</code></pre><h4 id="git-clone"><strong><strong>Git Clone</strong></strong></h4><p><code>git clone</code> é usado para clonar um repositório remoto, já existente, para o teu computador. O comando a usar é:</p><pre><code class="language-bash">git clone [repository url]</code></pre><h3 id="parab-ns"><strong>Parabéns</strong></h3><p>Agora que conheces os conceitos básicos necessários para usar o Git, aventura-te e explora mais!</p><p>Em breve, publicarei um novo artigo sobre conceitos um pouco mais avançados do Git. Mantém-te atento!</p><h3 id="sobre-o-autor"><strong>Sobre o autor</strong></h3><p>O autor adora tecnologia e segue atentamente todos os avanços. Ele também gosta de ajudar os outros com o seu conhecimento na área tecnológica.</p><p>Conecte-se ao autor em sua <a href="https://www.linkedin.com/in/aditya1811/">conta do LinkedIn</a></p><p>Também é possível seguir o autor no <a href="https://twitter.com/adityasridhar18">Twitter</a> </p><p><a href="https://adityasridhar.com/">Site do autor</a> </p><h3 id="outras-publica-es-do-autor-em-ingl-s-"><strong>Outras publicações do autor (em inglês)</strong></h3><p><a href="https://www.freecodecamp.org/news/how-to-use-git-efficiently-54320a236369/">How to use Git efficiently</a></p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
