{"id":229560,"date":"2022-11-05T14:42:00","date_gmt":"2022-11-05T11:42:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229560"},"modified":"2022-11-09T08:28:21","modified_gmt":"2022-11-09T05:28:21","slug":"removendo-o-historico-de-confirmacao-do-git-local-e-remoto","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/removendo-o-historico-de-confirmacao-do-git-local-e-remoto\/","title":{"rendered":"Removendo o hist\u00f3rico de confirma\u00e7\u00e3o do Git (local e remoto)"},"content":{"rendered":"<p>Embora a maioria de n\u00f3s saiba que nunca devemos enviar informa\u00e7\u00f5es confidenciais para um reposit\u00f3rio de c\u00f3digo-fonte (seja <a href=\"https:\/\/git-scm.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Git<\/a>, <a href=\"https:\/\/subversion.apache.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Subversion<\/a> ou qualquer outro), h\u00e1 momentos em que isso acontece.<\/p>\n<p>Na maioria das vezes, imagino que isso aconte\u00e7a sempre que estamos trabalhando no c\u00f3digo e, em seguida, alternando entre o IDE e um terminal e confirmando o c\u00f3digo para garantir que n\u00e3o estamos perdendo nenhuma altera\u00e7\u00e3o.<\/p>\n<p>Isso acontece por tempo suficiente e, em seguida, acabamos confirmando uma chave de consumidor e um segredo de consumidor ou um nome de usu\u00e1rio e senha ou algo semelhante ao reposit\u00f3rio.<\/p>\n<p>Felizmente, podemos remover commits para reverter nosso c\u00f3digo, mas a maioria dos sistemas de controle de origem acaba mantendo um hist\u00f3rico de tudo (o que \u00e9 bom). Mas e se precisarmos remover o hist\u00f3rico de commits do Git em nossos reposit\u00f3rios locais e remotos?<\/p>\n<h2>Removendo o hist\u00f3rico de commits do Git<\/h2>\n<p>Para este exemplo, estou assumindo que voc\u00ea est\u00e1 trabalhando com o Git e est\u00e1 trabalhando com a linha de comando (embora eu imagine que a maioria das <a href=\"https:\/\/tommcfarlin.com\/version-control-git\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GUIs<\/a> permitiria a capacidade de fazer isso).<\/p>\n<p>Em seguida, estou assumindo que o commit que voc\u00ea deseja remover do seu hist\u00f3rico \u00e9 o commit mais recente e voc\u00ea s\u00f3 quer voltar uma etapa.<\/p>\n<p>Para remover completamente o hist\u00f3rico de commits do git, h\u00e1 apenas duas coisas que voc\u00ea precisa fazer:<\/p>\n<ol>\n<li>rebase para o commit anterior,<\/li>\n<li>empurre a ramifica\u00e7\u00e3o para o controle remoto.<\/li>\n<\/ol>\n<p>Para fazer isso, verifique as duas etapas do meio <a href=\"https:\/\/gist.github.com\/tommcfarlin\/a22929625c320d985747a83de31c0618\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">aqui<\/a> :<\/p>\n<pre><code># First, review the history. (Gotta make sure you're going to roll back to the right place!)\n$ git log --pretty=oneline --abbrev-commit\n\n# Remove HEAD back to the commit prior to the one that has sensitive information\n# and set equal to the last good commit.\n$ git rebase -i HEAD~1\n\n# Push the content to the remote repository and remove it from the history.\n$ git push origin +&lt;name of branch&gt;\n\n# If you want to review the history...\n$ git log --pretty=oneline --abbrev-commit<\/code><\/pre>\n<p>As etapas adicionais antes e depois dos commits principais permitem que voc\u00ea obtenha uma lista visual de commits caso voc\u00ea queira escolher um commit separado para o qual deseja reverter.<\/p>\n<p>E voc\u00ea pode executar o comando antes e depois dos outros dois comandos (como visto no gist acima) para garantir que a lista de commits apare\u00e7a como voc\u00ea deseja no hist\u00f3rico do projeto.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Uma coisa \u00e9 reverter, mas e se precisarmos remover o hist\u00f3rico de commits do Git em nossos reposit\u00f3rios locais e remotos?<\/p>\n","protected":false},"author":1,"featured_media":223741,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[722,774],"tags":[1170],"class_list":["post-229560","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvedor","category-fonte-de-controle","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/229560","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=229560"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/229560\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/223741"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=229560"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=229560"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=229560"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}