Обновить
128K+

Git *

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

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

Ради вашей же безопасности

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

Старший преподаватель кафедры телекоммуникационных систем и информационной безопасности ИСИКТ Валерий Владимирович Линьков вполне мог стать кем-нибудь ещё, не менее успешным и довольным жизнью. Но всё сложилось так, что однажды он встретил учителя, который помог ему определиться с выбором жизненного пути и профессии.

Далее – из первых уст.

Учитель, научи!

…Я учился в 9 классе, в школе №2107 (бывшая №1840 на Проспекте Мира), где работала моя мама. Признаюсь, на тот момент информатика меня нисколько не интересовала – по крайней мере, не больше, чем обычного пользователя-подростка моего возраста. Однажды у мамы там сломался компьютер, и она попросила меня помочь. Я пришёл, разобрал системный блок и понял, что ничего не понимаю в этом. Скорее всего, на том бы всё и закончилось, но тут подошёл наш преподаватель ИКТ, который, поинтересовался, в чём проблема.

Слово за слово, завязался разговор по душам, в ходе которого выяснилось, что он, оказывается, не только преподаёт, но и занимается поставками американского оборудования Cisco на российский образовательный рынок. Мне стало интересно, что это такое, и «с чем его едят». Благодаря поддержке педагога и переводным материалам, которые он мне давал, начал изучать тему и вскоре стал многое понимать. Всё это происходило параллельно с занятиями по информатике, нас тогда как раз учили программированию на Паскале. Но по сравнению с прочитанной литературой по Cisco это казалось каким-то уж слишком примитивным, всё-таки там был совсем другой уровень.

Читать далее

Новости

Предсказываю неочевидные факты о вас и вашем отделе по коммитам

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


Статья о том, какие неочевидные вещи можно узнать о вас из логов гита. Методы ниже не бьют на 100%, но «щито поделать, десу».

Читать далее

Гайд по Git для начинающих: основные команды, работа с ветками и типичные ошибки

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

Собрали гайд по работе с Git для новичков. 

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

Сохраняйте и пользуйтесь.

Читать дальше →

Пока другие выбирают архитектуру, поиск по коду в GitVerse уже работает

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

Поиск по коду — одна из тех функций, ценность которых ощущается мгновенно. Она либо есть и экономит часы, либо её нет — и ты начинаешь открывать файлы вручную, клонировать репозиторий, запускать find или средства своей IDE и вспоминать «где же это было».
Мы добавили в GitVerse поиск по коду в репозиториях. и сделали это быстро. Не потому что «срезали углы», а потому что опирались на инструмент, который десятилетиями решает задачу поиска по коду внутри Git: git grep. Пока другие поднимают тяжёлые поисковые платформы, возводят кластеры, строят индексаторы, мы выбрали простое и проверенное решение, которое работает прямо сейчас.

Читать далее

Git workflow для частых и независимых релизов веб-сервиса

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

Git стал таким же привычным явлением, как электричество в розетке. Его можно использовать совершенно по-разному — он либо сделает вашу жизнь удобнее, либо причинит боль и доставит кучу проблем.

Привет, меня зовут Макс Мартынов и я ведущий разработчик в Атвинте. В этой статье расскажу про наш подход к Git workflow, в котором баги одной фичи не блокируют деплой другой. Существует множество подходов и наш, конечно, не единственно верный.

Читать далее

Как отменить или откатить коммит в Git командами reset, revert и restore

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

Всем привет!

Если вы работаете с Git относительно недавно, почти наверняка у вас возникала потребность в отмене коммита. И, что печально, вы быстро поняли, что простого "откатить все назад" нет.

Где-то советуют git reset, где-то - git revert, а в третьих и вовсе пишется про checkout. По тому же правилу летят restore, amend, reflog и куча технологических формулировок, требующих знания git и после которых становится только сложнее, нежели понятнее.

