{"id":478,"date":"2023-06-01T13:56:06","date_gmt":"2023-06-01T13:56:06","guid":{"rendered":"https:\/\/jplatz.com.br\/syntax\/?p=478"},"modified":"2023-06-01T19:29:21","modified_gmt":"2023-06-01T19:29:21","slug":"git-reset-para-unificar-varios-commits-em-um-unico-commit","status":"publish","type":"post","link":"https:\/\/jplatz.com.br\/syntax\/2023\/06\/01\/git-reset-para-unificar-varios-commits-em-um-unico-commit\/","title":{"rendered":"GIT Reset Para Unificar V\u00e1rios Commits em um \u00danico Commit"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code>git reset --soft HEAD~2 \ngit commit -m \"new commit message\"\ngit push -f<\/code><\/pre>\n\n\n\n<p>O jeito mais r\u00e1pido para se unificar v\u00e1rios commits num \u00fanico <strong>commit<\/strong> \u00e9 usando o <strong>git reset<\/strong>. Pra quem n\u00e3o sabe o nome desta opera\u00e7\u00e3o \u00e9 <strong>SQUASH<\/strong>, mas o <strong>GIT<\/strong> n\u00e3o tem uma comando <strong>git squash<\/strong> como muitos podem pensar.<\/p>\n\n\n\n<p>Apesar de muitos artigos desaconselharem o uso do <strong>RESET<\/strong> por v\u00e1rios motivos, esta sequ\u00eancia de comandos \u00e9 inofensiva e muito f\u00e1cil de realizar.<\/p>\n\n\n\n<p>No exemplo acima basicamente o <strong>reset<\/strong> desfaz os \u00faltimos 2 <strong>commits<\/strong> indicados em <strong>HEAD~2<\/strong> sendo que o <strong>&#8211;soft<\/strong> indica para manter os arquivos impactados na <strong>working area<\/strong>.<\/p>\n\n\n\n<p>Na sequ\u00eancia basta realizar um novo <strong>commit<\/strong> com todos os arquivos contendo as altera\u00e7\u00f5es dos <strong>commits<\/strong> desfeitos. Uma nova mensagem precisa ser informada para este novo <strong>commit<\/strong>.<\/p>\n\n\n\n<p><strong><em>Simples, r\u00e1pido e eficiente!<\/em><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>O jeito mais r\u00e1pido para se unificar v\u00e1rios commits num \u00fanico commit \u00e9 usando o git reset. Pra quem n\u00e3o sabe o nome desta opera\u00e7\u00e3o \u00e9 SQUASH, mas o GIT n\u00e3o tem uma comando git squash como muitos podem pensar. Apesar de muitos artigos desaconselharem o uso do RESET por v\u00e1rios motivos, esta sequ\u00eancia de [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33,35],"tags":[55,238,235,237],"class_list":["post-478","post","type-post","status-publish","format-standard","hentry","category-dev-ops","category-git","tag-git","tag-git-commit","tag-git-reset","tag-squash"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/posts\/478","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/comments?post=478"}],"version-history":[{"count":2,"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/posts\/478\/revisions"}],"predecessor-version":[{"id":481,"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/posts\/478\/revisions\/481"}],"wp:attachment":[{"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/media?parent=478"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/categories?post=478"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/tags?post=478"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}