#cvs #vcs #системы контроля версий #git #репозиторий #githab #gitlab
1.1. Системы контроля версий (VCS) - позволяют хранить несколько версий одного и того же документа, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение.
1.2. Git — распределённая система управления версиями. Проект был создан создателем ядра Linux Линусом Торвальдсом для управления разработкой ядра Linux. Первая версия выпущена 7 апреля 2005 года.
1.3. GitHub - крупнейший веб-сервис основный на системе контроля версий Git, разработан на Ruby on Rails и Erlang компанией GitHub, Inc. Сервис бесплатен для проектов с открытым исходным кодом и (с 2019 года) небольших частных проектов, предоставляя им все возможности (включая SSL), а для крупных корпоративных проектов предлагаются различные платные тарифные планы.
В октябре 2018 года GitHub был выкуплен Microsoft за $7,5 млрд.
С 2019 GitHub года начал блокировать репозитории пользователей из Крыма.
С 2022 года GitHub расширил санкционные ограничения на территории России.
GitHub, как и любая компания, работающая в США, вынужден соблюдать требования американских властей и должен ограничивать доступ к аккаунтам для пользователей и компаний под блокирующими санкциями Минфина США или которые используют GitHub от имени попавших под санкции компаний или связанные с ними компании и разработчиков.
1.4. GitLub - веб-инструмент жизненного цикла DevOps с открытым исходным кодом, представляющий систему управления репозиториями кода для Git с собственной вики, системой отслеживания ошибок, CI/CD пайплайном и другими функциями.
Первоначально продукт назывался GitLab и распространялся под лицензией MIT. В июле 2013 продукт был разделен на две отдельные версии: GitLab CE: Community Edition и GitLab EE: Enterprise Edition. Лицензирование обеих версий осталось неизменным — свободное программное обеспечение с открытым исходным кодом, распространяемое по лицензии MIT.
В феврале 2014 года GitLab адаптировала бизнес-модель Open core. GitLab EE устанавливается в соответствии с лицензией EE и дополнена функциями, отсутствующими в версии CE. Хотя лицензия GitLab EE была изменена, исходный код остался общедоступным. А для GitLab CE модель лицензирования MIT с открытым исходным кодом осталась неизменной.
В январе 2017 года администратор базы данных случайно удалил производственную базу данных после кибератаки. Были утеряны данные, добавленные в течение последних 6 часов. На восстановление данных было потрачено около 18 часов. Процесс восстановления транслировался в прямом эфире на YouTube.
После покупки GitHub корпорацией Microsoft некоторые разработчики стали внимательнее смотреть в сторону GitLab как альтернативного и независимого решения для хостинга кода и совместной разработки
В мае 2018 года GNOME переехал в GitLab с более чем 400 проектами и 900 участниками.
15 октября 2019 из-за опасений корпоративных клиентов было предложено решение о запрете для сотрудников нескольких конкретных рабочих мест, речь идет только об отдельных ролях сотрудников техподдержки, имеющих доступ к персональным данным клиентов, иметь постоянное место проживания в Китае и России. Данное решение пока не было принято из-за озабоченности части пользователей. Причиной появления ограничения стали серьезные опасения многих корпоративных клиентов компании ввиду сложной геополитической ситуации, так как работники GitLab, проживающие в этих странах, имеют доступ к конфиденциальным данным клиентов. GitLab — полностью удаленная компания, ее сотрудники проживают в 64 странах мира.
23 октября 2019 года GitLab анонсировала, но уже на следующий день полностью отказалась от планов собирать статистику использования. Глава компании назвал идею ошибкой, отметив, что она вызвала негативную реакцию у пользователей, поэтому компания незамедлительно от нее отказалась.
Использование - до пяти пользователей с минимальными потребностями выгоднее всего бесплатный тариф GitLab Free. Но только до тех пор, пока вы не упираетесь в лимиты по объёму хостинга, трафику и операциям CI/CD.
В этом случае самый простой вариант — развернуть недорогой образ на VPS и спокойно использовать его практически без ограничений на количество пользователей (лимит существует, но он исключительно технический — сколько выдержит железо), трафик и размер репозиториев (опять же, ограничен чисто технически в рамках подключённого хранилища).
2. Практика. Работа в репозитории Git/GItHub.
2.1. Аутентификаци в GitHub.
Регистрируемся на GitHub https://github.com/login
2.1.1. Аутентификация по Токену
(С 13 августа 2021 года GitHub убрал возможность использовать личный пароль для получения доступа к репозиториям по https из терминала. Вместо пароля от аккаунта на github.com при выполнении команд git clone, git fetch, git pull, или git push теперь необходимо указывать персональный токен доступа. Такое решение было принято с целью защиты пользователей и предотвращения использования злоумышленниками похищенных или взломанных паролей.)
Получаем токен:
2.1.2. Аутентификация по SSH
Как альтернатива Токену безопасно и удобно
https://habr.com/ru/articles/755036/
2.2. Инициализации проекта - git init
Для того, что бы залить свой проект на удаленный репозиторий необходимо перейти в свой рабочий каталог и инициализировать в нем git репозиторий. Git создает в указанной папке скрытую папку ".git", в которой хранятся служебные файлы Git:
cd project_name
git init
git status
2.3. Заливаем изменения на репозиторий - git push
2.3.1. Указываем учетные данные
git config --global user.email "username@gmail.com"
git config --global user.name "UserName"
2.3.2. Добавляем все изменения и делаем коммит
git add .
git commit -m "My first commit"
git branch -M main
git remote add origin https://github.com/адрес_репозитория.git
git push -u origin main
указываем имя пользователя github и tokken
2.4. Клонируем проект с удаленного репозитория - git clone
git clone https://git_login:<TOKEN>@github.com/адрес_репозитория.git
3. Практика. Работа в репозитории Git/GItLub
Планируем переезд с GitHub на ВПСку GitLub в следующем году... (следите за обновлениями)