На самом деле все это объясняется: под словами "отменить commit" можно иметь в виду совершенно разные действия, и мы разберем, для каких случаев, какая команда подходит.

Читать далее

Перебазирование в Magit

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

Статья Яна Уитлока о том, почему он не может отказаться от Magit, вдохновила меня поделиться своим взглядом на Magit. Этот текст посвящён перебазированию.

Я открыл лог Git. Вызвал Magit, привязанный к F3, и нажал lL. Первая l включает работу с логом, вторая — показывает его для всех локальных и отслеживаемых ими удалённых веток.

Читать далее

Git для новичков: ветки, коммиты и первый pull request

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

Git — это вызов, через который проходит каждый второй новичок в разработке. Ветки называются «asdasd», коммиты — «правки», а pull request пугает своей красной кнопкой. Знакомо?

Меня зовут Сергей Прощаев, я Tech Lead в FinTech и преподаватель на курсах в OTUS. В этой статье разбираем самое главное: как создавать ветки и почему их нельзя называть как попало, что писать в коммитах, как сделать pull request в лучших практиках команд разработки

Разобраться в Git

Синхронизируем Obsidian быстро, безопасно, удобно и бесплатно

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

гайд по синхронизации obsidian vault через git с шифрованием через git-crypt и gpg (заметки хранятся на сервере в зашифрованном виде, локально обычный markdown )

Читать далее

Что такое OpenUSD, или Как подружить Blender и Git

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

Недавно автор решил попробовать что-то помоделить в Blender. На данный момент он ещё только начинает осваиваться в 3D, но имеет небольшой опыт в разработке ПО, преимущественно с использованием Git, потому хотел бы и тут избежать версионирования проектов в духе "projectN_final5_20260305_fix3.blend", который подразумевается при "инкрементальном" сохранении.

На первый взгляд ничего сложного тут быть не должно: в Blender работа ведётся с набором точек-координат-чисел и их связей, настроек модификаторов, ссылок на текстуры и референсы и т.п.; потому всё это должно иметь некоторую стандартизированную структуру, возможно упакованную в ZIP-архив. Файл проекта .blend же является таким ZIP-архивом, ведь так? Распакуем его и просто занесём в Git? Неправильно!

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

Читать далее

Гит в Телеграм?

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

На своем тг-канале я предлагаю подписчикам выбор, какую бредовую идею запилить следующей. На этот раз подписчики выбрали новый челлендж: сделать Git в Telegram. Чтобы можно было через бота инитить проекты, пушить файлы, коммитить — и всё это в публичном канале с тредами.

С практической точки зрения этот проект нахуй не нужен. Есть гитхаб, есть гитлаб, есть куча нормальных инструментов. Но как эксперимент — почему бы и нет? Чисто посмотреть, можно ли заставить Telegram работать как VCS.

Я тогда подумал: «Ну, бот на aiogram, база данных, пара команд — делов то))»

Словари, датаклассы и прочая е*атория

Когда я только начинал, первая мысль была: «Положу всё в JSON, на кой мне база данных?» Ну серьёзно, проектов мало, пользователей немного, файлы текстовые че заморачитватся.

Подергал JSON туда-сюда пару дней и понял: не варик.

Во-первых, конкурентный доступ. Два юзера одновременно коммитят — один из них перезаписывает файл другого. Во-вторых, целостность данных. Если бот упал в середине записи — JSON остаётся в невалидном состоянии. В-третьих, версионность. Хранить историю изменений в JSON — это просто перенести проблему из кода в структуру файла.

Короче, JSON — для конфигов, а не для данных, которые меняются каждую секунду.

Выбор пал на SQLite.

Почему:

Читать далее

Docs as Code: документация, которая живёт вместе с кодом

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

Это перевод статьи с opensource.com, которая мне показалась особенно полезной и практичной, поэтому решил поделиться адаптированной версией для русскоязычной аудитории. Оригинал доступен по ссылке: https://opensource.com/article/22/10/docs-as-code

