{"id":229172,"date":"2022-11-05T14:31:00","date_gmt":"2022-11-05T11:31:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229172"},"modified":"2022-11-09T05:49:17","modified_gmt":"2022-11-09T02:49:17","slug":"eliminacion-del-historial-de-confirmacion-de-git-tanto-local-como-remoto","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/eliminacion-del-historial-de-confirmacion-de-git-tanto-local-como-remoto\/","title":{"rendered":"Eliminaci\u00f3n del historial de confirmaci\u00f3n de Git (tanto local como remoto)"},"content":{"rendered":"<p>Aunque la mayor\u00eda de nosotros sabemos que nunca debemos enviar informaci\u00f3n confidencial a un repositorio de c\u00f3digo fuente (ya sea <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> o lo que sea), hay momentos en los que sucede.<\/p>\n<p>La mayor\u00eda de las veces, me imagino que sucede cada vez que estamos trabajando en el c\u00f3digo y luego saltando de un lado a otro entre el IDE y una terminal y confirmando el c\u00f3digo para asegurarnos de que no estamos perdiendo ning\u00fan cambio.<\/p>\n<p>Esto sucede el tiempo suficiente y luego terminamos asignando una clave de consumidor y un secreto de consumidor o un nombre de usuario y contrase\u00f1a o algo similar al repositorio.<\/p>\n<p>Afortunadamente, podemos eliminar las confirmaciones para revertir nuestro c\u00f3digo, pero la mayor\u00eda de los sistemas de control de fuentes terminan manteniendo un historial de todo (lo cual es bueno). Pero, \u00bfqu\u00e9 sucede si necesitamos eliminar el historial de confirmaciones de Git en nuestros repositorios locales y remotos?<\/p>\n<h2>Eliminaci\u00f3n del historial de confirmaciones de Git<\/h2>\n<p>Para este ejemplo, supongo que est\u00e1 trabajando con Git y est\u00e1 trabajando con la l\u00ednea de comandos (aunque me imagino que la mayor\u00eda de las <a href=\"https:\/\/tommcfarlin.com\/version-control-git\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GUI<\/a> permitir\u00edan la capacidad de hacer esto).<\/p>\n<p>A continuaci\u00f3n, supongo que la confirmaci\u00f3n que desea eliminar de su historial es la confirmaci\u00f3n m\u00e1s reciente y solo desea retroceder un paso.<\/p>\n<p>Para eliminar por completo el historial de confirmaci\u00f3n de git, solo hay dos cosas que debe hacer:<\/p>\n<ol>\n<li>rebase a la confirmaci\u00f3n anterior,<\/li>\n<li>empuje la rama al control remoto.<\/li>\n<\/ol>\n<p>Para hacer esto, verifique los dos pasos del medio <a href=\"https:\/\/gist.github.com\/tommcfarlin\/a22929625c320d985747a83de31c0618\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">aqu\u00ed<\/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>Los pasos adicionales antes y despu\u00e9s de las confirmaciones principales le permiten obtener una lista visual de confirmaciones en caso de que desee elegir una confirmaci\u00f3n separada a la que desee revertir.<\/p>\n<p>Y puede ejecutar el comando tanto antes como despu\u00e9s de los otros dos comandos (como se ve en la esencia anterior) para asegurarse de que la lista de confirmaciones aparezca como desea en el historial del proyecto.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Una cosa es revertir, pero \u00bfqu\u00e9 pasa si necesitamos eliminar el historial de confirmaciones de Git en nuestros repositorios locales y 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":[716,768],"tags":[1172],"class_list":["post-229172","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desarrollador","category-fuente-de-control","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/229172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/comments?post=229172"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/229172\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/223741"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=229172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=229172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=229172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}