Обновить
128K+

Git *

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

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

SVN vs Git для проектов на Unreal и Unity

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

Unreal и Unity быстро превращают репозиторий в смесь кода, тяжёлых ассетов и командных привычек — и выбор VCS начинает влиять на работу каждый день. В статье сравниваются SVN и Git именно в контексте UE/Unity: блокировки файлов, права доступа, скорость, ветки и совместимость с CI/CD. Также разберем практические замечания по миграции и тому, как выстроить процесс так, чтобы он был понятен и разработчикам, и людям, которые живут в ассетах.

Читать далее

Настройка Git для одновременного fetch/push в несколько remotes. Синхронизация одной командой

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

Прим: Дополняет мою статью "Скрипт полной миграции из GitLab на свой сервер".

После успешной миграции

А что делать со старым репозиторием?
Было бы логично использовать GitLab и другие хостинги в качестве вторичных (запасных).

Но как это делать? И еще не вручную?
Для синхронизации с remotes одновременно на свой Gogs и на все GitLab, GitHub, Bitbucket, ... remotes, об этом и других "хаках" ниже:

Читать далее

Разбираем фичи по кусочкам: атомарные коммиты как внутренняя дисциплина

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

Привет! Меня зовут Дима, я руковожу группой прикладной разработки в Naumen. Много лет работаю с командами, которые делают не одноразовые фичи, а долгоживущие системы — те, что развиваются годами, переживают смену людей, требований и контекста.

В этой статье поговорим о декомпозиции: зачем она на самом деле нужна и какую неожиданную роль в этом играют атомарные коммиты.

Читать далее

OpenClaw присоединился к OpenAI. И почему Claude от Anthropic тоже стоит волноваться

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

OpenAI забирает к себе создателя OpenClaw Питера Штайнбергера, а сам OpenClaw переводят в формат независимого фонда и обещают поддерживать как open-source.
На первый взгляд, обычная кадровая новость. Но на самом деле это сигнал: гонка смещается от тех, у кого умнее модель к тем, у кого агент реально делает работу, и, что самое главное, при этом ему можно доверить доступы.

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

Читать далее

Как я в 16 лет создал свой Pomodoro-таймер: месяц дисциплины и первые пользователи из 7 стран

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

Мне 16 лет. Последние 8 месяцев я учусь на Frontend-разработчика. Я решил проверить свои силы и создать инструмент, которым буду пользоваться сам. Но мой путь начался не с мощного ПК и гигабайтов интернета, а с мечты и обычного смартфона.

Мой путь в программировании начался 26 декабря 2024 года. Это была мечта, к которой я шел 5 лет. На тот момент я был «полным нулем»: у меня не было стабильного интернета и я почти ничего не знал о Frontend. Я записался на курсы, даже не до конца понимая, что это такое.

Первые две недели у меня не было ноутбука, и я писал свой первый код прямо на телефоне. Только спустя время у меня появился ноутбук и нормальный доступ к сети, чтобы узнать: что такое Frontend и какие задачи он решает?

Узнать историю...

Физик проанализировала более 100 000 «исправленных» багов ядра Linux

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

В вашем ядре сейчас есть баги, которые не найдут в течение многих лет. Я знаю это, потому что проанализировала 125 183 из них, каждый в 20-летней git-истории ядра Linux помечен прослеживаемым тегом Fixes:.

Средний баг ядра существует 2,1 года. А некоторые подсистемы намного хуже: драйверы CAN‑шины [шины сети контроллеров] — в среднем 4,2 года, работа с сетью SCTP4,0 года. Самый долгоживущий баг в моём наборе данных — переполнение буфера в ethtool — сохранялся в ядре 20,7 лет. Подробно остановлюсь на утечке памяти из‑за подсчёта ссылок в netfilter, существовавшей 19 лет.

Я создала инструмент, который выявляет 92% исторических багов в отложенном тестовом наборе данных о времени коммита. Вот что я узнала.

Читать далее

Кэш-монтирование или Cache mount в Docker. Использование кэш-монтирования в GitLab CI/CD

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

Кэш-монтирование в Docker — это мощный инструмент, который может значительно ускорить процесс сборки образов в CI/CD. Но его правильная настройка в GitLab требует понимания не только работы BuildKit, но и особенностей взаимодействия с различными конфигурациями GitLab Runner — DinD и DooD.

