Обновить
33.62

Git *

Система управления версиями файлов

Сначала показывать
Порог рейтинга
Уровень сложности

Я мучился с Git, поэтому создал про него игру

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели19K

Прошло два года...


… с тех пор, как я разработал и выпустил Git-Sim — бесплатный опенсорсный инструмент для визуализации команд Git непосредственно в репозиториях пользователя.

Самым важным выводом для меня стало то, что существует достаточно большой спрос на визуальных помощников в кодинге.

Через несколько недель после релиза я задумался… Визуализация и симуляция вывода команд Git при помощи удобных диаграмм — это, конечно, здорово, но стало понятно, что они помогают только тем, кто уже в той или иной степени знакомы с Git.
Читать дальше →

Как конфигурировать Git

Время на прочтение13 мин
Охват и читатели8.8K

Какие настройки git config сейчас следует устанавливать по умолчанию? Ниже рассмотрены избранные настройки, менять которые не стесняются даже разработчики самого Git.

Несколько недель назад я написал о настройке Git help.autocorrect и поведал странную историю о том, как её значение стали задавать в децисекундах.  

Эта статья заставила меня поразмыслить и о других настройках git config, вероятно, не известных широкому кругу пользователей. Возможно, для этих настроек стоит задать по умолчанию иные значения, чем действуют сейчас.

В этом посте я разберу некоторые (пожалуй, малопонятные) настройки Git, которые сам активировал во всех моих проектах. Я подробно расскажу о них, поясню, как они действуют, и почему их, пожалуй, стоит выставить по умолчанию.

Также оказалось, что большинство из изложенных здесь знаний я почерпнул из общения с людьми, чей повседневный труд заключается в поддержке ядерной базы кода Git.

Читать далее

Догфудинг, ИИ-помощники, кодонавигация: самое интересное про SourceCraft, новую платформу для разработки от Яндекса

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели3.3K

Сегодня Yandex B2B Tech в режиме технического превью открывает пользователям доступ к SourceCraft — платформе для разработки полного цикла, которая помогает создавать исходный код, управлять версиями, заниматься тестированием, сборкой, деплоить и сопровождать программные продукты. Её история началась в Yandex Infrastructure — эта команда развивает инструменты для создания и развёртывания приложений и сервисов внутри Яндекса и поддерживает инфраструктуру, на которой работают большинство разработчиков компании. Во многом поэтому значительная часть идей для новой платформы возникла благодаря догфудингу — практике использования собственного продукта командой его создателей.

Вместе с разработчиками платформы Ольгой Лукьяновой @ollka_lukianova и Сергеем Захарченко @neofelis узнаем, каково это — делать платформу для разработки, одновременно используя эту же самую платформу для написания кода, тестирования, проверки пул‑реквестов, сборки и деплоя.

Читать далее

OpenStack на автопилоте: GitOps-подход к созданию виртуальных машин

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели2.2K

Привет! Меня зовут Кирилл, я инженер по разработке инфраструктуры в компании YADRO. Представьте: вы разработчик программного обеспечения в крупной компании и вам потребовалось создать новую виртуальную машину. Как это сделать? Пожалуй, многие ответят, что можно запросить ее через отдельную задачу на ответственную команду DevOps-инженеров, потом подождать, пока за нее возьмутся и вручную создадут ВМ с помощью OpenStack.

Звучит просто, но это только часть пути. От глаз разработчика скрыты шаги по добавлению ВМ в inventory, определению нужных конфигурационных параметров, прогону ansible-ролей и сопутствующей настройке. Иногда и на этом процесс не заканчивается, ведь люди привыкли пользоваться доменными именами, а не ip-адресами. Вручную этот процесс занимает много времени и не лишен влияния человеческого фактора, поэтому возникает необходимости в автоматизации.

