{"id":228884,"date":"2022-11-05T14:56:00","date_gmt":"2022-11-05T11:56:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=228884"},"modified":"2022-11-09T04:38:43","modified_gmt":"2022-11-09T01:38:43","slug":"ta-bort-git-commit-history-baade-lokalt-och-fjaerrstyrt","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/sv\/ta-bort-git-commit-history-baade-lokalt-och-fjaerrstyrt\/","title":{"rendered":"Ta bort Git Commit History (b\u00e5de lokalt och fj\u00e4rrstyrt)"},"content":{"rendered":"<p>\u00c4ven om de flesta av oss vet att vi aldrig b\u00f6r \u00f6verl\u00e5ta n\u00e5gon k\u00e4nslig information till ett k\u00e4llkodsf\u00f6rr\u00e5d (vare sig det \u00e4r <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> eller vad som helst), finns det tillf\u00e4llen d\u00e5 det h\u00e4nder.<\/p>\n<p>F\u00f6r det mesta f\u00f6rest\u00e4ller jag mig att det h\u00e4nder n\u00e4r vi arbetar med kod och sedan hoppar fram och tillbaka mellan IDE och en terminal och beg\u00e5r kod f\u00f6r att se till att vi inte f\u00f6rlorar n\u00e5gra \u00e4ndringar.<\/p>\n<p>Detta h\u00e4nder tillr\u00e4ckligt l\u00e4nge och sedan slutar vi med att beg\u00e5 en konsumentnyckel och konsumenthemlighet eller ett anv\u00e4ndarnamn och l\u00f6senord eller n\u00e5got liknande f\u00f6rvaret.<\/p>\n<p>Lyckligtvis kan vi ta bort commits f\u00f6r att \u00e5terst\u00e4lla v\u00e5r kod, men de flesta k\u00e4llkontrollsystem h\u00e5ller i slut\u00e4ndan en historik \u00f6ver allt (vilket \u00e4r bra). Men vad h\u00e4nder om vi beh\u00f6ver ta bort Git commit-historiken i b\u00e5de v\u00e5ra lokala och fj\u00e4rrf\u00f6rvar?<\/p>\n<h2>Ta bort Git Commit History<\/h2>\n<p>F\u00f6r det h\u00e4r exemplet antar jag att du arbetar med Git och att du arbetar med kommandoraden (\u00e4ven om jag kan f\u00f6rest\u00e4lla mig att de flesta <a href=\"https:\/\/tommcfarlin.com\/version-control-git\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GUI<\/a> :er till\u00e5ter m\u00f6jligheten att g\u00f6ra detta).<\/p>\n<p>D\u00e4refter antar jag att den commit du vill ta bort fr\u00e5n din historik \u00e4r den senaste commit och du vill bara g\u00e5 tillbaka ett steg.<\/p>\n<p>F\u00f6r att ta bort git commit-historiken helt, finns det bara tv\u00e5 saker du beh\u00f6ver g\u00f6ra:<\/p>\n<ol>\n<li>rebase till f\u00f6reg\u00e5ende commit,<\/li>\n<li>tryck grenen till fj\u00e4rrkontrollen.<\/li>\n<\/ol>\n<p>F\u00f6r att g\u00f6ra detta, kontrollera de tv\u00e5 mittersta stegen <a href=\"https:\/\/gist.github.com\/tommcfarlin\/a22929625c320d985747a83de31c0618\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">h\u00e4r<\/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>De ytterligare stegen f\u00f6re och efter de viktigaste \u00e5tagandena l\u00e5ter dig f\u00e5 en visuell lista \u00f6ver \u00e5taganden om du vill v\u00e4lja en separat \u00e5tagande som du vill \u00e5terst\u00e4lla till.<\/p>\n<p>Och du kan k\u00f6ra kommandot b\u00e5de f\u00f6re och efter de andra tv\u00e5 kommandona (som ses i sammanfattningen ovan) f\u00f6r att se till att listan \u00f6ver \u00e5taganden visas som du vill i projektets historia.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Det \u00e4r en sak att \u00e5terst\u00e4lla, men t\u00e4nk om vi beh\u00f6ver ta bort Git commit-historik i b\u00e5de v\u00e5ra lokala och fj\u00e4rrlager?<\/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":[776,724],"tags":[1173],"class_list":["post-228884","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kaellkontroll","category-utvecklaren","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/228884","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/comments?post=228884"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/228884\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media\/223741"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media?parent=228884"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/categories?post=228884"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/tags?post=228884"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}