Мегагайд: культура работы с Git
Git — это не только (и не столько!) знание самой технологии и конкретных команд, но и определённая культура взаимодействия, практики, подходы, договорённости. Всё это помогает участникам команды лучше понимать друг друга и работать быстрее и чётче.
В статье — как раз об этом. В ней раскрыли, что формирует культуру работы с Git: от конвенций именования коммитов и до практик работы в пуллреквесте. В конце статьи — полезные ссылки на интерактивные обучалки, шпаргалки и гайды: https://habr.com/ru/companies/yandex_praktikum/articles/812139/
#git #шпаргалки
🔥 7 000+ упражнений на 76 языках программирования
Exercism — бесплатная платформа для прокачки навыков программирования с нуля. Каждый язык — отдельный путь, наполненный практическими задачами.
Главный плюс — обратная связь от опытных менторов. Ответы здесь не быстрые, зато по делу и без токсичности, как это бывает на Stack Overflow.
https://exercism.org/
🖥 Вышел Git 2.50
Вот основные обновления:
1. Новый уровень работы с cruft packs
- Git хранит неиспользуемые (невидимые) объекты в специальных “cruft packs”.
- Раньше управлять ими было сложно: чтобы добавить или объединить объекты, нужно было всё перепаковывать, что занимало много времени и места.
- Теперь появился флаг --combine-cruft-below-size: можно легко объединять мелкие cruft packs в один, постепенно “чистить” репозиторий.
- Исправлена важная ошибка: раньше такие объекты могли случайно удаляться раньше времени — теперь это под контролем.
2. Быстрее для больших репозиториев — многослойные битмапы
- В больших проектах Git создаёт специальные “карты” (bitmaps), чтобы быстро понимать, какие объекты нужны для определённых коммитов.
- Новая версия поддерживает “инкрементальные” битмапы для multi-pack index — можно добавлять новые данные быстро, не пересоздавая всю структуру.
3. Новый движок слияния ORT
- Старый движок recursive полностью удалён: теперь слияния (`merge`) обрабатывает только быстрый и надёжный ORT.
- Это упростит разработку, повысит скорость merge и уменьшит количество ошибок.
4. Улучшения в утилитах и команде cat-file
- Теперь можно фильтровать объекты по типу, например, быстро получить только “деревья” (tree) с помощью --filter='object:type=tree'.
- Команда для удаления reflog стала интуитивной: вместо сложных параметров просто пишем git reflog delete <branch>.
5. Больше контроля над сетевыми соединениями
- Добавлены настройки для TCP Keepalive, теперь можно гибко управлять поведением Git в нестабильных сетях.
6. Меньше Perl — проще тестировать и собирать
- Git ещё больше избавился от зависимостей на Perl: тесты и документация теперь проще и стабильнее, особенно на системах без Perl.
7. Работа с разреженными (sparse) репозиториями стала удобнее
- Команды вроде git add -p теперь не требуют полной загрузки содержимого — удобно при работе с огромными проектами.
8. Косметические улучшения
- При ребейзе (rebase -i) названия коммитов те