Для работы с OpenStack удобно использовать Terraform. Хотя компания Hashicorp прекратила свою деятельность на территории России, нам все еще доступен open source-форк под говорящим названием OpenTofu. К сожалению, достаточно подробной инструкции по работе с ВМ через OpenTofu на просторах интернета найти не удалось, поэтому я и решил создать ее сам, сделав акцент на широте возможностей инструмента.

Читать далее

Как исправлять ошибки в Git, не оставляя улик

Время на прочтение3 мин
Охват и читатели12K

Как же иногда хочется закинуть коммиты «Remove debug log», «fix» или «fix fix fix». Такие коммиты как грязные носки под кроватью: их не видно, пока не придёт ревьюер с пристальным взглядом или, что еще хуже, потенциальный работодатель, решивший посмотреть на ваш профиль github.

К счастью, Git предлагает два супер-инструмента для того, чтобы история коммитов выглядела так, будто ты всегда знаешь, что делаешь: git commit --fixup и git rebase --autosquash. И сегодня мы разберем на практике как это применять.

Читать далее

Вышел GitLab 17.8 с улучшенной безопасностью репозиториев реестра контейнеров

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели1.6K

Как мы внедряли отказоустойчивый GitLab Cluster с использованием Ansible и бесшовными обновлениями

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели1.3K

В процессе роста нашей инфраструктуры мы столкнулись с тем, что Single Node (all-in-one) инсталляции GitLab стало недостаточно. Производительность начала снижаться, а любое обновление или сбой сервиса приводило к простою всей разработки. Поэтому мы приняли решение перейти на отказоустойчивый GitLab Cluster с возможностью бесшовных обновлений (zero downtime upgrade).

Для автоматизированного развёртывания и управления кластером мы выбрали Ansible.

Читать далее

Раздел OSINT (разведка): Что такое Github Dorking?

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели5.5K

Здесь вы узнаете, как повысить свой уровень в OSINT, будут приведены примеры и готовые поисковые запросы.

(Вы можете дополнить меня, если я что-то забыл в комментариях).

Читать далее

Мастер-класс по точечному переносу изменений между ветками в git

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели18K

Представьте ситуацию: вы нашли критический баг в проекте, исправили его в feature-ветке, но до полного слияния ещё далеко. Или вам срочно нужно перенести одно конкретное изменение из текущей ветки в другую. В таких случаях git cherry-pick становится вашим секретным оружием.

Читать далее

Телефонный виджет для переписок и система заметок на базе гита (gitea)

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели1.1K

Когда возникла необходимость в VPN я решил арендовать под это дело отдельный VPS сервер. Мощности были взяты с небольшим запасом для разных экспериментов и личных мини проектов. Обычно для небольших веб приложений я использовал github pages, но у него есть очевидные минусы: некоторые вещи не хочется светить в паблике, иногда нужен полноценный сервер, а не простая статичная html страница. Для сервера были попытки использовать яндекс облако (есть  бесплатные лимиты), но разбираться с инфраструктурой лямбд, апи гэтвэев, s3 хранилищ и прочим оказалось довольно накладно, особенно когда что то надо поправить раз в месяц, а то и раз в год. 

Читать далее

Как ArgoCD секреты из Vault не расшифровывал, или при чем тут App of Apps

Время на прочтение5 мин
Охват и читатели1.6K

Привет, Хабр! Меня зовут Антон, я DevOps-инженер в YADRO, работаю с платформой машинного обучения. Недавно столкнулся с интересным случаем, над которым мне пришлось поломать голову. Одной из задач нашей команды стало развертывание helm-чарта для Airflow с использованием ArgoCD. Это потребовалось для реализации DAG-пайплайнов, необходимых для обработки данных и автоматизации процессов в проектах машинного обучения.

В статье расскажу о сложностях при расшифровке секретов с использованием плагина ArgoCD Vault, о паттерне App of Apps для обхода этих сложностей и небольшом погружении в детали установки плагина в кластер, из-за которых возможно неочевидное поведение ArgoCD Applications.

Читать далее

Git Stash: заначка в репозитории

