Git Version Control

Командная Ρ€Π°Π±ΠΎΡ‚Π°

РаспрСдСлСнная систСма контроля вСрсий для отслСТивания ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ с экспСртизой Π² GitHub, ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°Ρ…, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ рСпозиториями ΠΈ ΠΊΠΎΠ΄-Ρ€Π΅Π²ΡŒΡŽ.

90%
Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ владСния
7+ Π»Π΅Ρ‚
ΠžΠΏΡ‹Ρ‚ с 2016 Π³ΠΎΠ΄Π°
Git 2.40+
ВСкущая вСрсия

О систСмС контроля вСрсий Git

Git β€” это распрСдСлСнная систСма контроля вСрсий, которая обСспСчиваСт эффСктивноС сотрудничСство, отслСТиваниС ΠΊΠΎΠ΄Π° ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ. ИмСя ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с экосистСмой GitHub, я Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π» ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ контроля вСрсий ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π» Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ области экспСртизы

  • ΠœΠ°ΡΡ‚Π΅Ρ€ΡΡ‚Π²ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с GitHub β€” Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ рСпозиториями, ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ΅ сотрудничСство ΠΈ GitHub Actions
  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊ β€” Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ стандартов контроля вСрсий
  • АрхитСктура Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² β€” Настройка ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° слоТных структур Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²
  • ЛидСрство Π² ΠΊΠΎΠ΄-Ρ€Π΅Π²ΡŒΡŽ β€” ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…, конструктивных ΠΊΠΎΠ΄-Ρ€Π΅Π²ΡŒΡŽ
  • Π‘Ρ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΠΈ вСтвлСния β€” GitFlow, GitHub Flow ΠΈ рСализация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ CI/CD β€” АвтоматизированныС ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Ρ‹ тСстирования ΠΈ развСртывания
  • ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ мСнторство ΠΊΠΎΠΌΠ°Π½Π΄ β€” ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ Π»ΡƒΡ‡ΡˆΠΈΠΌ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git

ΠšΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Π°Ρ рСализация

УспСшно Π²Π½Π΅Π΄Ρ€ΠΈΠ» систСму контроля вСрсий Git Π² организациях:

  • Π‘Ρ€Π΅Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ с нСсколькими ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ
  • Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ уровня
  • ВрСбования соотвСтствия ΠΈ аудиторского слСда
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΊΠ»Π°Π΄ΠΎΠΌ Π² open source
  • БотрудничСство ΠΌΠ΅ΠΆΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄

ΠšΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ ΠΈ стандарты

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» ΠΈ Π²Π½Π΅Π΄Ρ€ΠΈΠ» комплСксныС ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ контроля вСрсий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΠ»ΠΈ качСство ΠΊΠΎΠ΄Π°, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ сотрудничСство ΠΈ установили Ρ‡Π΅Ρ‚ΠΊΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² организациях.

Π—Π°Ρ‰ΠΈΡ‚Π° Π²Π΅Ρ‚ΠΎΠΊ

Π’Π½Π΅Π΄Ρ€ΠΈΠ» ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π²Π΅Ρ‚ΠΎΠΊ, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅Π²ΡŒΡŽ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ статусов для поддСрТания качСства ΠΊΠΎΠ΄Π° ΠΈ прСдотвращСния прямых ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² основныС Π²Π΅Ρ‚ΠΊΠΈ.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов

Установил Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы GitFlow ΠΈ feature branch с Ρ‡Π΅Ρ‚ΠΊΠΈΠΌΠΈ соглашСниями ΠΎΠ± ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ, стандартами сообщСний ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈ шаблонами pull request.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ области ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊ

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹ сообщСний ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²
БоглашСния ΠΎΠ± ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ Π²Π΅Ρ‚ΠΎΠΊ
Руководства ΠΏΠΎ pull request
Π§Π΅ΠΊ-листы ΠΊΠΎΠ΄-Ρ€Π΅Π²ΡŒΡŽ
ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ стратСгий слияния
ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ управлСния Ρ€Π΅Π»ΠΈΠ·Π°ΠΌΠΈ

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ рСпозиториями

ΠžΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚ Π² настройкС, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Git-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΡ‚ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… стартапов Π΄ΠΎ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Настройка ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ организациями GitHub
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ шаблонов Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²
ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ доступа ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ
ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ webhook
РСализация Git LFS
ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΡ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²
Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ восстановлСниС
Π‘Ρ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΠΈ Monorepo vs Polyrepo

ЭкосистСма GitHub

ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с функциями ΠΈ интСграциями GitHub:

GitHub Actions Projects Packages Pages Codespaces Security

ЛидСрство Π² ΠΊΠΎΠ΄-Ρ€Π΅Π²ΡŒΡŽ

ΠŸΡ€ΠΎΠ²Π΅Π» сотни ΠΊΠΎΠ΄-Ρ€Π΅Π²ΡŒΡŽ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ…, Ρ„ΠΎΠΊΡƒΡΠΈΡ€ΡƒΡΡΡŒ Π½Π° качСствС ΠΊΠΎΠ΄Π°, Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°Ρ…, ΠΎΠ±ΠΌΠ΅Π½Π΅ знаниями ΠΈ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΌ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΈ.

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΊΠΎΠ΄-Ρ€Π΅Π²ΡŒΡŽ

Ѐокус Π½Π° качСствС

ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ читаСмости, поддСрТиваСмости ΠΊΠΎΠ΄Π° ΠΈ соблюдСния стандартов

ОбмСн знаниями

ИспользованиС Ρ€Π΅Π²ΡŒΡŽ ΠΊΠ°ΠΊ возмоТностСй для обучСния ΠΈ продвиТСния Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΈΠ²Π½Π°Ρ обратная связь

ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ дСйствСнной, ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°ΠΌΠΈ

Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ процСссов

ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½ΠΎΠ΅ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅ процСссов Ρ€Π΅Π²ΡŒΡŽ Π½Π° основС ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

ΠžΠ±Π»Π°ΡΡ‚ΠΈ фокуса ΠΏΡ€ΠΈ Ρ€Π΅Π²ΡŒΡŽ

  • ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎ ΠΊΠΎΠ΄Π° β€” Π§ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ, простота ΠΈ соблюдСниС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² SOLID
  • Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ β€” ВыявлСниС ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… уязвимостСй ΠΈ Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ бСзопасности
  • ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ β€” ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ запросов ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈ использования рСсурсов
  • ВСстированиС β€” ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ покрытия тСстами ΠΈ качСства тСстов
  • АрхитСктура β€” ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ чистой Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈ шаблонов проСктирования
  • Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² ΠΊΠΎΠ΄Π΅, Ρ„Π°ΠΉΠ»Ρ‹ README ΠΈ докумСнтация API

ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ Git

ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

ΠžΠΏΡ‹Ρ‚Π΅Π½ Π² слоТных опСрациях Git ΠΈ сцСнариях Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ:

Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ rebase
Π’Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (cherry-pick)
Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ²
Поиск ошибок Ρ‡Π΅Ρ€Π΅Π· bisect
Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ подмодулями
Π₯ΡƒΠΊΠΈ ΠΈ автоматизация
Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ stash
ВосстановлСниС Ρ‡Π΅Ρ€Π΅Π· reflog

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ

GitHub CLI GitKraken SourceTree GitLab CI/CD Bitbucket Azure DevOps

Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ владСния

ΠžΠ±Ρ‰Π΅Π΅ Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ 90%
ЭкосистСма GitHub 92%
Код-Ρ€Π΅Π²ΡŒΡŽ 88%
Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊ 85%
ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ 87%

БыстрыС Ρ„Π°ΠΊΡ‚Ρ‹

ΠžΠΏΡ‹Ρ‚: 7+ Π»Π΅Ρ‚
ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°: ЭкспСрт GitHub
Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ: 50+ управляСмых
Код-Ρ€Π΅Π²ΡŒΡŽ: 500+ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΎ
ΠžΠ±ΡƒΡ‡Π΅Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄: 10+

НуТна экспСртиза Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ вСрсий?

Π“ΠΎΡ‚ΠΎΠ² ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы Git ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ΅ сотрудничСство

Π‘Π²ΡΠ·Π°Ρ‚ΡŒΡΡ со ΠΌΠ½ΠΎΠΉ