{"id":364,"date":"2016-04-22T20:30:00","date_gmt":"2016-04-22T23:30:00","guid":{"rendered":"https:\/\/cahfelix.tech\/blog\/?p=364"},"modified":"2025-10-30T14:10:38","modified_gmt":"2025-10-30T17:10:38","slug":"manual-de-sobrevivencia-git","status":"publish","type":"post","link":"https:\/\/cahfelix.tech\/blog\/manual-de-sobrevivencia-git\/","title":{"rendered":"Manual de Sobreviv\u00eancia GIT"},"content":{"rendered":"\n<p>Este artigo traz um guia r\u00e1pido com os principais comandos do <strong>Git<\/strong> usados no dia a dia dos desenvolvedores.<\/p>\n\n\n\n<p>No final da p\u00e1gina, h\u00e1 um link para baixar uma vers\u00e3o em PDF e guardar com voc\u00ea \ud83d\ude09 <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Comandos mais usados no Git<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Verificar status<\/strong> do que foi alterado<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>git status<\/code><\/pre>\n\n\n\n<p>Mostra o status das altera\u00e7\u00f5es e os arquivos n\u00e3o monitorados pelo Git (arquivos novos).<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Adicionar arquivos<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>git add &lt;nome_arquivo&gt;<\/code><\/pre>\n\n\n\n<p>Adiciona um arquivo espec\u00edfico.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git add .<\/code><\/pre>\n\n\n\n<p>Adiciona todos os arquivos criados e modificados.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Confirmar altera\u00e7\u00f5es<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>git commit -m \"mensagem\"<\/code><\/pre>\n\n\n\n<p>Confirma as mudan\u00e7as enviadas e cria uma mensagem de commit.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Enviar altera\u00e7\u00f5es<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>git push origin master<\/code><\/pre>\n\n\n\n<p>Envia as altera\u00e7\u00f5es para o reposit\u00f3rio remoto no branch <em>master<\/em>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Hist\u00f3rico e branches<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>git log<\/code><\/pre>\n\n\n\n<p>Exibe o hist\u00f3rico de commits.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git branch -a<\/code><\/pre>\n\n\n\n<p>Lista todos os branches, locais e remotos.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git branch -D &lt;branch_name&gt;<\/code><\/pre>\n\n\n\n<p>Remove o branch local.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git push origin :&lt;branch_name&gt;<\/code><\/pre>\n\n\n\n<p>Remove o branch remoto.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Atualizar refer\u00eancias<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>git fetch --all<\/code><\/pre>\n\n\n\n<p>Busca todas as refer\u00eancias de branches e tags.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Aplicar commits espec\u00edficos<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>git cherry-pick &lt;SHA-1&gt;&#91;..&lt;SHA-1&gt;]<\/code><\/pre>\n\n\n\n<p>Aplica um ou mais commits no branch atual.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Criar e mudar de branch<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>git checkout -b &lt;branch_name&gt; &lt;remote&gt;\/&lt;branch_name&gt;<\/code><\/pre>\n\n\n\n<p>Cria um novo branch e referencia o branch remoto correspondente.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git checkout &lt;branch_name&gt;<\/code><\/pre>\n\n\n\n<p>Troca para o branch indicado.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Descartar altera\u00e7\u00f5es<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>git checkout &#91;--ours\/--theirs]<\/code><\/pre>\n\n\n\n<p>Descarta as altera\u00e7\u00f5es no arquivo de acordo com a op\u00e7\u00e3o escolhida (nossa vers\u00e3o ou a deles).<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Guardar e restaurar altera\u00e7\u00f5es tempor\u00e1rias<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>git stash<\/code><\/pre>\n\n\n\n<p>Guarda temporariamente todas as modifica\u00e7\u00f5es do diret\u00f3rio de trabalho.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git stash pop<\/code><\/pre>\n\n\n\n<p>Restaura as modifica\u00e7\u00f5es guardadas com o comando <code>git stash<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Atualizar branches remotos<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>git remote update &lt;remote&gt; --prune<\/code><\/pre>\n\n\n\n<p>Atualiza a lista de branches remotos (para verificar, use <code>git branch -a<\/code>).<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Dicas de sobreviv\u00eancia extra<\/strong><\/h2>\n\n\n\n<p><strong>Comite com prop\u00f3sito:<\/strong> use mensagens descritivas, por exemplo <code>git commit -m \"corrige c\u00e1lculo de desconto\"<\/code> em vez de \u201cfix\u201d.<\/p>\n\n\n\n<p><strong>Atualize antes de come\u00e7ar:<\/strong> sempre execute <code>git pull<\/code> antes de iniciar o dia para evitar conflitos.<\/p>\n\n\n\n<p><strong>Use branches claros:<\/strong> nomes como <code>feature\/login-page<\/code> ou <code>bugfix\/api-timeout<\/code> facilitam a leitura do hist\u00f3rico.<\/p>\n\n\n\n<p><strong>Evite <code>force push<\/code>:<\/strong> s\u00f3 use <code>git push --force<\/code> se souber exatamente o que est\u00e1 fazendo.<\/p>\n\n\n\n<p><strong>Fa\u00e7a stashes com descri\u00e7\u00e3o:<\/strong> use <code>git stash save \"ajustes na tela de perfil\"<\/code> para lembrar o que foi guardado.<\/p>\n\n\n\n<p><strong>Alias s\u00e3o seus amigos:<\/strong> crie atalhos como<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git config --global alias.st status\ngit config --global alias.co checkout\ngit config --global alias.br branch\ngit config --global alias.cm \"commit -m\"<\/code><\/pre>\n\n\n\n<p>Assim, voc\u00ea pode usar <code>git st<\/code>, <code>git co<\/code>, <code>git br<\/code> e <code>git cm<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Dica b\u00f4nus<\/strong><\/h2>\n\n\n\n<p>Pratique com reposit\u00f3rios pessoais, sem medo de errar. Git \u00e9 mais sobre entender o fluxo do que decorar comandos. Quanto mais voc\u00ea pratica, mais natural ele se torna \ud83d\ude09 <\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Este artigo traz um guia r\u00e1pido com os principais comandos do Git usados no dia a dia dos desenvolvedores. No final da p\u00e1gina, h\u00e1 um link para baixar uma vers\u00e3o&#8230;<\/p>\n","protected":false},"author":1,"featured_media":375,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25],"tags":[4,5],"class_list":["post-364","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engenharia-de-software","tag-git","tag-git-hub"],"aioseo_notices":[],"featured":false,"read_time":3,"_links":{"self":[{"href":"https:\/\/cahfelix.tech\/blog\/wp-json\/wp\/v2\/posts\/364","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cahfelix.tech\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cahfelix.tech\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cahfelix.tech\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cahfelix.tech\/blog\/wp-json\/wp\/v2\/comments?post=364"}],"version-history":[{"count":8,"href":"https:\/\/cahfelix.tech\/blog\/wp-json\/wp\/v2\/posts\/364\/revisions"}],"predecessor-version":[{"id":374,"href":"https:\/\/cahfelix.tech\/blog\/wp-json\/wp\/v2\/posts\/364\/revisions\/374"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cahfelix.tech\/blog\/wp-json\/wp\/v2\/media\/375"}],"wp:attachment":[{"href":"https:\/\/cahfelix.tech\/blog\/wp-json\/wp\/v2\/media?parent=364"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cahfelix.tech\/blog\/wp-json\/wp\/v2\/categories?post=364"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cahfelix.tech\/blog\/wp-json\/wp\/v2\/tags?post=364"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}