{"id":38249,"date":"2022-11-18T13:47:42","date_gmt":"2022-11-18T16:47:42","guid":{"rendered":"https:\/\/blog.locaweb.com.br\/?p=38249"},"modified":"2024-07-30T17:47:05","modified_gmt":"2024-07-30T20:47:05","slug":"git-branch-como-usar-e-gerar-ramificacoes","status":"publish","type":"post","link":"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/git-branch-como-usar-e-gerar-ramificacoes\/","title":{"rendered":"Git Branch: como usar e gerar ramifica\u00e7\u00f5es"},"content":{"rendered":"\n<p class=\"has-text-align-center\"><em>Os recursos de ramifica\u00e7\u00f5es oferecidos pelo Git Branch ajudam os desenvolvedores a reduzir os bugs da vers\u00e3o final do software<\/em><\/p>\n\n\n\n<p>O Git Branch oferece recursos de ramifica\u00e7\u00e3o, um aspecto fundamental para o fluxo de trabalho de controle de vers\u00e3o. A ferramenta reduz a possibilidade de ocorr\u00eancia de erros na vers\u00e3o prim\u00e1ria da base de c\u00f3digo e tamb\u00e9m diminui a ocorr\u00eancia de <a href=\"https:\/\/blog.locaweb.com.br\/temas\/codigo-aberto\/voce-consegue-prever-os-bugs-de-sua-aplicacao\/\">bugs<\/a> e outros comportamentos adversos potenciais no software.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>O que \u00e9 o Git Branch?&nbsp;<\/strong><\/h2>\n\n\n\n<p>O Git Branch \u00e9 um recurso que permite aos desenvolvedores testarem novas ideias sem restri\u00e7\u00f5es para serem adicionadas ao c\u00f3digo principal depois de se tornarem est\u00e1veis. Al\u00e9m disso, o Git Branch possibilita que as equipes trabalhem de forma remota. Portanto, os profissionais podem continuar a contribuir criativamente para o projeto de forma eficiente.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>O que \u00e9 ramifica\u00e7\u00e3o?<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"812\" height=\"500\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/11\/Git-branch-2-min.png\" alt=\"A imagem mostra um organograma e as etapas em cada uma delas. A imagem faz refer\u00eancia ao processo de ramifica\u00e7\u00e3o. \" class=\"wp-image-38250\"\/><figcaption class=\"wp-element-caption\">As ramifica\u00e7\u00f5es do Branch podem ser paralelas ou sequenciais. (Fonte: Open Clipart\/Reprodu\u00e7\u00e3o)<\/figcaption><\/figure>\n\n\n\n<p>A ramifica\u00e7\u00e3o, ou <em>branch<\/em>, \u00e9 uma bifurca\u00e7\u00e3o do c\u00f3digo-fonte que cria uma linha independente de desenvolvimento. O recurso funciona como um controle de origem que permite separar a evolu\u00e7\u00e3o da <a href=\"https:\/\/blog.locaweb.com.br\/temas\/codigo-aberto\/conheca-as-7-linguagens-de-programacao-mais-buscadas-pelas-empresas\/\">programa\u00e7\u00e3o<\/a> em diferentes subdivis\u00f5es. Isso torna poss\u00edvel que os profissionais escrevam o c\u00f3digo principal de forma livre, sem afetar o trabalho de outro.<\/p>\n\n\n\n<p>No in\u00edcio do trabalho com o Git, existe apenas uma ramifica\u00e7\u00e3o prim\u00e1ria. As subdivis\u00f5es podem ser criadas a partir do c\u00f3digo principal ou de algum \u201cgalho\u201d. A ferramenta permite a cria\u00e7\u00e3o de quantos ramais forem necess\u00e1rios. Dessa forma, o recurso viabiliza testar novos recursos e corrigir eventuais erros sem afetar o c\u00f3digo-fonte do software.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Como usar os comandos do Git Branch<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"812\" height=\"500\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/11\/Git-branch-1-min.jpg\" alt=\"a imagem mostra duas mulheres em um escrit\u00f3rio olhando para a tela de um computador. \" class=\"wp-image-38251\"\/><figcaption class=\"wp-element-caption\">Ramifica\u00e7\u00f5es permitem os desenvolvedores trabalhem de forma simult\u00e2nea. (Fonte: Startup Stock Photos\/Pexels\/Reprodu\u00e7\u00e3o)<\/figcaption><\/figure>\n\n\n\n<p>A cria\u00e7\u00e3o e o gerenciamento das ramifica\u00e7\u00f5es no Git s\u00e3o simples e podem ser feitas a partir da linha de comandos no terminal ou por meio de um servidor de hospedagem de projetos. Contudo, quanto mais subdivis\u00f5es forem criadas, mais dif\u00edcil ser\u00e1 para gerenciar o recurso.<\/p>\n\n\n\n<p>&nbsp;Confira quais s\u00e3o os comandos e as fun\u00e7\u00f5es para trabalhar com esta poderosa ferramenta.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Verificando as ramifica\u00e7\u00f5es criadas<\/strong><\/h3>\n\n\n\n<p>O comando \u201cgit branch &#8211;list\u201d permite listar as ramifica\u00e7\u00f5es que foram criadas no projeto. Caso n\u00e3o haja subdivis\u00e3o, o terminal n\u00e3o vai apresentar nenhuma informa\u00e7\u00e3o. Se houver, elas ser\u00e3o listadas. O comando pode ser utilizado com a op\u00e7\u00e3o \u201c-r\u201d, que mostra as ramifica\u00e7\u00f5es de rastreamento remoto ou \u201c-a\u201d, para listar tanto as ramifica\u00e7\u00f5es locais quanto remotas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Criando ramifica\u00e7\u00f5es<\/strong><\/h3>\n\n\n\n<p>A maneira mais f\u00e1cil de criar uma ramifica\u00e7\u00e3o Git \u00e9 usar o comando \u201cgit branch\u201d. Em seguida, \u00e9 preciso apenas especificar o nome da ramifica\u00e7\u00e3o que deseja criar:<\/p>\n\n\n\n<p><em>$ git branch &lt;nome-da-ramifica\u00e7\u00e3o&gt;<\/em><\/p>\n\n\n\n<p>Inicialmente, a ramifica\u00e7\u00e3o local fica apenas acess\u00edvel ao dispositivo f\u00edsico onde foi desenvolvida. Uma subdivis\u00e3o criada localmente pode ser enviada um reposit\u00f3rio remoto, com o comando:<\/p>\n\n\n\n<p><em>$ git checkout &lt;nome&gt;<\/em><\/p>\n\n\n\n<p>Caso o \u201cgalho\u201d local n\u00e3o exista, a filial remota pode ser criada diretamente usando o par\u00e2metro \u201c-b\u201d do comando checkout:<\/p>\n\n\n\n<p><em>$ git checkout -b &lt;nome&gt;<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Alterando o nome<\/strong><\/h3>\n\n\n\n<p>Depois de criada, o nome da ramifica\u00e7\u00e3o pode ser alterado, sempre que necess\u00e1rio. Para tanto, basta digitar o comando no terminal:<\/p>\n\n\n\n<p><em>$ git branch -m &lt;nome-antigo&gt; &lt;nome-novo&gt;<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Excluindo ramifica\u00e7\u00f5es<\/strong><\/h3>\n\n\n\n<p>Se a codifica\u00e7\u00e3o der errado ou se tornar desnecess\u00e1ria para o desenvolvimento do software, a ramifica\u00e7\u00e3o pode ser facilmente exclu\u00edda usando o par\u00e2metro \u201c-d\u201d.<\/p>\n\n\n\n<p><em>$ git branch -d &lt;nome&gt;<\/em><\/p>\n\n\n\n<p>Entretanto, quando a ramifica\u00e7\u00e3o tem altera\u00e7\u00f5es (commits) que n\u00e3o foram mesclados em outras subdivis\u00f5es ou n\u00e3o foram enviados para reposit\u00f3rios remotos, o Git se recusa a excluir o \u201cgalho\u201d para proteger o c\u00f3digo contra a perda acidental de seus dados. Caso a exclus\u00e3o seja realmente necess\u00e1ria, basta usar a op\u00e7\u00e3o \u201c-D\u201d para for\u00e7ar o apagamento.<\/p>\n\n\n\n<p><em>$ git branch -D &lt;nome&gt;<\/em><\/p>\n\n\n\n<p>J\u00e1 para excluir uma ramifica\u00e7\u00e3o remota, \u00e9 necess\u00e1rio usar o comando git push:<\/p>\n\n\n\n<p><em>$ git push origin &#8211;delete &lt;nome&gt;<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Mesclando ramifica\u00e7\u00f5es<\/strong><\/h3>\n\n\n\n<p>A mesclagem do Git permite juntar duas ou mais ramifica\u00e7\u00f5es por meio de um commit, depois de concluir e testar o c\u00f3digo desenvolvido de forma separada. Assim, o branch fica dispon\u00edvel para toda a equipe. O hist\u00f3rico de sua ramifica\u00e7\u00e3o de recurso \u00e9 preservado e apenas a ramifica\u00e7\u00e3o de destino \u00e9 alterada.<\/p>\n\n\n\n<p>Antes de mesclar, \u00e9 importante fazer um \u201cgit fetch\u201d para reunir informa\u00e7\u00f5es atualizadas sobre o reposit\u00f3rio remoto:<\/p>\n\n\n\n<p><em>$ git fetch &#8211;all<\/em><\/p>\n\n\n\n<p>Em seguida, \u00e9 necess\u00e1rio ir at\u00e9 a ramifica\u00e7\u00e3o na qual as altera\u00e7\u00f5es devem ser mescladas e executar o git checkout:<\/p>\n\n\n\n<p><em>$ git checkout principal<\/em><\/p>\n\n\n\n<p>Finalmente, \u00e9 poss\u00edvel usar o comando \u201cmerge myfeature\u201d na ramifica\u00e7\u00e3o prim\u00e1ria.<\/p>\n\n\n\n<p><em>$ git merge myfeature<\/em><\/p>\n\n\n\n<p>Se a mesclagem for bem-sucedida e o trabalho em myfeature estiver completo, a ramifica\u00e7\u00e3o experimental poder\u00e1 ser exclu\u00edda, pois todas as altera\u00e7\u00f5es est\u00e3o integradas ao c\u00f3digo principal.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Comando rebase<\/strong><\/h3>\n\n\n\n<p>O \u201crebase\u201d \u00e9 um conceito avan\u00e7ado no Git. O recurso \u00e9 semelhante \u00e0 mesclagem. Ambos os comandos pegam commits de uma ramifica\u00e7\u00e3o e os colocam em outra. Contudo, o \u201crebase\u201d apaga o hist\u00f3rico da ramifica\u00e7\u00e3o ap\u00f3s mesclar o c\u00f3digo secund\u00e1rio no principal. Para usar o comando, basta executar as linhas:<\/p>\n\n\n\n<p><em>$ git checkout myfeature<\/em><\/p>\n\n\n\n<p><em>$ git rebase main<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Comece a experimentar com o Git Branch<\/strong><\/h2>\n\n\n\n<p>A cria\u00e7\u00e3o e exclus\u00e3o de ramifica\u00e7\u00f5es \u00e9 um dos principais benef\u00edcios que os desenvolvedores desfrutam quando mudam dos sistemas tradicionais de controle de vers\u00e3o para o Git. Se os experimentos falharem, basta simplesmente excluir a ramifica\u00e7\u00e3o. E se eles tiverem sucesso, \u00e9 s\u00f3 mescl\u00e1-los ao c\u00f3digo-fonte para avan\u00e7ar no desenvolvimento do software.<\/p>\n\n\n\n<div class=\"user-cta-block\" style=\"background-color:#2E333C;\"><p>Veja como automatizar os controles de seus servidores e rotinas com o VPS Locaweb.<\/p><a class=\"user-cta\" style=\"background-color: #F00842\n;\" href=\"https:\/\/bit.ly\/3tIw2F4:;\" target=\"_blank\" rel=\"noopener\">Clique aqui<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Os recursos de ramifica\u00e7\u00f5es oferecidos pelo Git Branch ajudam os desenvolvedores a reduzir os bugs da vers\u00e3o final do software O Git Branch oferece recursos de ramifica\u00e7\u00e3o, um aspecto fundamental para o fluxo de trabalho de controle de vers\u00e3o. A ferramenta reduz a possibilidade de ocorr\u00eancia de erros na vers\u00e3o prim\u00e1ria da base de c\u00f3digo [&hellip;]<\/p>\n","protected":false},"author":24,"featured_media":38252,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-38249","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-aberto"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/38249","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/users\/24"}],"replies":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/comments?post=38249"}],"version-history":[{"count":9,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/38249\/revisions"}],"predecessor-version":[{"id":41964,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/38249\/revisions\/41964"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/media\/38252"}],"wp:attachment":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/media?parent=38249"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/categories?post=38249"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/tags?post=38249"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}