{"id":229572,"date":"2022-11-05T14:13:00","date_gmt":"2022-11-05T11:13:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229572"},"modified":"2022-11-09T08:31:41","modified_gmt":"2022-11-09T05:31:41","slug":"git-commit-historian-poistaminen-sekae-paikallinen-ettae-etae","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/git-commit-historian-poistaminen-sekae-paikallinen-ettae-etae\/","title":{"rendered":"Git Commit -historian poistaminen (sek\u00e4 paikallinen ett\u00e4 et\u00e4)"},"content":{"rendered":"<p>Vaikka useimmat meist\u00e4 tiet\u00e4v\u00e4t, ett\u00e4 meid\u00e4n ei pit\u00e4isi koskaan siirt\u00e4\u00e4 arkaluonteisia tietoja l\u00e4hdekoodivarastoon (olipa se sitten <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> tai mik\u00e4 tahansa), joskus niin tapahtuu.<\/p>\n<p>Useimmiten kuvittelen, ett\u00e4 se tapahtuu aina, kun ty\u00f6skentelemme koodin parissa ja sitten hypp\u00e4\u00e4mme edestakaisin IDE:n ja p\u00e4\u00e4tteen v\u00e4lill\u00e4 ja sitoudumme koodiin varmistaaksemme, ett\u00e4 emme menet\u00e4 muutoksia.<\/p>\n<p>T\u00e4t\u00e4 tapahtuu tarpeeksi kauan, ja sitten p\u00e4\u00e4dymme sitomaan kuluttajaavaimen ja kuluttajasalaisuuden tai k\u00e4ytt\u00e4j\u00e4tunnuksen ja salasanan tai jotain vastaavaa arkistoon.<\/p>\n<p>Onneksi voimme poistaa sitoumukset palauttaaksemme koodimme, mutta useimmat l\u00e4hteenhallintaj\u00e4rjestelm\u00e4t p\u00e4\u00e4tyv\u00e4t pit\u00e4m\u00e4\u00e4n historiaa kaikesta (mik\u00e4 on hyv\u00e4 asia). Mutta ent\u00e4 jos meid\u00e4n on ryhdytt\u00e4v\u00e4 poistamaan Git-sitoumushistoria sek\u00e4 paikallisista ett\u00e4 et\u00e4varastoistamme?<\/p>\n<h2>Git Commit -historian poistaminen<\/h2>\n<p>T\u00e4ss\u00e4 esimerkiss\u00e4 oletan, ett\u00e4 ty\u00f6skentelet Gitin kanssa ja k\u00e4yt\u00e4t komentorivi\u00e4 (vaikka luulisin, ett\u00e4 useimmat <a href=\"https:\/\/tommcfarlin.com\/version-control-git\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">graafiset k\u00e4ytt\u00f6liittym\u00e4t<\/a> mahdollistaisivat t\u00e4m\u00e4n).<\/p>\n<p>Seuraavaksi oletan, ett\u00e4 sitoumus, jonka haluat poistaa historiastasi, on viimeisin ja haluat vain palata yhden askeleen taaksep\u00e4in.<\/p>\n<p>Jos haluat poistaa Git-sitoumushistorian kokonaan, sinun on teht\u00e4v\u00e4 vain kaksi asiaa:<\/p>\n<ol>\n<li>palata edelliseen sitoumukseen,<\/li>\n<li>ty\u00f6nn\u00e4 haara kaukos\u00e4\u00e4timeen.<\/li>\n<\/ol>\n<p>Voit tehd\u00e4 t\u00e4m\u00e4n tarkistamalla kaksi keskimm\u00e4ist\u00e4 vaihetta <a href=\"https:\/\/gist.github.com\/tommcfarlin\/a22929625c320d985747a83de31c0618\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">t\u00e4\u00e4lt\u00e4<\/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>Lis\u00e4vaiheet ennen ja j\u00e4lkeen p\u00e4\u00e4toimituksia mahdollistavat visuaalisen luettelon toimituksista silt\u00e4 varalta, ett\u00e4 haluat valita erillisen toimituksen, jonka haluat peruuttaa.<\/p>\n<p>Ja voit suorittaa komennon sek\u00e4 ennen kahta muuta komentoa ett\u00e4 sen j\u00e4lkeen (kuten yll\u00e4 olevasta p\u00e4\u00e4sis\u00e4ll\u00f6st\u00e4 n\u00e4kyy) varmistaaksesi, ett\u00e4 toimitusluettelo n\u00e4kyy projektin historiassa haluamallasi tavalla.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>On yksi asia palauttaa, mutta ent\u00e4 jos meid\u00e4n on poistettava Git-sitoumushistoria sek\u00e4 paikallisista ett\u00e4 et\u00e4varastoistamme?<\/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":[719,771],"tags":[1166],"class_list":["post-229572","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kehittaejae","category-laehteen-ohjaus","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/229572","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/comments?post=229572"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/229572\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/223741"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=229572"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=229572"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=229572"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}