В этой статье я расскажу об устройстве кэш-монтирования в Docker и как его использовать в GitLab CI/CD. На примере простой сборки Python-проекта покажу готовые решения для кэширования зависимостей, чтобы оптимизировать сборку Docker-образов.

Читать далее

Какие две проблемы пытается решить Entire — «GitHub для агентов» от экс-CEO GitHub

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

Entire с его первым тулом под названием CheckPoints решает проблему, которую сам же основатель проекта Томас Домке и создал в Microsoft.

Читать далее

Офлайн режим в Notion и решение конфликтов

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

Привет, Хабр, меня зовут Александр Мачулин, я основатель Gramax, open source системы для ведения документации в подходе Docs as Code с визуальным редактором. Gramax хранит контент в git-репозитории. Это означает, что у пользователей могут возникнуть конфликты при синхронизации изменений. Я считаю, что нагружать пользователей решением конфликтов – не очень хорошо и пытаюсь найти решение для этой задачи.

Читать далее

Git в браузере. Расширяем возможности с помощью LFS

Уровень сложностиСложный
Время на прочтение17 мин
Охват и читатели6.9K

Привет, Хабр! Я Паша, разработчик Gramax — Open Source платформы для управления документацией в подходе Docs as Code.

В прошлой статье я рассказывал о том, как мы переводили наше приложение с Isomorphic Git на libgit2, как засунули его в веб-версию приложения при помощи Emscripten и с какими трудностями столкнулись в процессе.

На этот раз — как мы оптимизировали хранение файлов ресурсов каталога (в большинстве случаев, изображений) при помощи Git LFS, тем самым ускорив его клонирование и синхронизацию.

Читать далее

GitHub Copilot CLI: агентный режим и планирование задач

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

Привет, Хабр! Недавно GitHub выкатил крупное обновление Copilot CLI — теперь это не просто подсказчик команд, а полноценный агент, который умеет планировать задачи и вести диалог. Разберём, что нового появилось и как с этим работать безопасно.

Разобрать обновление

Как не держать код на сервере

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

Кому эта статья может быть полезна?

Многие сегодня припарковали свои проекты на виртуальных серверах типа vps/vds или физическом сервере. И вот, по каким-то причинам, вы не хотели бы показывать свой код напрямую.

Если вы уже знаете про GitLab runner, Docker и registry – то можно пройти мимо и сберечь свое время. А кто не знает - добро пожаловать. Постараюсь, чтобы было не сложно.

Какие могут быть причины?

Читать далее

Интеграционные тесты: когда UI-автотесты проверяют не только кнопки, но и всю систему целиком

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

Привычные UI‑автотесты часто проверяют отдельные кнопки и формы, но не отвечают на главный вопрос: работает ли система целиком в реальном пользовательском сценарии. В этой статье я расскажу, как мы в TData строим интеграционные тесты для Web UI, которые проходят путь от создания провайдера и кластера до установки компонентов, настройки конфигурации и проверки, что всё действительно поднялось и работает.

Читать далее

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

Как легко и просто создавать Skills с помощью Agent Skills в Manus

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

Теперь легко и просто можно попробовать поиграться в упаковку скиллов - до всяких платных Claude Code и Clawdbot/Moltbot. Напомню, что это способ превращать удачные сессии с агентом в переиспользуемые сценарии /воркфлоу для агента: один раз настроили, дальше запускаете по команде и получаете результат в том же стиле.

В Manus это можно попробовать и бесплатно. К тому же, вы можете даже скачать Skill, который вы сделали совместно с Manus, тоже совершенно бесплатно.

Я проверила это на простом и полезном кейсе: агрегатор свежих AI-новостей с Reddit, который делает выжимки под Telegram. Ниже по шагам и со скринами.

Читать далее

Пишем свой git: минимальная реализация на Rust

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

Контроль версий долгое время был для меня «чёрным ящиком»: я не понимал, как именно хранятся файлы, как формируются diff’ы и из чего состоят коммиты. А поскольку я люблю изобретать велосипеды, почему бы не попробовать реализовать git самому?

Читать далее

Метаутопия программистов: как построить государство на базе TypeScript и Git

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

