{"id":573,"date":"2025-03-19T14:56:02","date_gmt":"2025-03-19T17:56:02","guid":{"rendered":"https:\/\/difusao.tech\/blog\/?p=573"},"modified":"2025-03-19T14:56:03","modified_gmt":"2025-03-19T17:56:03","slug":"passo-a-passo-de-uso-do-git-e-github","status":"publish","type":"post","link":"https:\/\/difusao.tech\/blog\/passo-a-passo-de-uso-do-git-e-github\/","title":{"rendered":"Passo a passo de uso do Git e GitHub"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"711\" height=\"245\" src=\"https:\/\/difusao.tech\/blog\/wp-content\/uploads\/2025\/03\/image.png\" alt=\"\" class=\"wp-image-574\" style=\"width:633px;height:auto\" srcset=\"https:\/\/difusao.tech\/blog\/wp-content\/uploads\/2025\/03\/image.png 711w, https:\/\/difusao.tech\/blog\/wp-content\/uploads\/2025\/03\/image-300x103.png 300w\" sizes=\"auto, (max-width: 711px) 100vw, 711px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Git e Github passo a passo + problemas comuns e resolu\u00e7\u00e3o.<\/h2>\n\n\n\n<p>Git \u00e9 um sistema de controle de vers\u00e3o distribu\u00eddo que permite rastrear altera\u00e7\u00f5es em arquivos e coordenar o trabalho em equipe. GitHub \u00e9 uma plataforma online que hospeda reposit\u00f3rios Git, facilitando a colabora\u00e7\u00e3o e o compartilhamento de c\u00f3digo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Configura\u00e7\u00e3o inicial:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Instale o Git:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Acesse o site oficial do Git, dispon\u00edvel em <a href=\"https:\/\/git-scm.com\/\">https:\/\/git-scm.com\/<\/a>, e realize o download da vers\u00e3o apropriada para o seu sistema operacional.<\/li>\n\n\n\n<li>Siga as instru\u00e7\u00f5es de instala\u00e7\u00e3o fornecidas.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Configure o Git:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Abra o terminal, ou Git Bash no sistema Windows.<\/li>\n\n\n\n<li>Configure seu nome de usu\u00e1rio e endere\u00e7o de e-mail por meio dos seguintes comandos:\n<ul class=\"wp-block-list\">\n<li><code>git config --global user.name \"Seu Nome\"<\/code><\/li>\n\n\n\n<li><code>git config --global user.email \"seuemail@exemplo.com\"<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Crie uma conta no GitHub:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Acesse o site do GitHub, dispon\u00edvel em <a href=\"https:\/\/github.com\/\">https:\/\/github.com\/<\/a>, e crie uma conta.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2. Cria\u00e7\u00e3o do projeto local:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Crie um diret\u00f3rio para o seu projeto:<\/strong>\n<ul class=\"wp-block-list\">\n<li>No terminal, navegue at\u00e9 o local desejado e crie um novo diret\u00f3rio para o projeto, utilizando os seguintes comandos:\n<ul class=\"wp-block-list\">\n<li><code>mkdir nome-do-projeto<\/code><\/li>\n\n\n\n<li><code>cd nome-do-projeto<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Inicialize um reposit\u00f3rio Git:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>git init<\/code><\/li>\n\n\n\n<li>Este comando tem a fun\u00e7\u00e3o de inicializar um novo reposit\u00f3rio Git no diret\u00f3rio do projeto.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Crie um arquivo inicial:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>touch README.md<\/code> (ou crie qualquer outro arquivo)<\/li>\n\n\n\n<li>Este comando cria um arquivo README.md vazio, o qual pode ser editado para incluir informa\u00e7\u00f5es relevantes sobre o projeto.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Adicione o arquivo \u00e0 \u00e1rea de prepara\u00e7\u00e3o (staging area):<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>git add README.md<\/code> ou <code>git add .<\/code><\/li>\n\n\n\n<li>Este comando designa o arquivo para a \u00e1rea de prepara\u00e7\u00e3o, indicando que suas altera\u00e7\u00f5es devem ser inclu\u00eddas no pr\u00f3ximo commit. O comando <code>git add .<\/code> adiciona todos os arquivos do diret\u00f3rio atual.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Fa\u00e7a o primeiro commit:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>git commit -m \"Primeiro commit: Adiciona arquivo README.md\"<\/code><\/li>\n\n\n\n<li>Este comando cria um novo commit, registrando as altera\u00e7\u00f5es presentes na \u00e1rea de prepara\u00e7\u00e3o. A op\u00e7\u00e3o &#8220;-m&#8221; permite a inclus\u00e3o de uma mensagem que descreve as altera\u00e7\u00f5es realizadas no commit.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3. Cria\u00e7\u00e3o do reposit\u00f3rio remoto no GitHub:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Acesse o GitHub e crie um novo reposit\u00f3rio:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Clique no bot\u00e3o &#8220;New&#8221;.<\/li>\n\n\n\n<li>Preencha o nome do reposit\u00f3rio e inclua uma descri\u00e7\u00e3o, se desejado.<\/li>\n\n\n\n<li>Selecione a visibilidade do reposit\u00f3rio, que pode ser p\u00fablico ou privado.<\/li>\n\n\n\n<li>Certifique-se de *n\u00e3o* marcar a op\u00e7\u00e3o &#8220;Initialize this repository with a README&#8221;, uma vez que um arquivo README foi criado localmente.<\/li>\n\n\n\n<li>Clique em &#8220;Create repository&#8221;.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Conecte o reposit\u00f3rio local ao reposit\u00f3rio remoto:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Copie a URL do reposit\u00f3rio remoto, a qual est\u00e1 dispon\u00edvel na p\u00e1gina do reposit\u00f3rio no GitHub.<\/li>\n\n\n\n<li>No terminal, estabele\u00e7a a conex\u00e3o com o reposit\u00f3rio remoto por meio do seguinte comando:\n<ul class=\"wp-block-list\">\n<li><code>git remote add origin URL_DO_REPOSITORIO<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Envie o c\u00f3digo para o GitHub (push):<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>git push -u origin master<\/code><\/li>\n\n\n\n<li>Este comando envia o c\u00f3digo do reposit\u00f3rio local para o reposit\u00f3rio remoto no GitHub. A op\u00e7\u00e3o &#8220;-u origin master&#8221; define o reposit\u00f3rio remoto e a branch principal como padr\u00e3o.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4. Modifica\u00e7\u00e3o do arquivo e novo commit:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Edite o arquivo:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Abra o arquivo README.md, ou qualquer outro arquivo desejado, e realize as modifica\u00e7\u00f5es necess\u00e1rias.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Adicione as altera\u00e7\u00f5es \u00e0 \u00e1rea de prepara\u00e7\u00e3o:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>git add README.md<\/code> ou <code>git add .<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Fa\u00e7a o novo commit:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>git commit -m \"Atualiza README.md com novas informa\u00e7\u00f5es\"<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Envie as altera\u00e7\u00f5es para o GitHub:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>git push origin master<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">T\u00f3pico Avan\u00e7ado: Problemas Comuns e Solu\u00e7\u00f5es<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problema:<\/strong> Erro ao adicionar reposit\u00f3rio remoto (<code>git remote add origin ...<\/code>)\n<ul class=\"wp-block-list\">\n<li><strong>Solu\u00e7\u00e3o:<\/strong> Verifique se a URL do reposit\u00f3rio remoto foi copiada corretamente do GitHub. Certifique-se de que voc\u00ea tem permiss\u00e3o para acessar o reposit\u00f3rio.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Problema:<\/strong> Erro ao enviar c\u00f3digo para o GitHub (<code>git push ...<\/code>)\n<ul class=\"wp-block-list\">\n<li><strong>Solu\u00e7\u00e3o:<\/strong> Verifique se voc\u00ea configurou corretamente seu nome de usu\u00e1rio e e-mail no Git. Se estiver usando autentica\u00e7\u00e3o HTTPS, verifique se voc\u00ea inseriu suas credenciais corretamente. Se estiver usando autentica\u00e7\u00e3o SSH, verifique se voc\u00ea configurou suas chaves SSH corretamente no GitHub.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Problema:<\/strong> Arquivos modificados n\u00e3o aparecem no Git\n<ul class=\"wp-block-list\">\n<li><strong>Solu\u00e7\u00e3o:<\/strong> Certifique-se de que voc\u00ea est\u00e1 no diret\u00f3rio correto do projeto. Use o comando <code>git status<\/code> para verificar quais arquivos foram modificados e se eles est\u00e3o na \u00e1rea de prepara\u00e7\u00e3o. Use <code>git add nome_do_arquivo<\/code> ou <code>git add .<\/code> para adicionar as altera\u00e7\u00f5es \u00e0 \u00e1rea de prepara\u00e7\u00e3o.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Problema:<\/strong> Desfazer um commit\n<ul class=\"wp-block-list\">\n<li><strong>Solu\u00e7\u00e3o:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Para desfazer o \u00faltimo commit e manter as altera\u00e7\u00f5es: <code>git reset --soft HEAD~1<\/code><\/li>\n\n\n\n<li>Para desfazer o \u00faltimo commit e descartar as altera\u00e7\u00f5es: <code>git reset --hard HEAD~1<\/code><\/li>\n\n\n\n<li><strong>Aten\u00e7\u00e3o:<\/strong> O comando <code>git reset --hard<\/code> descarta as altera\u00e7\u00f5es permanentemente. Use com cautela.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Problema:<\/strong> Resolver conflitos de merge\n<ul class=\"wp-block-list\">\n<li><strong>Solu\u00e7\u00e3o:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Use <code>git status<\/code> para identificar os arquivos com conflitos.<\/li>\n\n\n\n<li>Abra os arquivos com conflitos em um editor de texto e procure pelos marcadores de conflito (<code>&lt;&lt;&lt;&lt;&lt;&lt;&lt;<\/code>, <code>=======<\/code>, <code>>>>>>>><\/code>).<\/li>\n\n\n\n<li>Edite o arquivo para remover os marcadores de conflito e escolher as altera\u00e7\u00f5es que voc\u00ea deseja manter.<\/li>\n\n\n\n<li>Ap\u00f3s resolver os conflitos, use <code>git add<\/code> para adicionar os arquivos modificados \u00e0 \u00e1rea de prepara\u00e7\u00e3o e <code>git commit<\/code> para finalizar o merge.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Problema:<\/strong> Voltar a um commit anterior\n<ul class=\"wp-block-list\">\n<li><strong>Solu\u00e7\u00e3o:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Use o comando <code>git log<\/code> para encontrar o hash do commit ao qual voc\u00ea deseja retornar.<\/li>\n\n\n\n<li>Use o comando <code>git checkout &lt;hash_do_commit><\/code> para voltar a esse commit.<\/li>\n\n\n\n<li>Para criar uma nova branch a partir desse commit: <code>git checkout -b &lt;nome_da_branch> &lt;hash_do_commit><\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Problema:<\/strong> Remover um arquivo do reposit\u00f3rio\n<ul class=\"wp-block-list\">\n<li><strong>Solu\u00e7\u00e3o:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Para remover o arquivo apenas da \u00e1rea de prepara\u00e7\u00e3o: <code>git rm --cached &lt;nome_do_arquivo><\/code><\/li>\n\n\n\n<li>Para remover o arquivo do reposit\u00f3rio e do diret\u00f3rio de trabalho: <code>git rm &lt;nome_do_arquivo><\/code><\/li>\n\n\n\n<li>Ap\u00f3s remover o arquivo, use <code>git commit<\/code> para registrar a remo\u00e7\u00e3o.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Problema:<\/strong> Renomear um arquivo\n<ul class=\"wp-block-list\">\n<li><strong>Solu\u00e7\u00e3o:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Use o comando <code>git mv &lt;nome_antigo> &lt;nome_novo><\/code><\/li>\n\n\n\n<li>Ap\u00f3s renomear o arquivo, use <code>git commit<\/code> para registrar a altera\u00e7\u00e3o.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Git e Github passo a passo + problemas comuns e resolu\u00e7\u00e3o. Git \u00e9 um sistema de controle de<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[30],"tags":[266,184,185],"class_list":["post-573","post","type-post","status-publish","format-standard","hentry","category-programacao-e-desenvolvimento","tag-commit","tag-git","tag-github"],"_links":{"self":[{"href":"https:\/\/difusao.tech\/blog\/wp-json\/wp\/v2\/posts\/573","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/difusao.tech\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/difusao.tech\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/difusao.tech\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/difusao.tech\/blog\/wp-json\/wp\/v2\/comments?post=573"}],"version-history":[{"count":1,"href":"https:\/\/difusao.tech\/blog\/wp-json\/wp\/v2\/posts\/573\/revisions"}],"predecessor-version":[{"id":575,"href":"https:\/\/difusao.tech\/blog\/wp-json\/wp\/v2\/posts\/573\/revisions\/575"}],"wp:attachment":[{"href":"https:\/\/difusao.tech\/blog\/wp-json\/wp\/v2\/media?parent=573"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/difusao.tech\/blog\/wp-json\/wp\/v2\/categories?post=573"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/difusao.tech\/blog\/wp-json\/wp\/v2\/tags?post=573"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}