{"id":230680,"date":"2022-12-18T16:31:00","date_gmt":"2022-12-18T13:31:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230680"},"modified":"2022-12-07T10:02:36","modified_gmt":"2022-12-07T07:02:36","slug":"migracja-z-bitbucket-do-github","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/migracja-z-bitbucket-do-github\/","title":{"rendered":"Migracja z Bitbucket do GitHub"},"content":{"rendered":"\n<p>Je\u015bli chodzi o <a href=\"https:\/\/bitbucket.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Bitbucket<\/a> i <a href=\"https:\/\/github.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GitHub<\/a>, ka\u017cdy z nich ma swoje zalety i wady. U\u017cywa\u0142em ich obu i lubi\u0119 je z r\u00f3\u017cnych powod\u00f3w.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-161067-61e71b1fd4259.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-161067-61e71b1fd4259.png\" alt=\"Migracja z Bitbucket do GitHub\" ><\/a><\/p>\n<p>Ale wol\u0119 GitHub z kilku innych powod\u00f3w ni\u017c Bitbucket (z kt\u00f3rych najmniejszym nie jest to, \u017ce moja organizacja by\u0142a tam hostowana). A ja lubi\u0119 mie\u0107 wszystko, mniej wi\u0119cej, w ramach tej samej us\u0142ugi.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-161067-61e71b239ea10.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-161067-61e71b239ea10.png\" alt=\"Migracja z Bitbucket do GitHub\" ><\/a><\/p>\n<p>W zesz\u0142ym tygodniu sp\u0119dzi\u0142em troch\u0119 czasu na migracji z Bitbucket do GitHub. Obecnie prowadz\u0119 dwa konta osobiste:<\/p>\n<ul>\n<li>jeden dla siebie,<\/li>\n<li>jeden dla Pressware.<\/li>\n<\/ul>\n<p>Zdecydowa\u0142em si\u0119 na zmian\u0119 konta organizacji na konto osobiste, aby zaoszcz\u0119dzi\u0107 pieni\u0105dze, a tak\u017ce dlatego, \u017ce jestem mniej wi\u0119cej firm\u0105, kt\u00f3ra od czasu do czasu ma wsp\u00f3\u0142pracownik\u00f3w.<\/p>\n<p>R\u00f3\u017cne przewodniki online pozostawiaj\u0105 wiele do \u017cyczenia, je\u015bli chodzi o migracj\u0119 z Bitbucket do Github, wi\u0119c pomy\u015bla\u0142em, \u017ce podziel\u0119 si\u0119 swoim do\u015bwiadczeniem.<\/p>\n<h2>Migracja z Bitbucket do GitHub<\/h2>\n<p>Po pierwsze, pisz\u0105c to, zak\u0142adam, \u017ce chcesz mie\u0107 dwa konta osobiste, z kt\u00f3rych ka\u017cde ma w\u0142asne konto GitHub, a tym samym sw\u00f3j adres e-mail.<\/p>\n<p>Je\u015bli tak jest, to powinno zapewni\u0107 ci wszystko, czego potrzebujesz. Zak\u0142adam r\u00f3wnie\u017c, \u017ce masz skonfigurowane dwa konta \u2013 nic moe (czyli \u017cadnych kluczy SSH ani nic podobnego).<\/p>\n<p>W moich przyk\u0142adach u\u017cywam <strong>Pressware<\/strong> jako nazwy u\u017cytkownika. B\u0119dziesz musia\u0142 zast\u0105pi\u0107 to, co chcesz.<\/p>\n<p>Powiedziawszy to, oto, co musisz zrobi\u0107.<\/p>\n<h3>1 Wygeneruj klucz SSH<\/h3>\n<p>Najpierw musisz wygenerowa\u0107 klucz SSH. W zale\u017cno\u015bci od rodzaju pracy, kt\u00f3r\u0105 wykonujesz, mo\u017cesz zachowa\u0107 ostro\u017cno\u015b\u0107. Oznacza to, \u017ce je\u015bli masz istniej\u0105cy plik <strong>id_rsa<\/strong>, nie nadpisuj go. Zamiast tego stworzymy drugi.<\/p>\n<p>Aby to zrobi\u0107, otw\u00f3rz terminal i <a href=\"https:\/\/gist.github.com\/tommcfarlin\/2550043bc0fc8bed8bef82a01c53df6d#file-00-generate-ssh-key-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wprowad\u017a nast\u0119puj\u0105ce polecenie,<\/a> zast\u0119puj\u0105c podany adres e-mail adresem e-mail drugiego konta, kt\u00f3re utworzy\u0142e\u015b (w moim przypadku jest to moje konto <strong>pressware<\/strong>, w przeciwie\u0144stwie do mojego konta <strong>tommcfarlin<\/strong> ).<\/p>\n<pre><code>$ ssh-keygen -t rsa -b 4096 -C \"email@pressware.co\"<\/code><\/pre>\n<p>Kiedy prosi o nazw\u0119 pliku, kt\u00f3rego chcesz u\u017cy\u0107, dodaj do niego nazw\u0119 u\u017cytkownika (lub nazwij go jak chcesz \u2013 po prostu jestem fanem robienia tego w ten spos\u00f3b).<\/p>\n<p>W moim przypadku zapisuj\u0119 plik w <code>id_rsa_pressware<\/code>. Nast\u0119pnie okre\u015bl dowolne has\u0142o.<\/p>\n<h3>2 Dodaj klucz do lokalnego agenta<\/h3>\n<p>Nast\u0119pnie musisz doda\u0107 klucz do swojego agenta SSH. Wszystko to jest niezb\u0119dne, aby\u015bmy mogli komunikowa\u0107 si\u0119 z odpowiednim kontem GitHub, gdy nadejdzie czas rozpocz\u0119cia migracji z Bitbucket do GitHub.<\/p>\n<p>Aby to zrobi\u0107, <a href=\"https:\/\/gist.github.com\/tommcfarlin\/2550043bc0fc8bed8bef82a01c53df6d#file-01-start-ssh-agent-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wprowad\u017a nast\u0119puj\u0105ce polecenie w swoim terminalu:<\/a><\/p>\n<p>Spowoduje to uruchomienie programu ssh-agent jako procesu w tle. Nast\u0119pnie wprowad\u017a nast\u0119pne polecenie:<\/p>\n<pre><code>$ ssh-add -K ~\/.ssh\/id_rsa_pressware<\/code><\/pre>\n<p>Spowoduje to dodanie klucza prywatnego SSH i zapisanie has\u0142a w p\u0119ku kluczy systemu operacyjnego.<\/p>\n<h3>3 Dodaj klucz SSH do GitHub<\/h3>\n<p>Nast\u0119pnie zaloguj si\u0119 na konto GitHub, do kt\u00f3rego b\u0119dziesz migrowa\u0107 repozytoria. Na koncie kliknij ikon\u0119 swojego profilu, a nast\u0119pnie kliknij element menu Ustawienia.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-161067-61e71b270e959.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-161067-61e71b270e959.png\" alt=\"Migracja z Bitbucket do GitHub\" ><\/a><\/p>\n<p>Stamt\u0105d wybierz opcj\u0119 dla kluczy SSH i GPG. Nast\u0119pnie skopiuj zawarto\u015b\u0107 nowo utworzonego klucza do schowka. Mo\u017cesz to zrobi\u0107 w terminalu za <a href=\"https:\/\/gist.github.com\/tommcfarlin\/2550043bc0fc8bed8bef82a01c53df6d#file-03-copy-public-key-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">pomoc\u0105 nast\u0119puj\u0105cego polecenia<\/a> :<\/p>\n<pre><code>$ pbcopy &lt; ~\/.ssh\/id_rsa_pressware.pub<\/code><\/pre>\n<p>Nast\u0119pnie kliknij przycisk Nowy klucz SSH i na nast\u0119pnej stronie nadaj kluczowi dowoln\u0105 nazw\u0119 i wklej zawarto\u015b\u0107, kt\u00f3ra zosta\u0142a w\u0142a\u015bnie skopiowana na klawiatur\u0119.<\/p>\n<h3>4 Przenie\u015b swoje repozytoria<\/h3>\n<p>Aby wszystko by\u0142o zwi\u0119z\u0142e, poka\u017c\u0119, jak skopiowa\u0107 jedno repozytorium. Bitbucket, ale musisz to zrobi\u0107 dla tylu repozytori\u00f3w, ile potrzebujesz do migracji.<\/p>\n<p>Najpierw na GitHub utw\u00f3rz puste repozytorium o tej samej nazwie, co to, kt\u00f3re zamierzasz migrowa\u0107. W poni\u017cszym przyk\u0142adzie u\u017cyj\u0119 po prostu <strong>acme-repository<\/strong>.<\/p>\n<p>Nast\u0119pnie wprowad\u017a <a href=\"https:\/\/gist.github.com\/tommcfarlin\/2550043bc0fc8bed8bef82a01c53df6d#file-04-clone-bitbucket-repository-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">w terminalu nast\u0119puj\u0105ce polecenie:<\/a><\/p>\n<pre><code>$ git clone --mirror https:\/\/bitbucket.org\/tommcfarlin\/acme-repository.git<\/code><\/pre>\n<p>Spowoduje to sklonowanie kopii lustrzanej repozytorium acme na pulpit. Nast\u0119pnie przejd\u017a do wn\u0119trza katalogu (wpisuj\u0105c <code>cd acme-repository.git<\/code>).<\/p>\n<p>Nast\u0119pnie <a href=\"https:\/\/gist.github.com\/tommcfarlin\/2550043bc0fc8bed8bef82a01c53df6d#file-05-set-new-repository-url-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wprowad\u017a to polecenie<\/a> w swoim terminalu:<\/p>\n<pre><code>$ git remote set-url --push origin git@github.com:pressware\/acme-repository.git<\/code><\/pre>\n<p>Spowoduje to ustawienie nowego zdalnego adresu URL nadrz\u0119dnego, do kt\u00f3rego powinna zosta\u0107 wypchni\u0119ta ca\u0142a zawarto\u015b\u0107 repozytorium.<\/p>\n<p>Po wykonaniu tej czynno\u015bci jest to kwestia <a href=\"https:\/\/gist.github.com\/tommcfarlin\/2550043bc0fc8bed8bef82a01c53df6d#file-06-push-the-repository-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wypchni\u0119cia zawarto\u015bci repozytorium:<\/a><\/p>\n<p>W zale\u017cno\u015bci od rozmiaru repozytorium mo\u017ce to zaj\u0105\u0107 troch\u0119 czasu, ale praca jest sko\u0144czona.<\/p>\n<h2>I to wszystko<\/h2>\n<p>\u0141atwo by\u0142oby powiedzie\u0107 \u201eto wszystko!&quot; ale jest to troch\u0119 czasoch\u0142onna praca, je\u015bli masz wiele repozytori\u00f3w, nie znasz SSH lub jeste\u015b nowy w tym wszystkim.<\/p>\n<p>Ale kiedy wszystko jest ju\u017c skonfigurowane i zorganizowane, znacznie przyjemniej jest mie\u0107 wszystko w tej samej us\u0142udze, je\u015bli tylko jest to oddzielone kontami.<\/p>\n<p>Wreszcie, w momencie pisania tego tekstu, w ten spos\u00f3b migrowa\u0142em z Bitbucket do GitHub. Podobnie jak inne posty i artyku\u0142y online, mo\u017ce to by\u0107 nieaktualne w ci\u0105gu kilku miesi\u0119cy.<\/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>Poniewa\u017c GitHub oferuje teraz bezp\u0142atne prywatne repozytoria, mo\u017cesz rozwa\u017cy\u0107 migracj\u0119 z Bitbucket do GitHub.<\/p>\n","protected":false},"author":1,"featured_media":234921,"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-230680","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\/230680","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=230680"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/230680\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/234921"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=230680"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=230680"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=230680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}