🧪 Git Fsck — проверка целостности репозитория
Запуск проверки:
Полный вывод:
Что проверяет:
* битые или отсутствующие объекты;
* висячие (dangling) коммиты;
* некорректные ссылки.
Когда применять:
* подозрение на повреждение
* сбои диска;
* проблемы после ручных операций с историей.
➡️ GitHub Ready | #мемы
git fsck (file system check) проверяет объекты и ссылки на целостность. Используется для диагностики повреждений.Запуск проверки:
git fsck
Полный вывод:
git fsck --full
Что проверяет:
* битые или отсутствующие объекты;
* висячие (dangling) коммиты;
* некорректные ссылки.
Когда применять:
* подозрение на повреждение
.git;* сбои диска;
* проблемы после ручных операций с историей.
fsck — инструмент диагностики, а не повседневной работы.Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🧱 Git Cat-File — посмотреть объект Git напрямую
Посмотреть тип объекта:
Посмотреть содержимое:
Размер объекта:
Что можно увидеть:
* структуру коммита;
* дерево файлов;
* содержимое конкретного blob.
➡️ GitHub Ready | #урок
git cat-file показывает содержимое объектов: коммиты, деревья, blob. Это уровень ниже обычных команд.Посмотреть тип объекта:
git cat-file -t <hash>
Посмотреть содержимое:
git cat-file -p <hash>
Размер объекта:
git cat-file -s <hash>
Что можно увидеть:
* структуру коммита;
* дерево файлов;
* содержимое конкретного blob.
cat-file — способ увидеть, как Git хранит данные без абстракций.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
🧬 Git Blame — кто и когда изменил строку
Базовое использование:
С указанием конкретного коммита:
Игнорирование коммитов форматирования:
Опции:
*
*
Blame помогает понять, кто и зачем изменял код, без ручного просмотра истории.
➡️ GitHub Ready | #Уроки
git blame показывает автора и коммит для каждой строки файла. Полезно для поиска источника багов.Базовое использование:
git blame file.js
С указанием конкретного коммита:
git blame HEAD~3 file.js
Игнорирование коммитов форматирования:
git blame --ignore-rev <hash> file.js
Опции:
*
-L 10,20 — ограничить строки;*
-p — подробный формат.Blame помогает понять, кто и зачем изменял код, без ручного просмотра истории.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
🧭 Git Merge — как использовать --squash для аккуратной истории
Пример:
Что происходит:
* изменения из ветки
* создаётся один коммит с итоговыми правками;
* история ветки
Когда полезно:
* чистая линейная история;
* подготовка PR;
* маленькие фичи без лишних коммитов.
➡️ GitHub Ready | #Уроки
git merge --squash объединяет изменения ветки без создания merge-коммита, превращая все коммиты ветки в один.Пример:
git checkout main
git merge --squash feature/login
git commit -m "feat: add login feature"
Что происходит:
* изменения из ветки
feature/login добавляются в индекс;* создаётся один коммит с итоговыми правками;
* история ветки
feature/login не сохраняется.Когда полезно:
* чистая линейная история;
* подготовка PR;
* маленькие фичи без лишних коммитов.
--squash — аккуратность без потери функционала.Please open Telegram to view this post
VIEW IN TELEGRAM
T-Sync Conf
Инженерные конференции часто выглядят одинаково: с докладами, слайдами, вопросами из зала и ощущение, что половина тебе никак не откликается
T-Sync Conf решает эту проблему через формат. 7 февраля Т-Технологии проведут масштабную конференцию для инженеров, где вместо одного общего маршрута — восемь технических контуров, из которых каждый может собрать свою траекторию: AI, Data, R&D, Security, UX/UI, Productivity, Observability, Platform.
Фокус не на рассказах, а на практике: демо-стенды с AI- и Data- платформами, инженерные диалоги с разбором кейсов, хакатон и публичная сборка сервиса. Плюс отдельные форматы для обсуждения UX/UI инструментов — от интерфейсов до дизайн-систем. Пройдет все на площадке TAU в Москве. Проход бесплатный, но рега обязательна
Ссылка
➡️ GitHub Ready | #урок
Инженерные конференции часто выглядят одинаково: с докладами, слайдами, вопросами из зала и ощущение, что половина тебе никак не откликается
T-Sync Conf решает эту проблему через формат. 7 февраля Т-Технологии проведут масштабную конференцию для инженеров, где вместо одного общего маршрута — восемь технических контуров, из которых каждый может собрать свою траекторию: AI, Data, R&D, Security, UX/UI, Productivity, Observability, Platform.
Фокус не на рассказах, а на практике: демо-стенды с AI- и Data- платформами, инженерные диалоги с разбором кейсов, хакатон и публичная сборка сервиса. Плюс отдельные форматы для обсуждения UX/UI инструментов — от интерфейсов до дизайн-систем. Пройдет все на площадке TAU в Москве. Проход бесплатный, но рега обязательна
Ссылка
Please open Telegram to view this post
VIEW IN TELEGRAM
🧮 Git Rev-List — список коммитов как инструмент для анализа
Базовое использование:
Количество коммитов в ветке:
Коммиты, которых нет в другой ветке:
Диапазон:
Когда применять:
* скрипты и CI;
* анализ расхождений веток;
* подсчёт изменений перед релизом.
➡️ GitHub Ready | #урок
git rev-list выводит список commit hash по заданному диапазону. Основа для многих внутренних команд Git.Базовое использование:
git rev-list HEAD
Количество коммитов в ветке:
git rev-list --count main
Коммиты, которых нет в другой ветке:
git rev-list main ^feature
Диапазон:
git rev-list main..feature
Когда применять:
* скрипты и CI;
* анализ расхождений веток;
* подсчёт изменений перед релизом.
rev-list — сырой список истории без форматирования.Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥1
Нашёл для вас крутой репозиторий, в котором собрано около сотни готовых SQL запросов для PostgreSQL.👉 Увидел много полезностей — от получения и модификации данных до ускорения запросов и обслуживания баз данных.
Клик
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
🧱 Git Rebase -i — управление историей коммитов вручную
Интерактивный rebase позволяет редактировать, объединять, менять порядок и удалять коммиты.
Запуск:
В списке доступны действия:
*
*
*
*
*
Изменить порядок — просто поменять строки местами.
Когда использовать:
* чистка истории перед PR;
* объединение WIP-коммитов;
* исправление структуры изменений.
➡️ GitHub Ready | #урок
Интерактивный rebase позволяет редактировать, объединять, менять порядок и удалять коммиты.
Запуск:
git rebase -i HEAD~5
В списке доступны действия:
*
pick — оставить;*
reword — изменить сообщение;*
edit — изменить содержимое;*
squash — объединить;*
drop — удалить.Изменить порядок — просто поменять строки местами.
Когда использовать:
* чистка истории перед PR;
* объединение WIP-коммитов;
* исправление структуры изменений.
rebase -i — инструмент контроля качества истории.Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
🔍 Git Show — быстрый просмотр содержимого коммита
Последний коммит:
Конкретный коммит:
Только изменения без метаданных:
Показать файл из прошлого коммита:
Когда полезно:
* быстрый аудит изменений;
* проверка перед откатом;
* просмотр старой версии файла без переключения ветки.
➡️ GitHub Ready | #урок
git show отображает изменения, автора, дату и diff выбранного коммита.Последний коммит:
git show
Конкретный коммит:
git show a1b2c3d
Только изменения без метаданных:
git show --pretty="" --name-only
Показать файл из прошлого коммита:
git show HEAD~2:src/app.js
Когда полезно:
* быстрый аудит изменений;
* проверка перед откатом;
* просмотр старой версии файла без переключения ветки.
git show — точечный доступ к истории без лишних действий.Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🧩 Git Cherry — выбрать коммиты из другой ветки
Проверка, какие коммиты отсутствуют в
Применение конкретного коммита:
Полезно:
* перенос отдельного исправления без merge;
* выборочная интеграция фич;
* подготовка патчей для релиза.
➡️ GitHub Ready | #урок
git cherry показывает, какие коммиты из одной ветки ещё не применены в другой, и позволяет их selectively перенести.Проверка, какие коммиты отсутствуют в
main:git cherry main feature/login
Применение конкретного коммита:
git cherry-pick <hash>
Полезно:
* перенос отдельного исправления без merge;
* выборочная интеграция фич;
* подготовка патчей для релиза.
git cherry — точечный контроль истории между ветками.Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
🧪 Git Commit –fixup + Rebase –autosquash — автоматическое объединение правок
Если нужно исправить старый коммит, не создавая хаос в истории, используй --fixup.
Создать fixup-коммит:
Затем запустить:
Что происходит:
• Git автоматически перемещает fixup-коммит рядом с нужным;
• помечает его для squash;
• история становится аккуратной.
Когда применять:
• правки после код-ревью;
• мелкие исправления к старым коммитам;
• чистка истории перед merge.
--fixup + --autosquash — чистая история без ручной возни
➡️ GitHub Ready | #урок
Если нужно исправить старый коммит, не создавая хаос в истории, используй --fixup.
Создать fixup-коммит:
git commit --fixup=<hash>
Затем запустить:
git rebase -i --autosquash HEAD~5
Что происходит:
• Git автоматически перемещает fixup-коммит рядом с нужным;
• помечает его для squash;
• история становится аккуратной.
Когда применять:
• правки после код-ревью;
• мелкие исправления к старым коммитам;
• чистка истории перед merge.
--fixup + --autosquash — чистая история без ручной возни
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🧱 Git Bisect — поиск проблемного коммита
Начало:
Git переключает ветку на средний коммит, проверяешь баг:
После серии шагов:
Преимущество:
* быстрое нахождение проблемного коммита;
* особенно полезно для длинной истории;
* экономит часы ручной проверки.
➡️ GitHub Ready | #урок
git bisect помогает быстро найти коммит, который ввёл баг, используя бинарный поиск.Начало:
git bisect start
git bisect bad # текущий коммит с багом
git bisect good v1.0 # известный рабочий коммит
Git переключает ветку на средний коммит, проверяешь баг:
git bisect good # если баг отсутствует
git bisect bad # если баг есть
После серии шагов:
git bisect reset
Преимущество:
* быстрое нахождение проблемного коммита;
* особенно полезно для длинной истории;
* экономит часы ручной проверки.
git bisect — детектив Git для багов.Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
DrawNmap
Дружественный графический вывод инструмента nmap, позволяющий осуществлять фильтрацию по открытым портам
Гитхаб
➡️ GitHub Ready | #урок
Дружественный графический вывод инструмента nmap, позволяющий осуществлять фильтрацию по открытым портам
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
📦 Git Submodule — работа с внешними репозиториями внутри проекта
Submodule позволяет включать один репозиторий как подпроект другого.
Добавление submodule:
Инициализация и обновление:
Обновление до последнего коммита remote:
Полезно:
* повторное использование кода;
* фиксация версии внешней библиотеки;
* контроль изменений submodule.
➡️ GitHub Ready | #урок
Submodule позволяет включать один репозиторий как подпроект другого.
Добавление submodule:
git submodule add https://github.com/org/lib.git libs/lib
Инициализация и обновление:
git submodule init
git submodule update
Обновление до последнего коммита remote:
cd libs/lib
git fetch
git checkout main
cd ../..
git add libs/lib
git commit -m "update submodule"
Полезно:
* повторное использование кода;
* фиксация версии внешней библиотеки;
* контроль изменений submodule.
git submodule — аккуратная интеграция внешних репозиториев.Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
⚙️ Git Worktree — несколько рабочих директорий из одного репозитория
Создать новую рабочую директорию:
Что происходит:
* создаётся новая папка;
* она связана с тем же
* в ней сразу активна указанная ветка.
Список активных worktree:
Удаление:
Когда применять:
* параллельная работа над фичами;
* срочный фикс без stash;
* тестирование разных версий проекта.
➡️ GitHub Ready | #Уроки
git worktree позволяет работать с разными ветками параллельно без постоянных переключений.Создать новую рабочую директорию:
git worktree add ../project-feature feature/login
Что происходит:
* создаётся новая папка;
* она связана с тем же
.git;* в ней сразу активна указанная ветка.
Список активных worktree:
git worktree list
Удаление:
git worktree remove ../project-feature
Когда применять:
* параллельная работа над фичами;
* срочный фикс без stash;
* тестирование разных версий проекта.
git worktree — параллельная разработка без лишних переключений.Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
🧬 Git Reflog — журнал всех перемещений HEAD
Просмотр:
Вернуться к состоянию:
Восстановить «потерянный» коммит:
Когда полезно:
* случайный
* удалённая ветка;
* неудачный rebase;
* потерянные коммиты.
➡️ GitHub Ready | #Уроки
git reflog хранит историю изменений указателя HEAD, даже если коммиты удалены из обычного лога.Просмотр:
git reflog
Вернуться к состоянию:
git checkout HEAD@{3}
Восстановить «потерянный» коммит:
git reset --hard <hash>
Когда полезно:
* случайный
reset --hard;* удалённая ветка;
* неудачный rebase;
* потерянные коммиты.
reflog — страховка от большинства ошибок в Git.Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
🧩 Git Archive — экспорт репозитория без истории
Создать zip архива текущей ветки:
Архивировать конкретную ветку:
Архивировать только поддиректорию:
Применение:
* деплой без истории;
* передача кода клиенту;
* CI/CD для сборок.
➡️ GitHub Ready | #Уроки
git archive создаёт архив проекта из конкретного коммита или ветки, без папки .git.Создать zip архива текущей ветки:
git archive --format=zip HEAD > project.zip
Архивировать конкретную ветку:
git archive --format=tar main | gzip > main.tar.gz
Архивировать только поддиректорию:
git archive HEAD src/ > src.tar
Применение:
* деплой без истории;
* передача кода клиенту;
* CI/CD для сборок.
git archive — чистый код без лишней информации о репозитории.Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🧠 Git Bisect — поиск коммита, сломавшего проект
Запуск:
Git будет переключаться между коммитами.
После каждой проверки указываешь результат:
Завершить:
Когда применять:
* баг появился давно;
* история длинная;
* вручную искать долго.
➡️ GitHub Ready | #Уроки
git bisect использует бинарный поиск, чтобы определить, в каком коммите появилась ошибка.Запуск:
git bisect start
git bisect bad # текущая версия с ошибкой
git bisect good <hash> # известный рабочий коммит
Git будет переключаться между коммитами.
После каждой проверки указываешь результат:
git bisect good
# или
git bisect bad
Завершить:
git bisect reset
Когда применять:
* баг появился давно;
* история длинная;
* вручную искать долго.
git bisect сокращает поиск проблемы с сотен коммитов до нескольких шагов.Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Кайфы разработчикам игр — мега-коллекция open-source проектов
Сслыка
➡️ GitHub Ready | #урок
Когда разработчик задумывает новый игровой проект, первое, что приходит в голову — поиграть в аналоги и изучить их код.👉 В репо Games on GitHub лежат тонны качественных open-source примеров игр и игровых проектов. Всё разбито по категориям и платформам.
Сслыка
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
🗺 Git Log --graph — визуализация истории веток
Базовый вариант:
Практичный формат:
Что дают флаги:
•
•
•
•
Когда использовать:
• анализ merge;
• проверка структуры истории;
• понимание, где произошёл rebase.
➡️ GitHub Ready | #урок
git log --graph показывает структуру веток в виде ASCII-графа прямо в терминале.Базовый вариант:
git log --graph
Практичный формат:
git log --oneline --graph --decorate --all
Что дают флаги:
•
--graph — визуальные ветвления;•
--oneline — компактный вывод;•
--decorate — теги и ветки;•
--all — все ветки.Когда использовать:
• анализ merge;
• проверка структуры истории;
• понимание, где произошёл rebase.
--graph — быстрый способ увидеть архитектуру истории Git.Please open Telegram to view this post
VIEW IN TELEGRAM
❤2