{"id":228899,"date":"2022-11-05T14:42:00","date_gmt":"2022-11-05T11:42:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=228899"},"modified":"2022-11-09T04:42:59","modified_gmt":"2022-11-09T01:42:59","slug":"usuwanie-historii-zatwierdzania-git-zarowno-lokalnej-jak-i-zdalnej","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/usuwanie-historii-zatwierdzania-git-zarowno-lokalnej-jak-i-zdalnej\/","title":{"rendered":"Usuwanie historii zatwierdzania Git (zar\u00f3wno lokalnej, jak i zdalnej)"},"content":{"rendered":"\n<p>Chocia\u017c wi\u0119kszo\u015b\u0107 z nas wie, \u017ce nigdy nie powinni\u015bmy umieszcza\u0107 \u017cadnych poufnych informacji w repozytorium kodu \u017ar\u00f3d\u0142owego (czy to <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>, czy cokolwiek innego), zdarzaj\u0105 si\u0119 sytuacje, w kt\u00f3rych tak si\u0119 dzieje.<\/p>\n<p>Przez wi\u0119kszo\u015b\u0107 czasu wyobra\u017cam sobie, \u017ce dzieje si\u0119 to za ka\u017cdym razem, gdy pracujemy nad kodem, a nast\u0119pnie przeskakujemy tam iz powrotem mi\u0119dzy IDE a terminalem i zatwierdzamy kod, aby upewni\u0107 si\u0119, \u017ce nie tracimy \u017cadnych zmian.<\/p>\n<p>Dzieje si\u0119 to wystarczaj\u0105co d\u0142ugo, a potem w ko\u0144cu zatwierdzamy klucz klienta i klucz klienta lub nazw\u0119 u\u017cytkownika i has\u0142o lub co\u015b podobnego do repozytorium.<\/p>\n<p>Na szcz\u0119\u015bcie mo\u017cemy usun\u0105\u0107 zatwierdzenia, aby przywr\u00f3ci\u0107 nasz kod, ale wi\u0119kszo\u015b\u0107 system\u00f3w kontroli \u017ar\u00f3d\u0142a przechowuje histori\u0119 wszystkiego (co jest dobr\u0105 rzecz\u0105). Ale co, je\u015bli b\u0119dziemy musieli usun\u0105\u0107 histori\u0119 zmian Git zar\u00f3wno z naszych lokalnych, jak i zdalnych repozytori\u00f3w?<\/p>\n<h2>Usuwanie historii zatwierdzania Git<\/h2>\n<p>W tym przyk\u0142adzie zak\u0142adam, \u017ce pracujesz z Git i pracujesz z wierszem polece\u0144 (chocia\u017c wyobra\u017cam sobie, \u017ce wi\u0119kszo\u015b\u0107 <a href=\"https:\/\/tommcfarlin.com\/version-control-git\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GUI<\/a> pozwoli na to).<\/p>\n<p>Nast\u0119pnie zak\u0142adam, \u017ce zatwierdzenie, kt\u00f3re chcesz usun\u0105\u0107 z historii, jest najnowszym zatwierdzeniem i chcesz tylko cofn\u0105\u0107 si\u0119 o jeden krok.<\/p>\n<p>Aby ca\u0142kowicie usun\u0105\u0107 histori\u0119 zmian git, musisz zrobi\u0107 tylko dwie rzeczy:<\/p>\n<ol>\n<li>przebazowa\u0107 do poprzedniego zatwierdzenia,<\/li>\n<li>popchnij ga\u0142\u0105\u017a do pilota.<\/li>\n<\/ol>\n<p>Aby to zrobi\u0107, sprawd\u017a dwa \u015brodkowe kroki <a href=\"https:\/\/gist.github.com\/tommcfarlin\/a22929625c320d985747a83de31c0618\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">tutaj<\/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>Dodatkowe kroki przed i po g\u0142\u00f3wnym zatwierdzeniu pozwalaj\u0105 uzyska\u0107 wizualn\u0105 list\u0119 zatwierdze\u0144 na wypadek, gdyby\u015b chcia\u0142 wybra\u0107 oddzielny zatwierdzenie, do kt\u00f3rego chcesz cofn\u0105\u0107.<\/p>\n<p>I mo\u017cesz uruchomi\u0107 polecenie zar\u00f3wno przed, jak i po pozosta\u0142ych dw\u00f3ch poleceniach (jak wida\u0107 w tre\u015bci powy\u017cej), aby upewni\u0107 si\u0119, \u017ce lista zatwierdze\u0144 wygl\u0105da tak, jak chcesz w historii projektu.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Przywr\u00f3cenie to jedna rzecz, ale co zrobi\u0107, je\u015bli b\u0119dziemy musieli usun\u0105\u0107 histori\u0119 zmian Git zar\u00f3wno z naszych lokalnych, jak i zdalnych repozytori\u00f3w?<\/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":[721,773],"tags":[1169],"class_list":["post-228899","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deweloper","category-kontrola-zrodla","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/228899","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/comments?post=228899"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/228899\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/223741"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=228899"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=228899"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=228899"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}