В статье разбирается подход Docs as Code — способ встроить документацию в процесс разработки так, чтобы она проходила через Git, ревью и автоматическую сборку вместе с кодом. Материал будет полезен разработчикам, тимлидам и тем, кто выстраивает инженерные процессы в команде.

Читать далее

Подключение к GitHub по SSH: для новичков

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

Краткое пошаговое руководство, как настроить SSH‑подключение к GitHub: от создания ключа до проверки соединения. Подойдёт новичкам, которые хотят избавиться от постоянного ввода логина и пароля и безопасно работать с репозиториями

Узнать подробнее

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

CRM, регуляторные ограничения и автоматизация: как мы выстроили надёжный процесс релизов

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

Как мы превратили стрессовые ручные релизы в предсказуемый one-click процесс с GitOps и автоматикой. 60+ модулей, аудиторы и регуляторика — в едином шаблоне, который масштабировался на 30+ сервисов. Без магии, но с инженерной дисциплиной

Читать далее

Законъ о запрете иностранных словъ… в разработке

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

Разговор будет серьёзный. С 1 марта 2026 вся публичная информация для потребителя должна быть на русском — N 168-ФЗ. Пока что разработку это не касается, но стоит быть готовыми. Предлагаю договориться о словаре разработчиков Российской Федерации.

Читать далее

git-wt — AI First обёртка для git worktrees на чистом Bash

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

CLI-обёртка над git worktree на чистом Bash. Автоименование worktrees, централизованное хранение в ~/.git-wt/, копирование .env файлов, shell-автодополнение и поддержка AI-агентов через SKILL.md. Сделана для параллельной работы нескольких Claude Code / Cursor / Windsurf на одном репозитории, но полезна и для код-ревью, хотфиксов и тестирования. Ноль зависимостей, установка за 5 секунд.

Читать далее

Как можно упростить исправление конфликтов в «git rebase»

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

git rebase это отличный способ сделать историю линейной и визуально красивой. Но для каждого коммита, у которого возникает конфликт, приходится его исправлять и делать git rebase --continue. В случае длинных веток таких остановок для исправления конфликтов может быть довольно много. В этой статье я расскажу про нестандартный метод, как можно исправить все эти конфликты разом, что позволяет сделать git rebase быстро и чисто механически.

Читать далее

Линтеры вне кода: как HTML, Markdown и YAML становятся предсказуемыми

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

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

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

Со временем я перестал разделять «код» и «не код». Если файл участвует в работе продукта — он должен быть проверяемым. Автоматически. Без надежды на внимательность разработчика.

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

Читать далее

Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 3

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

Flutter & GitLab CI/CD. Доставка мобильного приложения в Significa, TestFlight и Google Play

Привет! Меня зовут Данил Абдрафиков, я мобильный разработчик в компании TAGES. После успешной настройки сборки и подписания Flutter-приложений во второй части, остался последний, но не менее важный этап — дистрибуция приложения.

В современных условиях автоматизация деплоя на такие платформы, как Google Play, TestFlight и Significa, становится необходимостью. В этой статье мы разберем, как с помощью GitLab CI/CD настроить автоматическую отправку ваших приложений в магазины, чтобы вы могли сосредоточиться на разработке, а не на рутинных задачах.

Читать далее

Тюнинг .gitlab-ci.yml: 7 неочевидных фич GitLab CE для чистых и быстрых пайплайнов

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

Сложно поддерживать CI/CD, когда граф пайплайна в GitLab превращается в бесконечную «простыню», параллельные запуски terraform apply приводят к блокировкам, а для игнорирования некритичных ошибок приходится писать || true

Может показаться, что для решения этих проблем нужны «костыли» или переход на enterprise-лицензию. На деле же с ними помогут встроенные возможности GitLab CE. В статье разбираем неочевидные ключевые слова .gitlab-ci.yml, которые сэкономят вам время и нервы.

Читать далее
1
23 ...