{"id":231,"date":"2024-05-30T22:43:39","date_gmt":"2024-05-30T22:43:39","guid":{"rendered":"https:\/\/aprendalinux.com.br\/linux\/?p=231"},"modified":"2024-05-31T00:35:22","modified_gmt":"2024-05-31T00:35:22","slug":"comandos-basicos-git","status":"publish","type":"post","link":"https:\/\/aprendalinux.com.br\/linux\/comandos-basicos-git\/","title":{"rendered":"Comandos b\u00e1sicos git"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">O Git \u00e9 um sistema de controle de vers\u00e3o distribu\u00eddo, amplamente utilizado no desenvolvimento de software. Criado por Linus Torvalds em 2005, o Git se tornou a ferramenta padr\u00e3o para a gest\u00e3o de c\u00f3digo-fonte em projetos de todos os tamanhos, desde pequenos scripts at\u00e9 grandes aplica\u00e7\u00f5es empresariais.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Funcionalidades e Benef\u00edcios do Git<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Controle de Vers\u00e3o<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">O principal prop\u00f3sito do Git \u00e9 gerenciar mudan\u00e7as no c\u00f3digo-fonte ao longo do tempo. Ele permite que desenvolvedores acompanhem o hist\u00f3rico de modifica\u00e7\u00f5es, comparam vers\u00f5es anteriores e revertam para estados anteriores se necess\u00e1rio. Isso \u00e9 crucial para manter a integridade do c\u00f3digo e facilitar a colabora\u00e7\u00e3o entre m\u00faltiplos desenvolvedores.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Distribui\u00e7\u00e3o e Colabora\u00e7\u00e3o<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Ao contr\u00e1rio de sistemas de controle de vers\u00e3o centralizados, o Git \u00e9 distribu\u00eddo. Isso significa que cada desenvolvedor possui uma c\u00f3pia completa do reposit\u00f3rio, incluindo todo o hist\u00f3rico de mudan\u00e7as. Essa arquitetura descentralizada melhora a efici\u00eancia e a seguran\u00e7a, pois o trabalho pode continuar mesmo se o servidor central estiver inacess\u00edvel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Ramifica\u00e7\u00e3o e Mesclagem<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Uma das caracter\u00edsticas mais poderosas do Git \u00e9 a capacidade de criar ramifica\u00e7\u00f5es (branches). Ramifica\u00e7\u00f5es permitem que desenvolvedores trabalhem em recursos ou corre\u00e7\u00f5es de bugs de forma isolada do c\u00f3digo principal. Depois que o trabalho em uma ramifica\u00e7\u00e3o \u00e9 conclu\u00eddo, ele pode ser mesclado (merge) de volta \u00e0 ramifica\u00e7\u00e3o principal. Esse processo \u00e9 geralmente suave, gra\u00e7as \u00e0s avan\u00e7adas capacidades de mesclagem do Git.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Configura\u00e7\u00e3o Inicial<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>git config<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Configurar o nome de usu\u00e1rio e e-mail:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git config --global user.name \"Seu Nome\"<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git config --global user.email \"<a href=\"mailto:seuemail@exemplo.com\">seuemail@exemplo.com<\/a>\"<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Cria\u00e7\u00e3o e Clonagem de Reposit\u00f3rios<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>git init<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Inicializar um novo reposit\u00f3rio Git:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git init<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>git clone<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Clonar um reposit\u00f3rio existente:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git clone<a href=\"https:\/\/github.com\/usuario\/repositorio.git\"> https:\/\/github.com\/usuario\/repositorio.git<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Estado do Reposit\u00f3rio<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>git status<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Verificar o estado atual do reposit\u00f3rio:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git status<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>git log<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Exibe o hist\u00f3rico de commits:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git log<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Controle de Altera\u00e7\u00f5es<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>git add<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Adiciona mudan\u00e7as ao \u00edndice (staging area):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git add arquivo.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Adicionar todos os arquivos alterados:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git add .<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>git commit<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Grava as mudan\u00e7as no reposit\u00f3rio:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git commit -m \"Mensagem de commit\"<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Trabalhando com Branches<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>git branch<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lista, cria ou exclui branches:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git branch<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git branch nova-branch<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git branch -d branch-a-deletar<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>git checkout<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Muda de branches ou restaura arquivos:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git checkout minha-branch<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00a0git checkout -- arquivo.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Atualiza\u00e7\u00e3o e Integra\u00e7\u00e3o<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>git pull<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Atualizar o reposit\u00f3rio local com as altera\u00e7\u00f5es do reposit\u00f3rio remoto:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git pull origin branch<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>git push<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enviar commits locais para o reposit\u00f3rio remoto:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git push origin branch<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>git merge<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mesclar uma branch na branch atual:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git merge nome-da-branch<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Revertendo Altera\u00e7\u00f5es<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>git reset<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Desfaz mudan\u00e7as no \u00edndice e\/ou no diret\u00f3rio de trabalho.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git reset HEAD arquivo.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Resetar para um commit espec\u00edfico:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git reset --hard commit_hash<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>git revert<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Reverter um commit espec\u00edfico:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git revert commit_hash<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Outros Comandos \u00dateis<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>git stash<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Guarda as mudan\u00e7as temporariamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git stash<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Recuperar altera\u00e7\u00f5es guardadas:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git stash pop<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>git remote<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Verificar reposit\u00f3rios remotos<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git remote -v<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Adicionar um novo reposit\u00f3rio remoto:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">git remote add origin <a href=\"https:\/\/github.com\/usuario\/repositorio.git\">https:\/\/github.com\/usuario\/repositorio.git<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Fluxos de Trabalho Comuns<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Existem v\u00e1rios fluxos de trabalho que equipes de desenvolvimento podem adotar ao usar Git. Um dos mais populares \u00e9 o <em>Git Flow<\/em>, que utiliza ramifica\u00e7\u00f5es espec\u00edficas para o desenvolvimento de novas funcionalidades (feature branches), prepara\u00e7\u00e3o de lan\u00e7amentos (release branches), corre\u00e7\u00f5es de bugs (hotfix branches) e manuten\u00e7\u00e3o do c\u00f3digo principal (master e develop branches). Esse fluxo de trabalho organiza e simplifica o processo de desenvolvimento, garantindo uma entrega cont\u00ednua e controlada de software.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Integra\u00e7\u00e3o com Ferramentas e Plataformas<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Git se integra perfeitamente com diversas ferramentas de desenvolvimento e plataformas de hospedagem de c\u00f3digo, como GitHub, GitLab e Bitbucket. Essas plataformas oferecem funcionalidades adicionais como revis\u00e3o de c\u00f3digo, rastreamento de issues, integra\u00e7\u00e3o cont\u00ednua e entrega cont\u00ednua (CI\/CD), e muito mais. A integra\u00e7\u00e3o com essas plataformas potencializa ainda mais o uso do Git, proporcionando um ambiente completo para o desenvolvimento colaborativo e \u00e1gil.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Conclus\u00e3o<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">O Git transformou a forma como o desenvolvimento de software \u00e9 gerenciado, proporcionando uma maneira robusta e eficiente de controle de vers\u00e3o. Suas funcionalidades poderosas e flex\u00edveis permitem que equipes de desenvolvimento colaborem de forma mais eficaz, mantenham a qualidade do c\u00f3digo e entreguem software de maneira cont\u00ednua e segura. Seja para pequenos projetos individuais ou grandes empreendimentos corporativos, o Git se estabelece como uma ferramenta essencial no arsenal de qualquer desenvolvedor.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O Git \u00e9 um sistema de controle de vers\u00e3o distribu\u00eddo, amplamente utilizado no desenvolvimento de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":237,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"pagelayer_contact_templates":[],"_pagelayer_content":"","footnotes":""},"categories":[4],"tags":[45,42,46,43],"class_list":["post-231","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programacao","tag-controleversao","tag-git","tag-linus","tag-versao"],"_links":{"self":[{"href":"https:\/\/aprendalinux.com.br\/linux\/wp-json\/wp\/v2\/posts\/231","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aprendalinux.com.br\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aprendalinux.com.br\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aprendalinux.com.br\/linux\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aprendalinux.com.br\/linux\/wp-json\/wp\/v2\/comments?post=231"}],"version-history":[{"count":5,"href":"https:\/\/aprendalinux.com.br\/linux\/wp-json\/wp\/v2\/posts\/231\/revisions"}],"predecessor-version":[{"id":236,"href":"https:\/\/aprendalinux.com.br\/linux\/wp-json\/wp\/v2\/posts\/231\/revisions\/236"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aprendalinux.com.br\/linux\/wp-json\/wp\/v2\/media\/237"}],"wp:attachment":[{"href":"https:\/\/aprendalinux.com.br\/linux\/wp-json\/wp\/v2\/media?parent=231"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aprendalinux.com.br\/linux\/wp-json\/wp\/v2\/categories?post=231"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aprendalinux.com.br\/linux\/wp-json\/wp\/v2\/tags?post=231"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}