В начале XVI века была издана книга английского юриста и философа Томаса Мора под названием "Утопия", в которой описывалась идеальная по мнению автора структура общества. Название этой книги стало именем нарицательным и дало имя всему жанру подобных трактатов. Книга Мора была далеко не первой: ещё за две тысячи лет до её выхода в свет древнегреческий философ Платон опубликовал трактат "Государство", в котором излагал свои взгляды на общественное устройство. Кто только не создавал своих утопий: например, Карл Маркс с его манифестом коммунизма и диктатурой пролетариата или Карл Поппер с его "Открытым обществом и его врагами". Почему бы не сделать этого и мне?

Китайский философ-даос Лао-Цзы писал, что когда нечто доходит до предела, оно обращается в свою полную противоположность. Из истории нам известно, что любые попытки воплощения различных утопий в жизнь всегда заканчиваются их полной противоположностью - тоталитарными антиутопиями. Поэтому в этом эссе я планирую описать не утопию, которая практически невозможна, а метаутопию - не то, как общество должно быть устроено, а то на основе чего оно должно быть зиждется и как развиваться. Метаутопия в отличие от утопии может быть применима в реальности и полезна для реального общества.

В основании этой метаутопии лежат два инструмента программирования - типизированный язык программирования и система контроля версий. Возьмём для примера в качестве языка программирования TypeScript, а в качестве системы контроля версий - Git. Сегодня на TypeScript пишут и веб-приложения, и мобильные приложения, и программы командной строки, и сервера для приложений. Почему бы не написать на нём государство?

Читать далее

Mini Tower Kit для Raspberry Pi 5: Переделываем проект под Raspberry Pi 4 с Ubuntu Server

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

Переработка проекта Mini Tower Kit для Rasberry Pi 5 под Rasberry Pi 4 с приятным тюнингом или когда Pi 5 не завезли, а руки всё равно чешутся

Читать далее

Как уменьшить галлюцинации LLM: 3 способа дать контекст

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

Большие языковые модели по-прежнему часто выдумывают детали, если им не хватает контекста. Чем сложнее проект, тем сильнее это ощущается: ИИ не знает структуру вашего репозитория, не видел свежую документацию библиотеки, не понимает бизнес-ограничения продукта.

В статье разберем, как аккуратно подложить модели нужный контекст: от встроенных механизмов в IDE и Claude до утилит для выгрузки репозитория и MCP-серверов, которые подтягивают актуальные документы и данные.

Читать далее

Скрипт полной миграции из GitLab на свой сервер и настройка Git для одновременного fetch/push в несколько remotes

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

1. Что сделал?
Переехал с GitLab на свой сервер, написал свой python-скрипт, который мигрирует не просто все репозитории, но и настройки, описания, картинки(done) и мердж/пулл-реквесты(in-progress). Бонусом настроил простой git fetch/push одновременно на все GitLab, GitHub, ... remotes.

2. Зачем?
Локальный сервис независим от РКН, КВН, "чебурнета" и гео-блокировки аккаунта, бэкап под контролем, без опасения утечек из облаков по независящим причинам.

3. Как?
Когда у тебя несколько десятков pet-проектов на Gitlab/Github, для каждого копи-пастить git clone/push --mirror со многими параметрами и вручную копаться в web интерфейсах откровенно "скучно и лениво".

В статье: поиск решения по полной миграции, комментарии по коду и настройки скрипта. Вторую часть по мульти git fetch/push оформляю

Гуглил похожие решения, не нашел. В итоге написал свое.

Читать далее

От прямых правок к CI/CD: как мы внедрили миграции MSSQL через GitLab при помощи ИИ

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

Представьте: вы работаете в крупной компании с федеральной сетью. У вас более 300 баз данных Microsoft SQL Server, сотни тысяч объектов — таблиц, процедур, функций, триггеров. Значительная часть бизнес-логики реализована с использованием cross-database references и распределённых запросов через linked servers, что создаёт сложные зависимости между объектами на разных базах и даже серверах.

А теперь представьте, что все изменения в схему вносятся напрямую в production — через SSMS, без версионирования, без ревью, без возможности отката.

Звучит как кошмар? Но именно так работала наша команда более 10 лет.
«Так исторически сложилось» — и это было нормой. Такой подход неизбежно порождал инциденты: от локальных нарушений целостности данных до масштабных простоев, напрямую влияющих на выручку и репутацию компании.

Мы поняли: нужно внедрять CI/CD. Но главная проблема оказалась не в технологиях — а в людях.

Читать далее