18 августа, после двух месяцев разработки, состоялся выпуск 2.51 распределённой системы управления исходными текстами Git.
По сравнению с прошлым выпуском в новую версию принято 506 изменений, подготовленных при участии 91 разработчика (21 впервые приняли участие в разработке Git).
20 июня, после восьми месяцев разработки, состоялся выпуск 7.4.0 (Kyanite) набора bash-скриптов для Git Git Extras, существенно упрощающих и улучшающих повседневную работу с Git.
14 марта, после двух месяцев разработки, состоялся выпуск 2.49 распределённой системы управления версиями Git, написанной на языке C и распространяемой по лицензии GNU GPL 2.
28 декабря состоялся выпуск 1.9.0 кроссплатформенной библиотеки libgit2, реализующей основные методы Git. Библиотека написана на языке C и распространяется по лицензии GNU GPL 2 со специальным исключением для линковки, позволяющим не раскрывать исходный код.
Ожидается, что это будет последний выпуск в линейке 1.x, и следующей версией станет libgit2 v2.0, в которой поддержка SHA256 перейдёт из статуса «экспериментальная» в статус «поддерживается». Это означает, что в версию 2.0 будут внесены изменения в API и ABI для поддержки SHA256, а также другие изменения, ломающие совместимость.
7 декабря состоялся выпуск 2.40.0 консольной утилиты GitHub CLI, написанной на языке Go и распространяемой по лицензии MIT.
Выпуск сфокусирован на поддержке нескольких учетных записей на GitHub.com и GitHub Enterprise:
добавление нескольких учетных записей для GitHub.com и GitHub Enterprise командой gh auth login;
ручное переключение между учетными записями в gh и git командой gh auth switch;
просмотр статуса нескольких учетных записей командой gh auth status;
выход из аккаунтов командой gh auth logout.
Другие изменения:
улучшена обработка ошибок при создании пространств кода с именем, превышающим 48 символов;
улучшена обработка ошибок статуса аутентификации при проблемах с соединением;
добавлена возможность фильтрации по коммиту в команде gh run : gh run list -c <коммит>
более информативный вывод pr merge в интерактивном режиме;
унификация разметки встроенной справки;
добавлен индикатор прогресса при установке расширений;
поддержка нескольких учетных записей на одном хосте;
Команда разработчиков Git рада сообщить о выходе новой 2.33 версии, над которой они трудились около 2-х месяцев.
Git – это самая популярная распределенная система управления версиями в нелинейной разработке, основанная на ветвлении и слиянии веток (branches). В этот раз было принято 649 изменений, далее самые значимые:
команда git send-email была ускорена и получила новую опцию --sendmail-cmd и настройку sendemail.sendmailCmd, с помощью которых теперь можно определить команду для взаимодействия с SMTP-сервером при отправке писем;
для команды git rev-list реализована опция --no-commit-header, соответственно заголовок commit <object-name> показан не будет, что упрощает использование вывода в скриптах;
в команде git worktree add --lock теперь есть возможность вывода причины блокировки рабочего дерева;
продолжена работа по переписыванию реализации git submodule на язык C;
шаблон, связанный с userdiff, теперь имеет поддержку токена record для языка C#;
проведена работа, связанная с опцией git log --decorate, теперь помимо обычных данных из лога показываются имена веток, производится загрузка только востребованных данных, убирая лишнюю работу;
добавлена оптимизация, позволяющая ускорить выполнение операций на стороне сервера за счёт отбрасывания уже просмотренных коммитов для деревьев;
бэкенд команды diff -G/-S, теперь использует pcre2 (при его наличии);
TEST_OUTPUT_DIRECTORY=test теперь работает корректно;
переработан код, связанный с функцией struct_type_init().
Состоялся релиз IPFS 0.9 (InterPlanetary File System), которая образует глобальное версионированное хранилище файлов в виде p2p сети (объединение концепций Git и BitTorrent). Отличительная черта IPFS – адреса выдаются согласно содержимому (криптографический хэш), а не месту и имени. Соответственно, адрес нельзя просто изменить, это возможно, только если поменяется содержимое файла, однако прошлое содержимое все также будет доступно по старому адресу. Также в IPFS существуют сервисы привязки постоянных адресов, учитывающих изменения в файлах (IPNS), а также псевдонимы.
В начале февраля состоялся выпуск обновления графического Qt клиента для git – GitQlient 1.3.0 с поддержкой токенов github. В новой версии были добавлены интеграция с GitHub и Jenkins, а также несколько новых возможностей.
Последние несколько дней свободная операционная система FreeBSD переходила от своей разработки, которая велась с помощью Subversion, к использованию распределенной системы контроля версий Git, которая используется в большинстве других проектов с открытым исходным кодом.
Переход FreeBSD с Subversion на Git состоялся. Миграция была завершена на днях, и теперь новый код поступает в их основной репозиторий Git и на Github.
Radicle - это проект с открытым исходным кодом, цель которого - облегчить одноранговую совместную работу над кодом независимо от централизованного сервера. Другими словами, это P2P альтернатива GitHub. Radilce построен над Git.
Если у вас есть проблемы с восприятием основных моментов в работе с Git-репозиторием из консоли, то вы всегда можете воспользоваться графическим клиентом. Один из них - Lazygit, псевдографический клиент, написанный на языке Go с использованием библиотеки gocui.
В официальном описании программы автор описывает, как трудно бывает понять, что и как нужно сделать в гите, если там больше одной ветви или коммита, и как хорошо при этом помогает разобраться его клиент. Думаю, что описывать все возможности программы нет смысла, так как что еще можно сказать про гит, кроме как «позволяет коммитить, мержить и так далее»?
Просто посмотрите на картинку с примером работы и все вопросы отпадут сами собой.
Это простая графическая оболочка для Git, написанная на bash, с использованием технологий yad, lxterminal* и leafpad*
Она написана по принципу KISS, поэтому принципиально не предоставляет сложных и продвинутых функций. Её задача ускорить типовые операции Git: commit, add, status, pull и push.
Для более сложных функций есть кнопка «Терминал», позволяющая использовать все мыслимые и немыслимые возможности Git.
Сообщество KDE — одно из крупнейших в мире свободного ПО, оно насчитывает более 2600 участников. Однако вхождение новых разработчиков довольно затруднительно из-за использования Phabricator — оригинальной KDE-платформы разработки, довольно непривычной для большинства современных программистов.
Поэтому проект KDE начинает миграцию на GitLab, чтобы сделать разработку удобнее, прозрачнее и доступнее для новичков. Уже доступна страница с gitlab-репозиториями основных продуктов KDE.
«Мы очень рады, что сообщество KDE решило использовать GitLab, чтобы дать своим разработчикам дополнительньые возможности для создания самых современных приложений, — говорит Давид Планелла, PR-директор GitLab, — KDE уделяет массу внимания поискам новых решений и смелым экспериментам в области открытого кода. Такое мышление согласуется с целями GitLab, и мы надеемся на поддержку сообщества KDE, которое создаёт отличное ПО для миллионов пользователей по всему миру».
Gitea ― это проект, цель которого состоит в создании наипростейшего, наибыстрого и самого безболезненного интерфейса для Git для самостоятельного хостинга.
Проект поддерживает все платформы, поддерживаемые Go ― GNU/Linux, macOS, Windows на архитектурах от x86_(64) и arm64 до PowerPC.
Эта версия Gitea содержит важные исправления безопасности, которые не будут бэкпортированы на ветвь 1.8. По этой причине, мы настоятельно рекомендуем обновиться.
Несколько дней назад вышла свежая версия Pagure — хостинга git-репозиториев с открытыми исходниками, похожего на GitHub и GitLab.
Pagure написан на python и обладает всеми обычными для такого рода приложений возможностями:
встроенным баг-трекером,
хостингом документации,
системой обсуждения и принятия pull-реквестов,
подсветкой синтаксиса,
встроенным просмотрщиком документов Markdown и reStructuredText.
Также есть и уникальные особенности:
полностью открытые исходники (не «open core», в отличие от GitLab);
есть возможность создавать pull-запросы из любых сторонних git-репозиториев;
все важные данные (включая issues и метаданные pull-запросов) тоже хранятся в git-репозиториях, что упрощает резервное копирование и возможную миграцию с одного хостинга на другой.
В данный момент Pagure активно используется разработчиками Fedora.