GitHub срещу GitLab

Git е разпределена реализация на контрол на версиите. Много хора са писали много красноречиво защо е добре да използвате контрола на версиите не само ако си сътрудничите в екип, но и ако работите самостоятелно; един пример е тази статия от страниците за поддръжка на RStudio.

Накратко, основната му характеристика е, че контролът на версиите ви позволява да следите промените, които правите в кода си. Той също така ще съхранява история на всички промени, които сте направили в миналото, и ви позволява да се върнете към конкретни версии, ако сте допуснали голяма грешка. И Git улеснява съвместната работа по същия код.

Повечето R пакети също се хостват на GitHub. Можете да проверите техния R код в хранилищата, ако искате да разберете по-задълбочено функциите, можете да инсталирате най-новите версии за разработка на пакети или да инсталирате пакети, които не са в CRAN. Функцията за проследяване на проблеми на GitHub също улеснява отчитането и реагирането на проблеми/проблеми с вашия код.

Защо искате да напуснете GitHub?

Публичните хранилища са безплатни в GitHub, но трябва да платите за частни репозитории (ако сте студент или работите в академични среди, получавате частни репозитории безплатно). Тъй като напоследък преминах от академичните среди към индустрията и вече не отговарям на тези критерии, всички мои частни репо-сделки ще трябва да бъдат превключени на публични в бъдеще. Тук GitLab е чудесна алтернатива!

GitLab предлага много подобни функции като GitHub. Има много плюсове и минуси за използването на GitHub срещу GitLab, но за мен точката на продажба беше, че GitLab предлага неограничени частни проекти и сътрудници в своя безплатен план.

Мигрирането от GitHub към GitLab с RStudio е много лесно! Тук ще покажа как мигрирах своите GitHub хранилища на R проекти, с които работя от RStudio, към GitLab.

Внимавайте, че ВСИЧКИ кодови фрагменти отдолу показват кода на терминала (НЕ са от R конзолата)!

Мигриране на съществуващите хранилища

Първо трябва да настроите своя GitLab акаунт (можете да влезете с вашия GitHub акаунт) и да свържете стария си GitHub акаунт. Под Настройки и акаунт ще намерите „Социален вход“; тук кликнете върху „Свързване“ до символа на GitHub (ако сте влезли с вашия акаунт в GitHub, той вече ще е свързан).

След като направите това, можете да импортирате всичките си хранилища на GitHub в GitLab. За да направите това, първо трябва да създадете нов проект. Кликнете върху падащата стрелка до знака плюс в горния десен ъгъл и изберете „Нов проект“. Това ще отвори следния прозорец:

gitlab

Тук изберете „Импортиране на проект от GitHub“ и изберете хранилищата, които искате да импортирате.

Ако влезете в едно от вашите хранилища, GitLab ще ви покаже съобщение в горната част на сайта, което ви казва, че трябва да добавите SSH ключ. SSH ключът се използва за сигурна комуникация между сървъра на GitLab и вашия компютър, когато искате да споделите информация, като push/pull фиксации.

Ако вече работите с GitHub на вашия компютър, ще имате настроен SSH ключ и можете да копирате публичния си SSH ключ в GitLab. Следвайте инструкциите тук.

Ето как го правите на Mac:

  1. Потърсете вашия публичен ключ и го копирайте в клипборда

След това го поставете в съответното поле тук.

Следващата стъпка е да промените отдалечения URL адрес за избутване/изтегляне на вашия проект от RStudio. Във вашия прозорец на Git (раздел за „Околна среда“ и „История“ за мен) кликнете върху Настройки и „Shell“.

След това напишете в отворения прозорец на черупката:

Можете да копирате връзката в навигационната лента на вашето репо в GitLab.

Проверете дали вече имате правилния нов път към gitlab, като отидете на „Инструменти“, „Опции на проекта“ и „Git/SVN“.

Също така проверете конфигурацията на вашия SSH ключ с:

Ако получите следното съобщение

въведете „да“ (и въведете парола, ако бъдете подканени).

Ако всичко е наред, сега ще получите съобщение с надпис Добре дошли в GitLab!

Сега можете да фиксирате, бутате и дърпате от RStudio точно както сте правили преди!

В случай на проблеми с бутане/дърпане

В моя случай мигрирах и двете, както моите частни, така и репозиториите на GitHub на моята компания към GitLab. Въпреки че моите частни репозитории могат да бъдат мигрирани без проблеми, мигрирането на репозиториите на моята компания беше малко по-сложно (тъй като те имаха допълнителни настройки за сигурност, предполагам).

Ето как реших този проблем с репозиториите на моята компания:

Защитих SSH ключа си с парола. Когато натискате или дърпате ангажименти чрез черупката с git pull и git push master master, аз ще бъда подканен да въведа паролата си и всичко работи добре. Натискането/изтеглянето от RStudio обаче доведе до грешка:

Използвам MacBook Pro с MacOS Sierra версия 10.12.6, така че това може да не е проблем с друга операционна система.

Следното решение работи за мен:

  1. Добавете вашия SSH ключ
  1. И преинсталирайте VS Code

Сега можех да ангажирам, бутам и дърпам от RStudio точно както преди!