Время на прочтение5 мин
Охват и читатели4.8K

Преимущества использования системы контроля версий Git трудно переоценить. Данная система позволяет нескольким разработчикам одновременно работать над одним проектом, разделять проект на отдельные ветви и затем снова объединять код в одну ветку.

В рамках данной статьи мы будем полагать, что читатель уже знаком с основными принципами работы данного решения и, в частности, с механизмами ветвления. В этой статье мы поговорим о такой полезной функции, как стешинг (Git Stash).

Читать далее

Из 2024 в 2025: вспоминаем лучшие практики CI/CD

Уровень сложностиСредний
Время на прочтение24 мин
Охват и читатели12K

Развитие методологий CI и CD не стоит на месте. Тем не менее, проверенные практики, вероятно, останутся актуальными и в 2025 году. В этой статье покажем некоторые из таких в действии.

Вспомнить лучшие практики CI/CD

Ближайшие события

Корпус для домашнего NAS сервера. Как это было…

Время на прочтение4 мин
Охват и читатели24K

Всем привет! Эта статья продолжение первой, опубликованной раннее Домашний NAS сервер, где была разработана электроника и проведено первоначальное тестирование.

Но, без корпуса использовать данный NAS сервер крайне не удобно и есть риск повредить и сломать его, а также нет должного охлаждения, что тоже негативно сказывается на работе сервера.

В данной статье будут описаны разработка и сборка корпуса, надеюсь будет интересно!

Читать далее

Вышел релиз GitLab 17.7 с новой пользовательской ролью Planner

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели3.5K

Сборка RPM-пакетов в ALT Linux: автоматизация с помощью GEAR

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели1.3K

В первой части материала мы разобрали случай сборки простого rpm-пакета в ALT Linux. За пример брали набор файлов изображений и собирали стандартной утилитой rpmbuild.

В этом материале поговорим про сборку python-проекта специальным инструментом — GEAR. Этот инструмент разработала команда сообщества Альт для автоматизации процесса сборки.

Общими словами, GEAR — это удобная обвязка вокруг Git и rpmbuild. Достаточно в дополнение к spec-инструкции написать GEAR-правила формирования архива, полученного из git-репозитория.

Материал статьи может быть полезен при изучении темы сборки rpm-пакета инструментом gear-rpm в ОС «Альт».

Собрать пакет

Как улучшить свои навыки работы с Git с помощью GitHub CLI

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели6.4K

Использование Git в командной строке (CLI) может повысить вашу скорость разработки и эффективность. В этой статье рассмотрим восемь полезных команд для работы с GitHub через терминал.

Читать далее

Conventional Commits без лишних слов: ваша шпаргалка

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели13K

Эта шпаргалка поможет вам быстро и просто составлять сообщения для коммитов, которые соответствуют стандарту Conventional Commits. Она не для обучения или дискуссий о том, нужны ли такие схемы, а служит удобным инструментом🪄, чтобы подсмотреть и сразу написать коммит.

Если интересно, листайте ниже и пользуйтесь!👀

Читать далее

Автоматическая сборка snap пакетов в CI/CD

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели586

Автоматическая сборка snap-пакетов с помощью GitLab CI/CD и Docker

Статья посвящена автоматизации сборки snap-пакетов с использованием GitLab CI/CD и Docker. Рассматриваются шаги настройки пайплайнов для создания и публикации пакетов, а также примеры конфигурации файлов .gitlab-ci.yml и Dockerfile.

Читать далее

Новогодний квиз по вашему git log. Пятничный пост

Уровень сложностиПростой
Время на прочтение1 мин
Охват и читатели945

Наступает конец года. Впереди последний релиз, код-фриз, корпоратив и подведение итогов. Я накидал пару командных HTML игр (например, квиз), основанных на логах вашего репозитория (для git). Наливаем чай или пиво. Собираем команду. Играем, смотрим ачивки. Исходники тут

Читать далее

Вклад авторов