Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Как Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с GitHub: быстрый старт / Habr

РаспрСдСлСнныС систСмы контроля вСрсий (DVCS) постСпСнно Π·Π°ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ собой Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅. Если Π²Ρ‹ Π΅Ρ‰Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π½ΠΈΡ… β€” самоС врСмя ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ.

Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстро Π½Π°Ρ‡Π°Ρ‚ΡŒ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с git, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ сайт github.com.

Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны различия ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ DVCS. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π°Π±ΠΎΡ‚Π° с git, ΠΏΠΎ этой Ρ‚Π΅ΠΌΠ΅ Π΅ΡΡ‚ΡŒ мноТСство Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… источников, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ Π² ΠΊΠΎΠ½Ρ†Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ.

Π˜Ρ‚Π°ΠΊ, сайт github.com позиционируСтся ΠΊΠ°ΠΊ Π²Π΅Π±-сСрвис хостинга ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с использованиСм систСмы контроля вСрсий git, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΡΠ΅Ρ‚ΡŒ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ число Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π², для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… прСдоставляСтся wiki, систСма issue tracking-Π°, Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ code review ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. GitHub Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ являСтся самым популярным сСрвисом Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π°, ΠΎΠ±ΠΎΠ³Π½Π°Π² Sourceforge ΠΈ Google Code.

Для open-souce ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² использованиС сайта бСсплатно. ΠŸΡ€ΠΈ нСобходимости ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Π½Ρ‹ΠΉ Ρ‚Π°Ρ€ΠΈΡ„Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½:

НачнСм с рСгистрации. ИдСм ΠΏΠΎ ссылкС github.com/signup/free ΠΈ Π²Π²ΠΎΠ΄ΠΈΠΌ свои Π΄Π°Π½Π½Ρ‹Π΅.
ПослС рСгистрации ΠΌΡ‹ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π½Π° Dashboard нашСго Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°:

БСйчас Ρƒ нас Π½Π΅Ρ‚ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ рСпозитория, ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈΠ±ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π»ΠΈΠ±ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π²ΠΈΡ‚ΡŒΡΡ (fork) ΠΎΡ‚ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ‡ΡƒΠΆΠΎΠ³ΠΎ рСпозитория ΠΈ вСсти ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π—Π°Ρ‚Π΅ΠΌ, ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ, свои измСнСния ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΡ€Ρƒ исходного рСпозитория (Pull request).

Но для Π½Π°Ρ‡Π°Π»Π° установим git ΠΈ настроим Π΅Π³ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с сайтом.

Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² Windows, ΠΊΠ°Ρ‡Π°Π΅ΠΌ ΠΈ устанавливаСм msysgit. Π­Ρ‚ΠΎ консольная вСрсия git для Windows (Π΄Π°Π»Π΅Π΅ расказ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π΅ΡΡ‚ΠΈΡΡŒ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ этой ОБ).

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ для MacOS X (eng)
Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ для Linux (eng)
ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ, просто Π²Π΅Π·Π΄Π΅ ΠΆΠΌΠ΅ΠΌ Next. ПослС установки Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π² контСкстном мСню ΠŸΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ° Git Bash:

ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· Git Bash.lnk Π² ΠΏΠ°ΠΏΠΊΠ΅ с установлСной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ:

ΠŸΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌ Π² консоли свои Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ настройки пСрСносов строк:
git config --global user.name "вашС имя"
git config --global user.email "ваша ΠΏΠΎΡ‡Ρ‚Π°"
git config --global core.autocrlf true
git config --global core.safecrlf true

ΠšΡΡ‚Π°Ρ‚ΠΈ, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ курс ΠΏΠΎ использованию git ΠΈΠ· консоли. ΠšΡƒΡ€Ρ проходится Π·Π° нСсколько часов ΠΈ Π΄Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ.

Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ gui β€” для Windows сущСствуСт нСсколько Ρ‚Π°ΠΊΠΈΡ… инструмСнтов для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с git. Π”Π²Π° основных β€” это SmartGit (кроссплатформСнный) ΠΈ TortoiseGit. Оба Π½Π΅ΠΏΠ»ΠΎΡ…ΠΈΠ΅, ΠΈ ΠΊΠ°ΠΊΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ β€” Π΄Π΅Π»ΠΎ вкуса. Π― ΠΎΠΏΠΈΡˆΡƒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с TortoiseGit.
Для ΠΌΠ°ΠΊΠΎΠ² Π²Ρ‹Π±ΠΎΡ€ giu Ρ‚ΠΎΠΆΠ΅ имССтся.

  • ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΎΡ‚ GitHub β€” Π½Π° ΠΌΠΎΠΉ взгляд ΠΏΠΎΠΊΠ° достаточно сыроват.
  • GitX β€” Π»ΠΈΡ‡Π½ΠΎ ΠΌΠ½Π΅ Π½Π΅ приглянулся
  • GitBox β€” Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ слСдуСт mac-way, ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ

ΠšΠ°Ρ‡Π°Π΅ΠΌ ΠΏΠΎ ссылкС code.google.com/p/tortoisegit/downloads/list. ΠŸΡ€ΠΈ установкС Π²Π΅Π·Π΄Π΅ ΠΆΠΌΠ΅ΠΌ Next.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ возвращаСмся ΠΊ github ΠΈ создадим Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. ΠΠ°Ρ…ΠΎΠ΄ΡΡΡŒ Π½Π° Dashboard, ΠΆΠΌΠ΅ΠΌ New Repository (https://github.com/repositories/new), Π²Π²ΠΎΠ΄ΠΈΠΌ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΆΠΌΠ΅ΠΌ Create Repository.

GitHub позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с рСпозиториями трСмя способами: SSH, HTTP ΠΈ Git Read-Only, соотвСтствСнно прСдоставляя ссылки Ρ‚Ρ€Π΅Ρ… Π²ΠΈΠ΄ΠΎΠ² для нашСго рСпозитория:
1. [email protected]:habrauser/Hello-world.git
2. [email protected]/habrauser/Hello-world.git
3. git://github.com/habrauser/Hello-world.git

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ просто Π·Π°Π±Ρ€Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ, достаточно Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° git (Ρ‚Ρ€Π΅Ρ‚ΡŒΡ ссылка). Π­Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ быстрый ΠΈ эффСктивный способ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹ΠΉ доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния.

Если ΠΆΠ΅ ΠΌΡ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ внСсти измСнСния Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° github, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ HTTP ΠΈΠ»ΠΈ SSH.
Π Π°Π±ΠΎΡ‚Π° ΠΏΠΎ http Π½ΠΈΠΊΠ°ΠΊΠΈΡ… трудностСй Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚, Π² Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи Π½Π° github.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ SSH, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ: ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΈ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ. ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ Π² настройках Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° Π½Π° github, Π° ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ сохранСн Π½Π° локальной машинС.

Для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ инструмСнтом ssh-keygen, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ΄Π΅Ρ‚ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ с git (описаниС этого способа ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚ΡƒΡ‚). ΠœΡ‹ ΠΆΠ΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ PuTTY (Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΊΡƒ puttygen, Π²Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽ Π² Π΅Π³ΠΎ состав). PuTTY β€” это Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ для ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ доступа, Π² Ρ‚ΠΎΠΌ числС ΠΈ с использованиСм SSH.

ΠšΠ°Ρ‡Π°Π΅ΠΌ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html). ΠšΡΡ‚Π°Ρ‚ΠΈ, puttygen Π±ΠΎΠ»Π΅Π΅ старой вСрсии (2007 Π³ΠΎΠ΄) ΠΈΠ΄Π΅Ρ‚ Π² составС TortoiseGit.

ПослС установки PuTTY, запускаСм puttygen ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ с установлСнной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ:

Π–ΠΌΠ΅ΠΌ Generate, Π΄Π²ΠΈΠ³Π°Π΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя курсором ΠΌΡ‹ΡˆΠΈ, для получСния случайных Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ

Π’Π²ΠΎΠ΄ΠΈΠΌ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, Π·Π°Ρ‰ΠΈΡ‰Π°ΡŽΡ‰ΠΈΠΉ наш ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Π² ΠΏΠΎΠ»Π΅ Key passphrase, Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΆΠΌΠ΅ΠΌ Save private key, сохраняСм.

Π”Π°Π»Π΅Π΅ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ OpenSSH ΠΈΠ· тСкстовой области Β«Public key for pasting…Β» ΠΈ ΠΈΠ΄Π΅ΠΌ Π² настройки нашСго Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° Π½Π° github (Account Settings) Π² Ρ€Π°Π·Π΄Π΅Π» SSH Public Keys:

ΠΆΠΌΠ΅ΠΌ Add another public Key, вставляСм наш ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡:

Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Add key. ВсС, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с github ΠΏΠΎ ssh. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π·Π°Π±Ρ€Π°Ρ‚ΡŒ наш пустой Ρ€Π΅Ρ€ΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ с использованиСм TortioшseGit. Π’ контСкстном мСню ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ° Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Git Clone…

Π’ ΠΏΠΎΠ»Π΅ Url вставляСм SSH-адрСс нашСго рСпозитория, Π² ΠΏΠΎΠ»Π΅ Load Putty Key ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΡƒΡ‚ΡŒ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠΌΡƒ ΠΊΠ»ΡŽΡ‡Ρƒ, ΠΆΠΌΠ΅ΠΌ OK.

Pageant запросит Ρƒ Π½Π°c ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° (ΠΏΠΎΡ‚ΠΎΠΌ этого Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ потрСбуСтся)

Pageant β€” это Π°Π³Π΅Π½Ρ‚ SSH-Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² составС PuTTY, ΠΎΠ½ позволяСт ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ.
Π’ Ρ‚Ρ€Π΅Π΅ висит Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅ΠΊ:

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ склонирован Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ измСнСния Π½Π° github. Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Ρ„Π°ΠΉΠ» README (Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ README обрабатываСтся github ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ β€” Π΅Π³ΠΎ содСрТимоС Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² качСствС описания рСпозитория Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ страницС)

Π—Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠΌ измСнСния Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

ΠΈ синхронизируСм Π΅Π³ΠΎ с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ Π½Π° github:

Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Push

Π’Π΅ΠΏΠ΅Ρ€ΡŒ зайдя Π½Π° страницу нашСго рСпозитория ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ рСпозитория сайт ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ wiki:

Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ систСму issue tracking-a:

кстати, для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ Eclipсe β€” Π΅ΡΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ mylyn-ΠΊΠΎΠ½Π½Π΅ΠΊΡ‚ΠΎΡ€ для github:

ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ EGit:

По ссылкС Explore GitHub открываСтся ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π², Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΠΎ мноТСству Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π², Π² Ρ‚ΠΎΠΌ числС ΠΏΠΎ языкам программирования, популярности ΠΈ Ρ‚.ΠΏ.

Π Π΅Π·ΡŽΠΌΠΈΡ€ΡƒΡ хочСтся ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ систСмами контроля вСрсий, ΠΈΠ»ΠΈ ΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ ΠΈ ΠΏΡ€ΠΈΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉΡΡ ΠΊ распрСдСлСнным VCS, Π½ΠΎ Π½Π΅ Π·Π½Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Ρ‚ΡŒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ смысл ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ git, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Π°ΠΊΠΎΠΉ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ инструмСнт ΠΊΠ°ΠΊ github.com.

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ссылки

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с git:
code.google.com/p/msysgit git для windows
www.syntevo.com/smartgit/index.html SmartGit
code.google.com/p/tortoisegit TortoiseGit
http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY

ΠŸΡ€ΠΎ git Π½Π° русском:
habrahabr.ru/blogs/Git/106912 «Удачная модСль вСтвлСния для gitΒ» β€” ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ англоязычной ΡΡ‚Π°Ρ‚ΡŒΠΈ
githowto.com ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ курс ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с git ΠΈΠ· консоли
habrahabr.ru/blogs/Git/106912 Β«ΠŸΠΎΡ‡Π΅ΠΌΡƒ gitΒ» + обсуТдСниС
habrahabr.ru/blogs/development/68341 Β«Git для пСрСходящих с SVNΒ» + обсуТдСниС
habrahabr.ru/blogs/Git/75990 «Командная Ρ€Π°Π±ΠΎΡ‚Π° Π² gitΒ» + обсуТдСниС
progit.org/book/ru русский ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΊΠ½ΠΈΠ³ΠΈ Β«Pro GitΒ» (ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½ΠΎ Π½Π΅ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°)
habrahabr.ru/blogs/Git/123111 инструкция-ΡˆΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…
los-t.livejournal.com/tag/git%20guts Ρ†ΠΈΠΊΠ» постов «внутрСнности gitΒ»

lib.custis.ru/%D0%9B%D0%B8%D0%BD%D1%83%D1%81_%D0%A2%D0%BE%D1%80%D0%B2%D0%B0%D0%BB%D1%8C%D0%B4%D1%81_%D0%BE_GIT_%D0%BD%D0%B0_Google_Talks Линус Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ ΠΎ git
habrahabr.ru/blogs/Git/80909 ΠΊΠ½ΠΈΠ³Π° Β«Π’ΠΎΠ»ΡˆΠ΅Π±ΡΡ‚Π²ΠΎ gitΒ»

ΠŸΡ€ΠΎ git Π½Π° английском:
ΠΊΠ½ΠΈΠ³ΠΈ


Π²ΠΈΠ΄Π΅ΠΎ
Π΄Ρ€ΡƒΠ³ΠΎΠ΅

habr.com

Как ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ GitHub | Losst

Github — это ΠΎΡ‡Π΅Π½ΡŒ извСстная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° для хранСния, распространСния ΠΈ управлСния исходным ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π­Ρ‚ΠΎΡ‚ сСрвис ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ мноТСство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ ΠΈ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Microsoft, RedHat ΠΈ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ…, Ρ‚Π°ΠΊΠΆΠ΅ сотни Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΌΠ½ΠΎΠ³ΠΈΡ… популярных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° прСдоставляСт возмоТности Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ просмотру ΠΊΠΎΠ΄Π° ΠΈ Π΅Π³ΠΎ распространСния, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ вСрсий, инструмСнты совмСстной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, срСдства для прСдоставлСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, выпуска Ρ€Π΅Π»ΠΈΠ·ΠΎΠ² ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи. И самоС интСрСсноС, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π½Π° Gihub ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Github для размСщСния своСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’Π°ΠΊ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, github для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ….

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Как ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ GitHub

Π˜Ρ‚Π°ΠΊ, допустим, Ρƒ вас Π΅ΡΡ‚ΡŒ свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊΠΎΠ΄ Π½Π° Github Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ доступС Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π΅Π³ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ — ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚.

1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ Π½Π° сайтС ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π³Π»Π°Π²Π½ΡƒΡŽ страницу GitHub ΠΈ Ρ‚ΡƒΡ‚ ΠΆΠ΅ сразу Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ввСсти Π΄Π°Π½Π½Ρ‹Π΅ для Π½ΠΎΠ²ΠΎΠΉ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Email ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ:

Когда Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚Π΅ Π²Π²ΠΎΠ΄, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Sign Up Free»:

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ шагС Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ рСпозитория. ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ бСсплатны, Π½ΠΎ Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ частный Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΊΠΎΠ΄ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π°ΠΌ, Ρ‚ΠΎ придСтся ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ $7 Π² мСсяц.

Аккаунт Π³ΠΎΡ‚ΠΎΠ², ΠΈ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π½Π° страницу, Π³Π΄Π΅ смоТСтС ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Но ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ Π²Ρ‹ смоТСтС это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ свой Email адрСс. Для этого ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ваш ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ ящик ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ ссылкС Π² письмС ΠΎΡ‚ Github.

Β 

Β 

Никакая настройка github Π½Π΅ Π½ΡƒΠΆΠ½Π°, достаточно лишь нСсколько ΠΊΠ»ΠΈΠΊΠΎΠ² ΠΌΡ‹ΡˆΠΊΠΎΠΉ.

2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ рСпозитория

На ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΉΡΡ страницС, это главная страница для Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Start a project»:

Π”Π°Π»ΡŒΡˆΠ΅ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ имя ΠΈ описаниС Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ рСпозитория:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ сразу ΠΆΠ΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, создав Ρ„Π°ΠΉΠ» Readme, для этого Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π³Π°Π»ΠΎΡ‡ΠΊΡƒ «Initialize this repository with a README» Π²Π½ΠΈΠ·Ρƒ страницы. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π»ΠΈΡ†Π΅Π½Π·ΠΈΡŽ:

Когда всС Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎ, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ «Create project», Π±ΡƒΠ΄Π΅Ρ‚ создан Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с Ρ„Π°ΠΉΠ»ΠΎΠΌ README, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится описаниС ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠΌ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ.

Π”Π°Π»ΡŒΡˆΠ΅ всС самоС интСрСсноС как Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с github.

3. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΎΠΊ

Π’Π΅Ρ‚ΠΊΠΈ Github ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с нСсколькими вСрсиями ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈ создании рСпозитория создаСтся Π²Π΅Ρ‚ΠΊΠ° master, это основная рабочая Π²Π΅Ρ‚ΠΊΠ°. МоТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ Π² Π²Π΅Ρ‚ΠΊΠ΅ master. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ для вСрсии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Ρ€Π°Π·Π½Ρ‹Ρ… систСм.

ВСкущая Π²Π΅Ρ‚ΠΊΠ° ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π° Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ послС слова «Branch».Β Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ просто Ρ€Π°Π·Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ этот список ΠΈ Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ Π½Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ Π΅Π΅ имя:

Β 

Β 

Β 

Π‘Π°ΠΉΡ‚ сам ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ «Create branch».

Π‘Ρ€Π°Π·Ρƒ ΠΆΠ΅ послС создания Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ созданной Π²Π΅Ρ‚ΠΊΠΎΠΉ.

4. ИзмСнСниС Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹

Π›ΡŽΠ±Ρ‹Π΅ измСнСния Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° Github Π΄Π΅Π»Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ². ΠšΠΎΠΌΠΌΠΈΡ‚ выполняСтся ΠΏΡƒΡ‚Π΅ΠΌ внСсСния самих исправлСний ΠΈ описания этих исправлСний. Π­Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ Π·Π½Π°Π»ΠΈ Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ мСняли, Π° Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π‘Π»ΠΎΠ²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΌΠΎΠΆΠ½ΠΎ пСрСвСсти ΠΊΠ°ΠΊ «Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ». Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ внСсти измСнСния Π² нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ², Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡ… Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π”Π°Π²Π°ΠΉΡ‚Π΅ для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Ρ„Π°ΠΉΠ» README. Для этого Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π² ΠΏΡ€Π°Π²ΠΎΠΉ сторонС ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡƒ с кисточкой ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° Π½Π΅Π΅:

ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, Π³Π΄Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ввСсти Π½ΡƒΠΆΠ½Ρ‹Π΅ Π²Π°ΠΌ исправлСния:

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ‹ сдСлаСтС всС Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅ «Commit» Π²Π½ΠΈΠ·Ρƒ страницы. ΠšΡ€Π°Ρ‚ΠΊΠΎ ΠΎΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ, Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Commit changes»:

Π­Ρ‚ΠΈ измСнСния Π±ΡƒΠ΄ΡƒΡ‚ внСсСны Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ сСйчас Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с testing, Ρ‚ΠΎ ΠΈ измСнСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΡƒΠ΄Π°.

5. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ запросов слияния (Pull Request)

GitHub для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‡Π΅Π½ΡŒ слоТным ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·-Π·Π° Ρ‚Π°ΠΊΠΈΡ… возмоТностСй, Π½ΠΎ это ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ссли Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ. Запрос слияния ΠΈΠ»ΠΈ Pull Request — это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, благодаря ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ любой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, создатСля рСпозитория ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠΎΠ΄ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² основной ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ»ΠΈ Π²Π΅Ρ‚ΠΊΡƒ. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с запросами слияния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ инструмСнт сравнСния diff, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ всС измСнСния, ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ. Pull Request ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ сразу ΠΆΠ΅ послС создания ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠΌ Pull Request ΠΈΠ· нашСй testing Π²Π΅Ρ‚ΠΊΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ «Pull Request».

Β 

Β 

Π—Π΄Π΅ΡΡŒ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Create Pull Request»:

Π”Π°Π»ΡŒΡˆΠ΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ ΡΠ»ΠΈΡ‚ΡŒ с основной, Π² нашСм случаС «testing».

Β 

Π’ этом ΠΎΠΊΠ½Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС измСнСния, сСйчас ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° строчка:

Π”Π°Π»ΡŒΡˆΠ΅ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π·Π΅Π»Π΅Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Create Pull Request» ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ описаниС, ΠΊΠ°ΠΊ ΠΈ для ΠΊΠΎΠΌΠΌΠΈΡ‚Π°:

6. ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΠΈ ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅ запросов Π½Π° слияниС

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Π½Π° Ρ‚ΠΎΠΉ ΠΆΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Pull Requests ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ созданный запрос Π½Π° слияниС ΠΈ Π½Π°ΠΌ остаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Π΅Π³ΠΎ Π½Π°ΠΆΠ°Π² «Merge Pull Request»:

Но Ссли этот запрос ΠΏΡ€ΠΈΡˆΠ΅Π» ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ‚Π°ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΠΈ Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ это, для этого просто Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° описаниС запроса ΠΈ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ΅ ΠΎΠΊΠ½ΠΎ просмотра ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:

Π”Π°Π»ΡŒΡˆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ Pull Request:

Β 

Β 

Β 

Π—Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, Π° Π²Π΅Ρ‚ΠΊΠ° testing ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ бСзопасно ΡƒΠ΄Π°Π»Π΅Π½Π°.

Β 

7. ΠžΡ‚Ρ‡Π΅Ρ‚Ρ‹ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…

Π£Π΄ΠΎΠ±Π½ΠΎ Π΅Ρ‰Π΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ использованиС GitHub Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ управлСния ΠΊΠΎΠ΄ΠΎΠΌ, Π½ΠΎ ΠΈ для ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ. На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ «Issue» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ сообщСния ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ…, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ½ΠΈ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ ΠΏΡ€ΠΈ использовании вашСго ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ «Issues», ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «New issue»:

Π”Π°Π»ΡŒΡˆΠ΅ Π²Π°ΠΌ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ввСсти Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, тСкст ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ «Create new issue».

8. Π Π΅Π»ΠΈΠ·Ρ‹

ПослСднСС Ρ‡Ρ‚ΠΎ ΠΌΡ‹ сСгодня рассмотрим — это Ρ€Π΅Π»ΠΈΠ·Ρ‹. Когда ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ достиг ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ стадии ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π΅Π»ΠΈΠ·, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΈ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ всС ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ ΠΈ Π½ΠΈΠΊΡ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ сломал Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΌ Pull Request Π² Master. Π‘Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π³Π»Π°Π²Π½ΡƒΡŽ страницу ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π·Π°Ρ‚Π΅ΠΌ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ «Releases»:

Π”Π°Π»ΡŒΡˆΠ΅ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Create New Release»:

На этой страницС Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ Π² ΠΏΠΎΠ»Π΅ «Tag Version», Π·Π°Ρ‚Π΅ΠΌ имя Ρ€Π΅Π»ΠΈΠ·Π° ΠΈ нСбольшоС описаниС. Если Ρƒ вас Π΅ΡΡ‚ΡŒ скомпилированныС Π°Ρ€Ρ…ΠΈΠ²Ρ‹ с Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠ°ΠΌΠΈ Ρ‚ΠΎ ΠΈΡ… Ρ‚ΠΎΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ сюда. Π—Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ «Create Release»:

ПослС создания Ρ€Π΅Π»ΠΈΠ·Π° Π±ΡƒΠ΄Π΅Ρ‚ создана такая страничка:

Бсылки Π½Π° исходный ΠΊΠΎΠ΄ Π² tar.gz ΠΈ zip Π±ΡƒΠ΄ΡƒΡ‚ созданы автоматичСски, всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π²Π°ΠΌ придСтся Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ GitHub для размСщСния ΠΈ управлСния своим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ. Вся систСма Π½Π° английском, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ знания языка ΠΎΡ‡Π΅Π½ΡŒ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ Π½ΠΎ Π΄Π°ΠΆΠ΅ Π±Π΅Π· Π½ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Π° с github Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΠΉ. НадСюсь, эта информация Π±Ρ‹Π»Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ для вас. Если вас интСрСсуСт ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Git ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, смотритС ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ git для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ….

losst.ru

Как ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Git для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Git — это ΠΎΡ‡Π΅Π½ΡŒ популярная систСма контроля вСрсий ΠΈ совмСстной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Git Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния Π² исходном ΠΊΠΎΠ΄Π΅ своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ вСрсии Π² случаС критичСских ошибок, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своим ΠΊΠΎΠ΄ΠΎΠΌ со всСми ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΠΌΠΈ ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΡ‚ Π½ΠΈΡ… исправлСния.

Π­Ρ‚ΠΎ мощная систСма, которая позволяСт ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ вашими ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Π—Π΄Π΅ΡΡŒ Π½Π΅Ρ‚ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ языку ΠΈΠ»ΠΈ структурС Ρ„Π°ΠΉΠ»ΠΎΠ², поэтому Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² полная свобода дСйствий. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ git для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Рассмотрим всС ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ, начиная ΠΎΡ‚ настройки, ΠΈ Π΄ΠΎ Π²Π΅Ρ‚Π²Π΅ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Команда git

Π£ΠΆΠ΅ ΠΏΠΎ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΈ, ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π΅Π΅ основныС ΠΎΠΏΡ†ΠΈΠΈ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. Бинтаксис git ΠΎΡ‡Π΅Π½ΡŒ прост:

$ git ΠΎΠΏΡ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹

Π‘Π½Π°Ρ‡Π°Π»Π° рассмотрим ΠΎΠΏΡ†ΠΈΠΈ, ΠΎΠ½ΠΈ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ всСй ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹:

  • -C — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ рСпозитория вмСсто Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ;
  • -c ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€=Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ;
  • -p — ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒ вСсь Π²Ρ‹Π²ΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ less;

Π’Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git, ΠΈΡ… Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ большС ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½ΠΈΡ… Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ всС основныС дСйствия:

  • add — Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΡƒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git;
  • am — ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС ΠΏΠ°Ρ‚Ρ‡ΠΈ ΠΈΠ· email;
  • archive — ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΠ² Ρ„Π°ΠΉΠ»ΠΎΠ²;
  • bisect — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ поиск для поиска Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°;
  • branch — ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;
  • bundle — ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ссылок Π² Π°Ρ€Ρ…ΠΈΠ²Π΅;
  • checkout — ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ;
  • cherry-pick — внСсти измСнСния Π² ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹;
  • clean — ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС нСотслСТиваСмыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;
  • clone — ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ копию ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория Π² ΠΏΠ°ΠΏΠΊΡƒ;
  • commit — ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ измСнСния Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ;
  • diff — ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ измСнСния ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ;
  • fetch — ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ;
  • init — ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ;
  • merge — ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π²Π΅ Π²Π΅Ρ‚Π²ΠΈ;
  • pull — ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ;
  • push — ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ измСнСния Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ;
  • tag — ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚Π΅Π³Π°ΠΌΠΈ;
  • worktree — ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ дСрСвями Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

АргумСнты зависят ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, поэтому Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΡ… Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ….

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ git?

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΈΠ΄Ρ‚ΠΈ дальшС ΠΈ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ использованиС git для управлСния своими ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, я Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π» ΡΠΊΠ°Π·Π°Ρ‚ΡŒ нСсколько слов ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ эта тСхнология, Ρ‚Π°ΠΊ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, основы Ρ€Π°Π±ΠΎΡ‚Ρ‹ git.

Π˜Ρ‚Π°ΠΊ, ΠΈΠ· всСго Π²Ρ‹ΡˆΠ΅ пСрСчислСнного, Π²Ρ‹, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, ΡƒΠΆΠ΅ поняли, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий позволяСт Π²Π°ΠΌ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ измСнСния Π½Π° любом этапС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ.  Но это Π½Π΅ совсСм Ρ‚Π°ΠΊ. ИзмСнСния ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ². По-русски — фиксация. Π’Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ состояниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° Π·Π°Ρ‚Π΅ΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСнСния. Π­Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ снимки состояния.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, git позволяСт ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр. ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ готовая вСрсия, Π½ΠΎ ΠΈ всС снимки, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, любой Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. К ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ снимку Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, Ρ‚Π°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π° с git Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ понятнСС.

Как ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Git?

Π”Π°Π»ΡŒΡˆΠ΅ я Π±ΡƒΠ΄Ρƒ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ установку ΠΈ Π±Π°Π·ΠΎΠ²ΡƒΡŽ настройку git. ΠšΡ€ΠΎΠΌΠ΅ установки, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ ΠΈ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΒ Π΄Π»Ρ доступа ΠΊ сСрвСру Git, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° GitHub. Если Π²Ρ‹ этого Π΅Ρ‰Π΅ Π½Π΅ сдСлали смотритС ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ установка Git Π² Ubuntu 16.04.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, структура ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Git Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° ΠΈ слоТности вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Но для Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, состоящий Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ содСрТит ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ‚ΠΊΡƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΎΠ½Π° называСтся master. Наш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ test.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Когда настройка git Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ. Π’ самом Π½Π°Ρ‡Π°Π»Π΅ Π²Π°ΠΌ достаточно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ для Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Если Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ нСсколькими ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, создайтС ΠΏΠ°ΠΏΠΊΡƒ git Π² вашСм домашнСм ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Π° ΡƒΠΆΠ΅ Ρ‚ΡƒΠ΄Π° помСститС ΠΏΠ°ΠΏΠΊΠΈ Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²:

mkdir -p ~/git/testing ;Β cd ~/git/testing

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° создаст Π½ΡƒΠΆΠ½ΡƒΡŽ структуру ΠΏΠ°ΠΏΠΎΠΊ ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ созданный. Π’Π΅ΠΏΠ΅Ρ€ΡŒ создадим ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

touch file

Β 

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ², Π½ΠΎ систСма контроля вСрсий git Π΅Ρ‰Π΅ Π½Π΅ Π·Π½Π°Π΅Ρ‚ ΠΎΠ± этом.

Настройка ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² git

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ git Π½Π°Ρ‡Π½Π΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ пустой Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² нашСй ΠΏΠ°ΠΏΠΊΠ΅:

git init

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ создан, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ свои Ρ„Π°ΠΉΠ»Ρ‹ Π² Π½Π΅Π³ΠΎ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹ явно. Пока Π²Ρ‹ Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» сам ΠΎΠ½ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ. НовыС Ρ„Π°ΠΉΠ»Ρ‹ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Ρ‚ΠΎΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ автоматичСски. Β Π‘Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ:

git add .

Если всС ΠΏΡ€ΠΎΡˆΠ»ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚.

Ѐиксация ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

ИзмСнСния Ρ‚ΠΎΠΆΠ΅ автоматичСски Π½Π΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ. Ѐиксация ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ выполняСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ commit. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ нСбольшого коммСнтария, Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π² нСсколько ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всС вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΎΡ‚ самой ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈ Π΄ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ смоТСтС Π·Π½Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΈ Π³Π΄Π΅ Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

git commit -m "Initial Commit" -a

КомандС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ — это -m, ваш ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, Π²Ρ‚ΠΎΡ€ΠΎΠΉ -a, ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ дСйствиС ΠΊΠΎ всСм ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ. Для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ€Π°Π·Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, Π½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

git commit -m "Changed file" file

Β 

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

Π”ΠΎ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΌΡ‹ Π΄Π΅Π»Π°Π»ΠΈ всС Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ git локально, Ссли Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

Π‘Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ remote. Для этого Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅ΠΉ URL:

Β git remote add origin https://github.com/Seriyyy95/testing.git

Π—Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ список ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²:

git remote -v

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ github сСрвСра, Π½ΠΎ ΠΈ Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π’Π΅ΠΏΠ΅Ρ€ΡŒ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π²Π°ΡˆΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

git push origin master

Команда push ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, origin — наш настроСнный Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π° master — Π²Π΅Ρ‚Π²ΡŒ.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСтвями

Для простых ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² достаточно ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ. Но Ссли ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ большой ΠΈ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько вСрсий, Π² Ρ‚ΠΎΠΌ числС Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ. Π‘Π½Π°Ρ‡Π°Π»Π° смотрим доступныС Π²Π΅Ρ‚Π²ΠΈ:

git branch -a

Β 

Β 

ΠžΠΏΡ†ΠΈΡ -a ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ вывСсти всС Π²Π΅Ρ‚Π²ΠΈ, Π΄Π°ΠΆΠ΅ Π½Π΅ синхронизированныС. Π—Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠ° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ создадим Π²Π΅Ρ‚Π²ΡŒ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ checkout:

git checkout -b develop

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ вСтвями ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠΆΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

git checkout master
$ git checkout develop

Π’Π΅ΠΏΠ΅Ρ€ΡŒ создадим Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ»:

touch develop

И Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Π³ΠΎ Π² Π½Π°ΡˆΡƒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ develop:

git add develop

Β 

Β 

Π‘Π΄Π΅Π»Π°Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ для внСсСнных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:

git commit -m "develop file" develop

Π”Π°Π»ΡŒΡˆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ сущСствуСт Π»ΠΈ этот Ρ„Π°ΠΉΠ» Π² основной Π²Π΅Ρ‚ΠΊΠ΅ master ΠΈΠ»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ:

gitΒ branch
$ ls

Π—Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡΡ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ master ΠΈ снова смотрим:

git checkout master
$ git branch
$ ls

Π—Π΄Π΅ΡΡŒ Ρ„Π°ΠΉΠ»Π° Π½Π΅Ρ‚, Ρ‚Π°ΠΊ ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ. Π’ git Π΅ΡΡ‚ΡŒ такая полСзная Π²Π΅Ρ‰ΡŒ, ΠΊΠ°ΠΊ слияниС. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π²Π΅ Π²Π΅Ρ‚Π²ΠΈ. НапримСр, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π² ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΡƒΡŽ. Для этого достаточно Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ merge:

git mergeΒ develop --no-ff

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ слияниС Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ввСсти ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, Π·Π°Ρ‡Π΅ΠΌ это Π½ΡƒΠΆΠ½ΠΎ. Π—Π°Ρ‚Π΅ΠΌ Ссли Π²Ρ‹ Π΅Ρ‰Π΅ Ρ€Π°Π· Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ls, Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ здСсь ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ». Наши ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ git подошли ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ git для управлСния вСрсиями своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π­Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самая основная информация, ΠΈ систСма контроля вСрсий git ΠΌΠΎΠΆΠ΅Ρ‚ Π΅Ρ‰Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠ΅, Π½ΠΎ рассмотрСниС Π΅Π³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Ρ€Π°ΠΌΠΊΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ. НадСюсь, эта ΡΡ‚Π°Ρ‚ΡŒΡ Π±Ρ‹Π»Π° Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ.

losst.ru

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² GitHub: ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ?

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² GitHub: ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ?

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚! НСсмотря Π½Π° Ρ‚Π°ΠΊΠΎΠΉ Π΄ΠΎΠ»Π³ΡƒΡŽ ΠΏΠ°ΡƒΠ·Ρƒ послС послСднСй ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΎ VestaCP, Π±ΡƒΠ΄Ρƒ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Π±ΠΎΠ»Π΅Π΅ интСнсивный Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π‘ этого дня Ρ‚Π΅ΠΌΡ‹ Π½ΠΎΠ²Ρ‹Ρ… статСй Π±ΡƒΠ΄ΡƒΡ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ смСнСны, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ большС статСй, связанных с вёрсткой сайтов. Π― Π½Π΅ Π±Π΅Ρ€Ρƒ Π½Π° сСбя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΎΠ±ΡƒΡ‡ΠΈΡ‚ΡŒ вас вёрсткС, Π°, скорСС, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽ Π²Π°ΠΌ миниконспСкт основ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³ΠΊΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ. НадСюсь, Π²Π°ΠΌ понравится ΠΈ Π²Ρ‹ смоТСтС эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Π₯Π²Π°Ρ‚ΠΈΡ‚ прСдисловий, приступим ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅.

ΠŸΡƒΡ‚ΡŒ Ρ†ΠΈΠΊΠ»Π° Π±Ρ‹Π»ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ GitHub. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ инструмСнты Π² своСй Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ. НСльзя Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Π·Π΅ΠΌΠ»Π΅Π΄Π΅Π»ΠΈΠΈ, Π½Π΅ упомянув ΠΏΠ»ΡƒΠ³)

БистСмы контроля вСрсий

ДрСвняя систСма контроля вСрсий

НавСрноС, всС ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ сохраняли 2 вСрсии Ρ„Π°ΠΉΠ»Π° с нСбольшими отличиями ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ? К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π½Π°ΡƒΡ‡ΠΊΠ°-Π²Π΅Ρ€1.txt ΠΈ Π½Π°ΡƒΡ‡ΠΊΠ°-Π²Π΅Ρ€1-ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ»_ΠŸΡƒΡˆΠΊΠΈΠ½.txt. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π²Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ своСму Π½Π°ΡƒΡ‡Π½ΠΎΠΌΡƒ Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŽ, ΠΎΠ½ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ», внёс свои измСнСния ΠΈ ΠΎΡ‚Ρ€Π°Π²ΠΈΠ» Π²Π°ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ„Π°ΠΉΠ». Π’Π°ΠΊΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ бСсконСчности, плодя мноТСство Ρ„Π°ΠΉΠ»ΠΎΠ², названия ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ставятся всС Π±ΠΎΠ»Π΅Π΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ странными. А ваша ΠΏΠ°ΠΏΠΊΠ° с вСрсиями с «Π½Π°ΡƒΡ‡ΠΊΠΎΠΉ» становится ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄ΠΈΠΊΠΎΠ΅ ΠΈ слоТноС Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ, ΠΈ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ становится ΠΎΡ‡Π΅Π½ΡŒ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ слоТно.

Π’Π°ΠΊΠΎΠΉ способ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌ*Β Π² ΠΌΠΈΡ€Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, особСнно, Ссли Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ трудится ΠΌΠ½ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. И Π²ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ:

  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ошибки Π² Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ вСрсии Ρ„Π°ΠΉΠ»Π°.
  • НСпримСнимо ΠΊ мноТСству Ρ„Π°ΠΉΠ»ΠΎΠ².
  • НСт Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΉ, Ρ‡Ρ‚ΠΎ Ρƒ вас самая послСдняя вСрсия Ρ„Π°ΠΉΠ»Π°.
  • НСвозмоТно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

БоврСмСнная систСма контроля вСрсий

Если Π΄Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠ±ΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π³Π»Π°Π²Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ GitHub, Ρ‚ΠΎ это сСрвис для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ работы систСмы контроля вСрсий Git, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΠΉ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ Π² Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΌ мСстС ΠΈ Π΄Π°ΡŽΡ‰ΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ совмСстной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.Β Π’Π΅ΠΏΠ΅Ρ€ΡŒ разбСрСмся этими понятиями, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΆΠΈΡ€Π½Ρ‹ΠΌ.

БистСма контроля вСрсий β€” это Ρ‚Π° ΡˆΡ‚ΡƒΠΊΠ°, которая позволяСт ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всС вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Ρ‚.Π΅. Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ удаляСтся ΠΈ Π½Π΅ тСряСтся), ΠΈ, ΠΏΡ€ΠΈ надобности, Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΡ‚ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΈ Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ», ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ ΠΏΡ€Π°Π²ΠΊΠ°ΠΌ.

ЦСль Ρ‚Π°ΠΊΠΎΠΉ систСмы — ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρƒ всСх Π΅Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы контроля вСрсий Π½ΡƒΠΆΠ½ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ — Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, своСобразный сСйф для Ρ„Π°ΠΉΠ»ΠΎΠ² вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π°Π½Π°Π»ΠΎΠ³ ΠΏΠ°ΠΏΠΊΠΈ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС Π² Π΄Ρ€Π΅Π²Π½Π΅ΠΉ систСмС контроля вСрсий.

Π’ΠΈΠ΄Ρ‹ соврСмСнной систСмы контроля вСрсий

ЦСнтрализованная.

  1. БущСствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.
  2. ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ Π½ΠΎΠΌΠ΅Ρ€Π° вСрсий Ρ„Π°ΠΉΠ»ΠΎΠ² (1, 2, 3 ΠΈ Ρ‚.Π΄.).
  3. Π£ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ хранится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСкущая вСрсия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
  4. ВрСбуСтся ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ.
  5. ΠŸΡ€ΠΎΡΡ‚ΠΎ, Π½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ.
  6. БлоТности Π² ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ.

ЦСнтрализованная систСма контроля вСрсий

РаспрСдСлСнная.

На ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ приходится ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π².

  1. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ создаСт Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ копию всСго рСпозитория Π½Π° основС Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ.
  2. НомСра вСрсий слоТныС.
  3. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΡ„Π»Π°ΠΉΠ½.
  4. Π Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ быстро ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ.
  5. ВрСбуСтся синхронизация Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ β€” ΠΎΠ΄ΠΈΠ½.

РаспрСдСлСния систСма контроля вСрсий ΠΊΠ°ΠΊ Π² GitHub

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ слову Git.

GitΒ β€” это инструмСнт для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ распрСдСлённой систСмы контроля вСрсий.

НиТС Π±ΡƒΠ΄Π΅Ρ‚ описан процСсс Ρ€Π°Π±ΠΎΡ‚Ρ‹ с распрСдСлСнной систСмой, Ρ‚.ΠΊ. ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² GitHub. Π’ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ понятия, ΠΊΠ°ΠΊ синхронизация Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π², Ρ‚.ΠΊ. ΠΎΠ½ ΠΎΠ΄ΠΈΠ½ ΠΈ с Π½Π΅Π³ΠΎ ΠΌΡ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° Π² распространСнной загруТаСтся вСсь Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ со всСми вСрсиями, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ участника создаСтся свой Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Β GitHub

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с GitHub Π½Π°ΠΌ потрСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ контроля вСрсий (Π²Β GitHub, это GitHub Desktop) ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±-сайт, Ρ‚Π°ΠΊ ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ»ΠΈΠ΅Π½Ρ‚.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ GitHub

  1. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ вСсь Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° свой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ (pull).
  2. Вносим Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΊΠΈ, сохраняСм, вносим ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈ Ρ‚.Π΄. Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ рСпозитория.
  3. ΠŸΡ€ΠΎΡΠΈΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° внСсти ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.
    ВнСсСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ называСтся фиксациСй ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Β«ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌΒ» (commit).
  4. ПослС ΠΊΠΎΠΌΠΌΠΈΡ‚Π° вСрсия вашСго локального рСпозитория измСнилась.
  5. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ измСнСния фиксированы Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΠ»ΠΈΡΡŒ Π½Π° сайтС GitHub, трСбуСтся Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° функция «ΡΠΈΠ½Ρ…ронизация Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²» (push).
  6. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ваш Π³Π»Π°Π²Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, располоТСнный Π² GitHub, Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Вакая стандартная схСма ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ°, ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ. Если Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ нСсколько Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, Ρ‚ΡƒΡ‚ Π½Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ², слияний, Ρ€ΡƒΡ‡Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ².

БлияниС, ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°

ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ GitHub

Для понимая Π½ΡƒΠΆΠ΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π’Π»Π°Π΄ ΠΈ АртСм сдСлали копию рСпозитория (pull) с Ρ„Π°Π»ΠΎΠΌ вСрсии 1 с GitHub, внСсли Ρ€Π°Π·Π½Ρ‹Π΅ измСнСния Π² этот Ρ„Π°ΠΉΠ», ΠΎΠ±Π° зафиксировали измСнСния (commit) β†’ вСрсии Ρ„Π°Π»Π° Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² измСнились, Ρƒ Π’Π»Π°Π΄Π° вСрсия 2, Ρƒ АртСм 2А. И Π·Π°Ρ‚Π΅ΠΌ Π’Π»Π°Π΄ Π·Π°ΠΏΡƒΡˆΠΈΠ» (синхронизировал Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ- push). Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π° GitHub добавилась вСрсия Ρ„Π°ΠΉΠ»Π° 2. АртСм Ρ‚ΠΎΠΆΠ΅ Ρ€Π΅ΡˆΠΈΠ» Π·Π°ΠΏΡƒΡˆΠΈΡ‚ΡŒ свои измСнСния, Ρ‚. ΠΊ. Π½Π° GitHub Π΅ΡΡ‚ΡŒ вСрсия ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅Ρ‚ Ρƒ АртСма (Ρƒ Π½Π΅Π³ΠΎ Π½Π΅Ρ‚ вСрсии 2), систСма откаТСтся ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ для сохранСния вСрсии 2.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ внСсти свои измСнСния, АртСму Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡΡ‚ΡŒ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (pull) с GitHub с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ вСрсиСй этого Ρ„Π°ΠΉΠ»Π°. ΠŸΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚.

На самом Π΄Π΅Π»Π΅ сильно ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Π±ΠΎΡΡ‚ΡŒΡΡ Π½Π΅ Π½Π°Π΄ΠΎ, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² большой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΡ… Π½Π΅ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ, это становится ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΉ Ρ€ΡƒΡ‚ΠΈΠ½ΠΎΠΉ.

Бпособы Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°:

  1. АвтоматичСскоС слияниС. Бравнивая построчно ΠΊΠΎΠ΄ Π’Π»Π°Π΄Π° ΠΈ АртСма, GitHub ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ куски ΠΊΠΎΠ΄Π° Π² Ρ„Π°ΠΉΠ»Π΅, ΠΏΡ€ΠΈ этой получится новая вСрсия Ρ„Π°ΠΉΠ»Π°. ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ Π²Β Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ вСрсии 1, 2, 2А, ΠΈ 3, Π° АртСм Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡˆΠΈΡ‚ΡŒ всС ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ вСрсии Ρ„Π°ΠΉΠ»Π°.
  2. Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Git ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΠ΅Ρ‚, ΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ внСсти Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ. БоздаСтся вСрсия 3, ΠΈ АртСм ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡˆΠΈΡ‚ΡŒ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ вСрсии Ρ„Π°ΠΉΠ»Π°.

Master / Π½Π΅ master, Fork, PullΒ request

Π’Π΅Ρ‚ΠΊΠΈ β€” это своСобразныС ΠΏΠ°ΠΏΠΊΠΈ со всСми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’Π΅Ρ‚ΠΊΠ° Master — это самая главная ΠΏΠ°ΠΏΠΊΠ° вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΎΠ½Π° всСгда сущСствуСт.Β Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ всякиС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π½ΡƒΠΆΠ΄Ρ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ:

Π’ Master Π»Π΅ΠΆΠΈΡ‚ послСдняя ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ вСрсия, Π³Π΄Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π½ΠΎΡΠΈΡ‚ΡŒ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ измСнСния; development — Π²Π΅Ρ‚ΠΊΠ° для нСпосрСдствСнной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ; dev-adaptive — Π²Π΅Ρ‚ΠΊΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, связанная с ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Fork? К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π½Π° GitHub Π²Π°ΠΌ понравился ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π½ΠΎ Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ Π² Π½Π΅ΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π΅Π΅ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, Π½ΠΎ доступа ΠΊ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Ρ‡ΡƒΠΆΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρƒ вас Π½Π΅Ρ‚. Для этого Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ fokr. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΅ΡΡ‚ΡŒ доступ для рСдактирования Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’Ρ‹ ΡΠΏΡ€Π°Π²ΠΈΠ»ΠΈΡΡŒ с Π±Π°Π³ΠΎΠΌ, Π½ΠΎ ваши Ρ‚Ρ€ΡƒΠ΄Ρƒ ΠΏΡ€ΠΎΠΏΠ°Π΄ΡƒΡ‚ Π΄Π°Ρ€ΠΎΠΌ Ρ‚. ΠΊ. измСнСния Π½Π΅ отобразится Π² master Π²Π΅Ρ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΈ создан PullΒ request.

PullΒ request β€” это ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ внСсти Π² Π³Π»Π°Π²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ваши измСнСния.

На этом нСбольшоС Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ. НС ΠΌΡƒΡ‡Π°ΠΉΡ‚Π΅ΡΡŒ с Π΄ΠΎΠΏΠΎΡ‚ΠΎΠΏΠ½ΠΎΠΉ систСмой вСрсий, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π° GitHub. Бпасибо Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.

pupi-boy.ru

Git ΠΈ командная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° (для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²) / Habr

Π‘ΠΎΠ°Π²Ρ‚ΠΎΡ€ ΡΡ‚Π°Ρ‚ΡŒΠΈ: RicardoMilos

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅


ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Если Ρ‚Ρ‹ сюда зашСл, Π·Π½Π°Ρ‡ΠΈΡ‚ тСбя заинтСрСсовал вопрос, ΠΊΠ°ΠΊ программисты Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅. Если Π΄ΠΎ этого Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² соло, Ρ‚ΠΎ Ρ‚Π΅Π±Π΅, Π½Π°Π²Π΅Ρ€Π½ΠΎ, каТСтся, Ρ‡Ρ‚ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‰Π΅, вСдь большС Ρ€ΡƒΠΊ ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΌΠΎΠΆΠ½ΠΎ Π³ΠΎΡ€Π°Π·Π΄ΠΎ быстрСС ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ. Но Π½Π΅ всС Ρ‚Π°ΠΊ просто. БСйчас ΠΌΡ‹ с Ρ‚ΠΎΠ±ΠΎΠΉ ознакомимся, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ°ΠΊΠΈΡ… инструмСнтов вСдСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ Ρ‡Ρ‚ΠΎ происходит Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

GIT


НавСрняка Π²Π°ΠΌ Π·Π½Π°ΠΊΠΎΠΌΠ° такая ситуация:

Π Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ вСрсионности. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ такая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° встрСчаСтся Ρƒ творчСских людСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ постоянно всС ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Ρ‹Π²Π°ΡŽΡ‚ ΠΈ Π΄ΠΎΠ±ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈΠ΄Π΅Π°Π»Π°. К соТалСнию, Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‚ΠΎΠΆΠ΅ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всСгда всС получаСтся с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ€Π°Π·Π°. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ: Π²Ρ‹ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ кусок ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π» Ρ‡ΡƒΡ‚ΡŒ-Ρ‡ΡƒΡ‚ΡŒ быстрСС. Π’Ρ‹ пСрСписываСтС, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚Π΅, запускаСтС ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²ΠΎΠΎΠ±Ρ‰Π΅. ВсС сломалось.

И Ρ‚ΡƒΡ‚ Π²Ρ‹ осознаСтС, Ρ‡Ρ‚ΠΎ Π½Π΅ сохранили Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π° ΠΊΠ½ΠΎΠΏΠΊΠ° Z Π½Π° вашСй ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅ сломалась, поэтому Π²Ρ‹ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΡΠΏΠ°ΠΌΠΈΡ‚ΡŒ ctrl+z. Π’ ΠΏΠΎΡ€Ρ‹Π²Π΅ ярости Π²Ρ‹ ΠΏΡ€ΠΎΠ±ΠΈΠ²Π°Π΅Ρ‚Π΅ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ своСй Π½Π°ΠΊΠ°Ρ‡Π°Π½Π½ΠΎΠΉ ΠΏΡ€Π°Π²ΠΎΠΉ Ρ€ΡƒΠΊΠΎΠΉ. Π’Π΅Ρ‡Π΅Ρ€ΠΎΠΌ Π²Ρ‹ ΠΏΠ»Π°Ρ‡Π΅Ρ‚Π΅, ΡƒΠΊΡƒΡ‚Π°Π²ΡˆΠΈΡΡŒ Π² ΠΏΠ»Π΅Π΄ΠΈΠΊ, ΠΈ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅ ΠΎ тяТСлой участи программистов.

ΠŸΠ»Π°Ρ‡Π΅Π²Π½Π°Ρ ситуация… И Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π½Π΅ происходило, Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ вСрсии своСго ΠΊΠΎΠ΄Π°.

Ну программисты β€” люди ΡƒΠΌΠ½Ρ‹Π΅, ΠΈ ΠΎΠ½ΠΈ прСкрасно поняли, Ρ‡Ρ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всС вСрсии Π² Π²ΠΈΠ΄Π΅ ΠΊΡƒΡ‡ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² максимально Π½Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈ Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ срочно ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ вСрсий ΠΈ Ρ‚Π΅ΠΌ самым Ρ€Π΅ΡˆΠΈΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ вСрсионности.

И Ρ‚ΡƒΡ‚ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ провСсти аналогию с ΠΈΠ³Ρ€Π°ΠΌΠΈ. ΠŸΠΎΡ‡Ρ‚ΠΈ Π²ΠΎ всСх ААА ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Π΅ΡΡ‚ΡŒ систСма сохранСний. Как наглядный ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ привСсти ΠΈΠ³Ρ€Ρƒ Papers Please.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ всС систСмы контроля вСрсий.

Version Control System (VCS) β€” систСма, Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ измСнСния Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ большого ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ вСрсии.

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ Π‘ΠšΠ’:

  1. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅
  2. Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅
  3. РаспрСдСлСнныС

Π‘ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π‘ΠšΠ’ ΠΌΡ‹ ΡƒΠΆΠ΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ (это Ρ‚Π΅ самыС ΠΊΡƒΡ‡ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²)

Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π‘ΠšΠ’


  • Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр
    всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠ΄ вСрсионным ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ
  • ряд ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ²
    ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ ΠΊΠΎΠΏΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

РаспрСдСлСнныС Π‘ΠšΠ’


  1. ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ вСсь Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
  2. Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° прСдоставлСниС основной ΠΊΠΎΠΏΠΈΠΈ
  3. Бинхронизация ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ
    • Π‘ сСрвСром
    • Π‘ Π»ΡŽΠ±Ρ‹ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ


ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° Π‘ΠšΠ’


  1. Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ всСх ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
  2. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Β«Π½Π° Π»ΡŽΠ±ΡƒΡŽ ΡΡ‚Π°Π΄ΠΈΡŽ развития ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Β»
  3. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ вСсти ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ
  4. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ

GIT


Git β€” распрСдСлённая систСма контроля вСрсий
Автор: Линус Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ
2005 β€” пСрвая вСрсия

Установка:
Linux: sudo apt install git
Windows/macOS: ссылка

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ:

  • GNU/Linux
  • Android
  • Wine
  • Google
  • Chromium
  • jQuery
  • PHP
  • MediaWiki
  • Qt

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ понятия


Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (repository, repo) β€” мСсто, Π³Π΄Π΅ Π‘ΠšΠ’ Ρ…Ρ€Π°Π½ΠΈΡ‚ свои ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
Π Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ (working directory) β€” извлСчённая ΠΈΠ· рСпозитория копия ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
ΠžΠ±Π»Π°ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² (staged area) β€” слуТСбный Ρ„Π°ΠΉΠ», содСрТащий ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΠΎΠΉΡ‚ΠΈ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ€Π΅Π²ΠΈΠ·ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
РСвизия (revision) β€” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, хранящий ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ состояния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (вСрсия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°)
ΠšΠΎΠΌΠΌΠΈΡ‚ (commit) β€” созданиС Π½ΠΎΠ²ΠΎΠΉ Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ

Настройка ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ GIT


Настройка ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
git config --global user.name "Your Name" 
git config --global user.email [email protected]

Настройки ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² скрытый Ρ„Π°ΠΉΠ» .gitconfig (Π² домашнСй Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ)
[user] 
name = John Doe 
email = [email protected]

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ рСпозитория
mkdir first_git_repo 
cd first_git_repo 
git init

Бостояния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°


  1. Зафиксированный
    Ρ„Π°ΠΉΠ» ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ
  2. Π˜Π·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ
    Ρ„Π°ΠΉΠ» отличаСтся ΠΏΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ ΠΎΡ‚ своСго зафиксированного состояния
  3. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ
    ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ станСт зафиксированным послС создания Π½ΠΎΠ²ΠΎΠΉ Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ (этот Ρ„Π°ΠΉΠ» ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚ Π² эту Ρ€Π΅Π²ΠΈΠ·ΠΈΡŽ)

Π Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΠ΄ΠΎΠΌ



  1. ИзмСнСниС Π² ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅: созданиС / ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ / Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²
    Π’ любой IDE
  2. ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ состояния
    git status
  3. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² индСкс
    (ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π² состояниС Staged)
    git add ΠΈΠΌΠ΅Π½Π°_Ρ„Π°ΠΉΠ»ΠΎΠ²_Ρ‡Π΅Ρ€Π΅Π·_ΠΏΡ€ΠΎΠ±Π΅Π»
  4. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ (ΠΈΠ· Staged Π² Repo)
    git commit -m "ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ"

Π‘ΡƒΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌ


Π Π°Π±ΠΎΡ‚Π° с Π‘ΠšΠ’


Π§Ρ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ?

[+] ВсС Ρ„Π°ΠΉΠ»Ρ‹ исходного ΠΊΠΎΠ΄Π°
[+] ВсС рСсурсы, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для компиляции
[+] настройки компиляции ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
[-] настройки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² IDE
[-] Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈΠ· исходников
[-] исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹

УдалСниС из индСкса

git rm имя_Ρ„Π°ΠΉΠ»Π°

ΠšΠΎΠΌΠΌΠΈΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ измСнСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²

Когда Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚?

  • Когда Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ» ΠΌΠ°Π»Π΅Π½ΡŒΡˆΡƒΡŽ Π·Π°Π΄Π°Ρ‡ΠΊΡƒ
  • Если Π·Π°Π΄Π°Ρ‡ΠΊΠ° большая β€” Π΄Π΅Π»ΠΈΠΌ Π½Π° логичСскиС подчасти
  • Код Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ состоянии!

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ истории
git log
git log --graph

НомСр Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ = SHA-1 Ρ…ΡΡˆ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π΅Π²ΠΈΠ·ΠΈΡŽ

git checkout sha1_hash 
git checkout ΠΏΠ΅Ρ€Π²Ρ‹Π΅_8_Ρ†ΠΈΡ„Ρ€_sha1

Π’Π΅Ρ‚ΠΊΠΈ


Π’Π΅Ρ‚ΠΊΠ° (Π°Π½Π³Π». branch) β€” это ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ вСдётся ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°

Основная Π²Π΅Ρ‚ΠΊΠ° – master

Π’Π΅Ρ‚ΠΊΠΈ Π² GIT

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС Π²Π΅Ρ‚ΠΊΠΈ, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚Π°Ρ€ΠΈΠΈ

git branch

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ

git branch имя

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ

git checkout имя
На этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ нСсохранённых ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π½Π΅Ρ‘

git checkout -b имя

БлияниС Π²Π΅Ρ‚ΠΎΠΊ

ОбъСдинСниС Π²Π΅Ρ‚ΠΎΠΊ (Π°Π½Π³Π». merge) β€” процСсс ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²) ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ:

b1 β€” Π²Π΅Ρ‚ΠΊΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ добавляСм измСнСния
b2 β€” Π²Π΅Ρ‚ΠΊΠ° ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ добавляСм измСнСния

git checkout b1 
git merge b2

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ истории


ΠžΠΊΠΎΠ½Π½Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹:
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΎΠΊ

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ

git branch –d имя_Π²Π΅Ρ‚ΠΊΠΈ

Π£Π”ΠΠ›Π˜Π’Π¬ Π²Π΅Ρ‚ΠΊΡƒ

git branch –D имя_Π²Π΅Ρ‚ΠΊΠΈ

А Ρ‚ΠΎΡ‡Π½Π΅Π΅, ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ, Π½Π΅ доТидаясь пСрСмСщСния ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² master

Π‘ΡƒΡ„Π΅Ρ€ нСсохранСнных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ


Или Β«Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π½ΠΎ?Β»

Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ измСнСния Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Π±ΡƒΡ„Π΅Ρ€

git stash

Π˜Π·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π° эти измСнСния

git stash pop

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ссылки:

git-scm.com/book/ru/v2
githowto.com/ru
ru.wikipedia.org/wiki/БистСма_управлСния_вСрсиями

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


Π˜Ρ‚Π°ΠΊ, Ссли Ρ‚Ρ‹ добрался Π΄ΠΎ этой строчки, Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ‚Ρ‹ хотя Π±Ρ‹ Ρ‡ΡƒΡ‚ΡŒ-Ρ‡ΡƒΡ‚ΡŒ разобрался с git’ом (ΠΎΡ‡Π΅Π½ΡŒ Π½Π° это надСюсь). Но Ρ‡Ρ‚ΠΎ ΠΆΠ΅ насчСт ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ? Π”Π°Π²Π°ΠΉ рассмотрим этот вопрос ΠΏΠΎΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

НСбольшая ΡŽΠΌΠΎΡ€ΠΈΡΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Π·Π°Π΄Π°Ρ‡ΠΊΠ°:

Π”Π°Π½ΠΎ:

  • N Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²
  • Π Π°Π±ΠΎΡ‡ΠΈΠ΅ мСста
  • ВСхничСскоС Π·Π°Π΄Π°Π½ΠΈΠ΅ (Π’Π—)
  • Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚

Вопрос:
  • Как Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π΅ привлСкая Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ санитаров?

ΠžΡ‚Π²Π΅Ρ‚:
  • БлаТСнная ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈ ΡƒΠΏΠΎΡ€Π½Ρ‹ΠΉ Ρ‚Ρ€ΡƒΠ΄

Π₯ΠΌ, Π° Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠ΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°? Π§Ρ‚ΠΎ ΠΎΠ½Π° ΠΈΠ· сСбя прСдставляСт?

Команда – это нСбольшоС количСство людСй:

  • с Π²Π·Π°ΠΈΠΌΠΎΠ΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΌΠΈ умСниями (ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅Ρ‚, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ занимаСтся Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ ΠΈ Ρ‚.Π΄.)
  • стрСмящимся ΠΊ ΠΎΠ±Ρ‰ΠΈΠΌ цСлям (ΠΈΠΌ всСм Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠ΅ самоудовлСтворСниС)
  • Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π·Π° достиТСниС Ρ†Π΅Π»ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Ссли Π²Π΄Ρ€ΡƒΠ³ Ρƒ ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΠΈΠ· участников ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡΡ‚ΡŒ с Π΅Π³ΠΎ Π»ΠΈΡ‡Π½Ρ‹ΠΌ Π’Π—, Ρ‚ΠΎ Π΅Π³ΠΎ Π½Π°ΠΏΠ°Ρ€Π½ΠΈΠΊΠΈ всСгда ΠΏΡ€ΠΈΠ΄ΡƒΡ‚ Π΅ΠΌΡƒ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ (этим Π½Π΅ стоит Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ, ΠΈΠ½Π°Ρ‡Π΅ Π²Ρ‹ просто ΠΎΠΊΠ°ΠΆΠ΅Ρ‚Π΅ΡΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΌ для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹)).

ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎΠ΅ Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ сСбя Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½ΠΎ ΠΈ ΡΡ‚Π°Ρ€Π°Ρ‚ΡŒΡΡ Π»Π°Π΄ΠΈΡ‚ΡŒ со всСм ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΌ, ΠΈΠ½Π°Ρ‡Π΅ всС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΉΡ‚ΠΈ Π½Π΅ ΠΏΠΎ ΠΏΠ»Π°Π½Ρƒ.

Π’Π°ΠΊ-с, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‚Π΅Π±Π΅ понятно, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°. Но ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ вопрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π² Ρ‚Π²ΠΎΠ΅ΠΉ Π³ΠΎΠ»ΠΎΠ²Π΅ (Π΄Π°, Π΄Π°, Π°Π²Ρ‚ΠΎΡ€Ρ‹ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΡƒΠΌΠ΅ΡŽΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ мысли): «А ΠΊΡ‚ΠΎ Π·Π° Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅? Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Β«Π΅ΡΡ‚ΡŒ своС мСсто»? Или всС Π΄Π΅Π»Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ захотят?Β».

ЕстСствСнно, Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ участника Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π΅ΡΡ‚ΡŒ своя Ρ€ΠΎΠ»ΡŒ ΠΈ свои Π·Π°Π΄Π°Ρ‡ΠΈ. Π’Π΅Π΄ΡŒ ΠΈΠ½Π°Ρ‡Π΅ вмСсто Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π±Ρ‹Π» Π±Ρ‹ хаос. Π”Π°Π²Π°ΠΉ рассмотрим, ΠΊΠ°ΠΊΠΈΠ΅ Ρ€ΠΎΠ»ΠΈ Π΅ΡΡ‚ΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ:

  1. Team Leader:

    Team Leader β€” это Π½Π΅Ρ‡Ρ‚ΠΎ срСднСС ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π½Ρ‹ΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ ΠΈ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅Ρ€ΠΎΠΌ.

    На ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ lead Ρ€ΠΎΠ»ΠΈ: мСнСдТСрская β€” PM, ΠΈ тСхничСская β€” System Architect. Π’ΠΈΠΌΠ»ΠΈΠ΄ отчасти выполняСт ΠΎΠ±Π΅ Ρ€ΠΎΠ»ΠΈ, Π½ΠΎ Π°ΠΊΡ†Π΅Π½Ρ‚ Π΅Π³ΠΎ обязанностСй Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ Π½Π° ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ‚ (Π°ΠΊΡ†Π΅Π½Ρ‚ Π½Π° Ρ‚Π΅Ρ…Π½ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ β€” это tech lead).

    Β«ΠžΠ±ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ Ρ‚ΠΈΠΌΠ»ΠΈΠ΄Π° #1: Π·Π°Π±ΠΎΡ‚Π° ΠΎ своСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅. Команда Π΄ΠΎΠ»ΠΆΠ½Π° Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ сСбя ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½ΠΎ Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… условиях ΠΈ Π±Ρ‹Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΌΠΎΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‚ΠΈΠΌΠ»ΠΈΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ обСспСчиваСт ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Π½Ρ‹ΠΉ рост своих рСбят, рСгулярно ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ бСсСды Π½Π° Ρ‚Π΅ΠΌΡƒ, ΠΊΡƒΠ΄Π° людям интСрСсно Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ, ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠΌ Π² этом».

    Под ΡƒΠΏΡ€Π°Π²Π»Π΅Π½Ρ‡Π΅ΡΠΊΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Ρ‚ΠΈΠΌΠ»ΠΈΠ΄Π° ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ обязанности, ΠΊΠ°ΠΊ собствСнно ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ‚, распрСдСлСниС ΠΈ Π΄Π΅Π»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡, всСвозмоТныС ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΈ составлСниС Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ состояния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΈΡ‚ΠΈΠ½Π³ΠΈ, ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ с Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ, руководством ΠΈ всСми Ρ‡Π»Π΅Π½Π°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, тСстировщиками, ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°ΠΌΠΈ).

    Под Ρ‚Π΅Ρ…Π½ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ€ΠΎΠ»ΡŒ: участиС Π² написании тСхничСской Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, Π²Ρ‹Π±ΠΎΡ€ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹, R&D, code review, ΠΌΠ΅Π½Ρ‚ΠΎΡ€ΠΈΠ½Π³ Π΄ΠΆΡƒΠ½ΠΈΠΎΡ€ΠΎΠ², ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ тСхничСских собСсСдований, Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΠ΅ Π²ΠΎΠ²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Ρ‡Π»Π΅Π½ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс, ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π·Π° Ρ‚Π΅Ρ…Π½ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

    Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ дСнь Ρ‚ΠΈΠΌΠ»ΠΈΠ΄Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя:

    • рассмотрСниС Π½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΈ ΠΈΡ… распрСдСлСниС
    • стСндап с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
    • ΠΌΠΈΡ‚ΠΈΠ½Π³ΠΈ
    • ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
    • Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ вопросы
    • code review
  2. Project manager:

    Project Manager β€” это спСциалист, Ρ‡ΡŒΠ΅ΠΉ Π³Π»Π°Π²Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ являСтся ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Π² Ρ†Π΅Π»ΠΎΠΌ: ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ расстановка ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠ², ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ выполнСния Π·Π°Π΄Π°Ρ‡, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ, ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

    Основная ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ PM β€” довСсти идСю Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ° Π΄ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² установлСнный срок, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ рСсурсы. Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… этой Π·Π°Π΄Π°Ρ‡ΠΈ PM’у Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠ»Π°Π½ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ процСсс Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΈ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ, ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ…ΠΈ для ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ качСство ΠΈ поставку ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π² срок.

    Π—Π°Π΄Π°Ρ‡ΠΈ PM’а ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ тактичСскиС ΠΈ стратСгичСскиС. ВактичСскиС β€” это Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΄Π½Π΅Π²Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, устранСниС прСпятствий с ΠΏΡƒΡ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. БтратСгичСскиС Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΡƒΡŽ Ρ†Π΅Π»ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΏΡƒΡ‚ΡŒ ΠΊ Π½Π΅ΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ пСрСдвиТСния.

    «Главная постановка Π·Π°Π΄Π°Ρ‡ΠΈ для PM’а: β€žΠΠ°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎβ€œ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° прСдоставит Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹Π΅ сроки с Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ качСства».

  3. ВСстировщик:

    ВСстировщик β€” это спСциалист, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ занимаСтся тСстированиСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° с Ρ†Π΅Π»ΡŒΡŽ выявлСния ошибок Π² Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈ ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ исправлСния.

    Π“Π»Π°Π²Π½Ρ‹Π΅ долТностныС обязанности тСстировщика:

    • ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ качСства Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ².
    • ВыявлСниС ΠΈ Π°Π½Π°Π»ΠΈΠ· ошибок ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°ΠΌΠΈ.
    • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° автотСстов ΠΈ ΠΈΡ… рСгулярный ΠΏΡ€ΠΎΠ³ΠΎΠ½.
    • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° сцСнариСв тСстирования.
    • Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ… Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ².
  4. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ:
    • Junior:
      Junior – Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ уровня.

      ΠŸΡ€ΠΎΠΉΠ΄Ρ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π°Ρ‚ΡƒΡ€Ρƒ, Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ прСвращаСтся Π² ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΆΡƒΠ½Π°. ОсновноС Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΌΡƒ β€” ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ тСхничСскиС Π·Π°Π΄Π°Ρ‡ΠΈ. Если Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ выстроСна Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Π΅Π· Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ кусок Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ прилоТСния. Π₯отя Junior ΠΌΠΎΠΆΠ΅Ρ‚ врСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡˆΠΈΠ±Π°Ρ‚ΡŒΡΡ, Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ нюансов, ΠΎΠ±ΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ ΠΏΠ»Π°Π½Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΌΠ»ΠΈΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ вмСстС с Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄.

      НуТно ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΈΠ½ΡŒΠΎΡ€ Ρ€Π΅ΡˆΠΈΡ‚ Π·Π° Π΄Π΅ΡΡΡ‚ΡŒ ΠΌΠΈΠ½ΡƒΡ‚, Π΄ΠΆΡƒΠ½Ρƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚Ρ€ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΏΠΎ часу ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ, Π° Π² процСссС ΠΊΠΎΠ΄ придСтся ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, Π·Π°Ρ‚Ρ€Π°Ρ‚ΠΈΠ² массу Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ энСргии. Π’Π°ΠΆΠ½ΠΎ Π½Π΅ Π±ΠΎΡΡ‚ΡŒΡΡ этого ΠΈ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ баланс: ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ΄Π½Π°ΠΆΠ°Ρ‚ΡŒ, ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π² Ρ€Π΅ΡˆΠΈΡ‚ΡŒ-Ρ‚Π°ΠΊΠΈ Π·Π°Π΄Π°Ρ‡Ρƒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π° ΠΊΠΎΠ³Π΄Π°, Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Ρ‚ΡŒ Π±ΠΈΡ‚ΡŒΡΡ Π»Π±ΠΎΠΌ ΠΎ стСну, сТигая ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π½ΠΎΠ΅ врСмя, ΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π·Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ. ΠžΠΏΡ€Π°Π²Π΄Ρ‹Π²Π°Ρ‚ΡŒ свою Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„Ρ€Π°Π·ΠΎΠΉ «я ΠΆΠ΅ Π΅Ρ‰Π΅ Π΄ΠΆΡƒΠ½Β» β€” плохая идСя.

    • Middle:

      Middle – Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ срСднСго уровня.

      ОсновноС Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊ ΠΌΠΈΠ΄Π»-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ β€” ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ поставлСнныС ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌ Π·Π°Π΄Π°Ρ‡ΠΈ. ΠžΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ написано Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π΅, ΠΏΡ€Π°Π²Π΄Π°? Однако Π΅ΡΡ‚ΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΉ нюанс β€” здСсь отсутствуСт слово «тСхничСскиС». Π’ΠΎ Π΅ΡΡ‚ΡŒ Π½Π° Π½ΠΎΠ²ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ трСбования бизнСса ΠΈ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ… Π² тСхничСскиС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

      Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

      1. Мидл-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ позволяСт Π³Π»ΡƒΠ±ΠΆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ, Π°, Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‚ΠΎΡ‡Π½Π΅Π΅ Π΅Π΅ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΠΈ качСствСннСС Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Если трСбования Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ сцСнарий, Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ Π½Π° это Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° этапС планирования. А Π½Π΅ ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Ρ‡Π½Π΅Ρ‚ Π²Π°Π»ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ любом нСстандартном дСйствии ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
      2. Мидл-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π·Π½Π°ΠΊΠΎΠΌ со стандартными шаблонами ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΡ€ΠΈ построСнии прилоТСния Π² своСй области, ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚, Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ Π½ΡƒΠΆΠ½Ρ‹, ΠΈ ΡƒΠΌΠ΅Π΅Ρ‚ ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ. Бтандартизация Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ большоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠΎΠ΄Π°, Ρ‚. ΠΊ. позволяСт Π½ΠΎΠ²ΠΎΠΌΡƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ быстрСС Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΊ Ρ‡Π΅ΠΌΡƒ, ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ количСство ошибок. ПониманиС структуры Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠ³ΠΎ прилоТСния Π΄Π΅Π»Π°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Ρƒ Π΅Π³ΠΎ построСния с нуля достаточно Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ, позволяСт Ρ€Π°ΡΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ… ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄ ΠΎΡ‚ ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ.
      3. Мидл-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ ΠΎΠ΄ΠΈΠ½. Он ΡƒΠΌΠ΅Π΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ‡Π»Π΅Π½Π°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ слоТный ΠΌΠΎΠΌΠ΅Π½Ρ‚ с Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠΌ, ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ Ρƒ бизнСс-Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ° Π½Π΅ΠΏΠΎΠ»Π½Ρ‹Π΅ трСбования ΠΈΠ»ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ тСхничСскоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ с Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Ссли Ρ‚Π°ΠΊΠΎΠΉ Π΅ΡΡ‚ΡŒ) ΠΈ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²Π»Π°Π΄Π΅Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ инструмСнтами ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
    • Senior:

      Senior – Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ высокого уровня, повидавший ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, набивший ΠΊΡƒΡ‡Ρƒ шишСк ΠΈ ΡΡƒΠΌΠ΅Π²ΡˆΠΈΠΉ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ· этого ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹. Основная Π·Π°Π΄Π°Ρ‡Π° ΡΠΈΠ½ΡŒΠΎΡ€Π° β€” ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ тСхнологичСскиС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Β«ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅Β» β€” это Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ приносят ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ»ΡŒΠ·Ρƒ бизнСсу ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹. Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΡΠΈΠ½ΡŒΠΎΡ€ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π½ΠΎ Π΄ΡƒΠΌΠ°Π΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Разрабатывая ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΡƒ для Π°ΡƒΠΊΡ†ΠΈΠΎΠ½Π°, ΡΠΈΠ½ΡŒΠΎΡ€ всСгда задаСтся вопросом ΠΎ ΠΏΠΈΠΊΠΎΠ²ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΈ стараСтся ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΎΠΉ записи Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π‘Π”. Он Π·Π°Ρ€Π°Π½Π΅Π΅ Π΄ΡƒΠΌΠ°Π΅Ρ‚ ΠΎΠ± ΡƒΠ·ΠΊΠΈΡ… мСстах систСмы, ΠΎ возмоТности Π΅Π΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠΌΠ½ΠΈΡ‚ ΠΎΠ± уязвимостях ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ…, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Ρ… Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ использованиСм инструмСнтов.

      Π’Π°ΠΊΠΎΠΉ спСциалист Π΄Π΅Π»Π°Π΅Ρ‚ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‰ΡŒ β€” Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π΅Ρ‰Π΅ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ появились. Π‘ΠΎ стороны это Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Π΄Π°Ρ€ прСдвидСния. А Π²ΠΎΡ‚ Ссли ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΆΠΈΠ²Π΅Ρ‚ ΠΎΡ‚ ΠΏΠΎΠΆΠ°Ρ€Π° Π΄ΠΎ ΠΏΠΎΠΆΠ°Ρ€Π°, Π° Π²Π°ΠΌ постоянно приходится Π²Ρ‹ΠΊΠΈΠ΄Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ куски ΠΊΠΎΠ΄Π° β€” это симптомы, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ нСдостаточно ΡΠΈΠ½ΡŒΠΎΡ€Π½ΠΎΠ³ΠΎ внимания.

  5. Π”ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€:

    Π”ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ – Ρ‚ΠΎΡ‚ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ занимаСтся Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ. Π›ΠΎΠ³ΠΈΡ‡Π½ΠΎ, Π½Π΅ ΠΏΡ€Π°Π²Π΄Π° Π»ΠΈ?

    Π Π°Π±ΠΎΡ‚Π° Π΄ΠΈΠ·Π°ΠΈΜ†Π½Π΅Ρ€Π° начинаСтся Π·Π°Π΄ΠΎΠ»Π³ΠΎ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ появляСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΈΜ† пиксСль, ΠΈ заканчиваСтся Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ·ΠΆΠ΅ послСднСго.

    Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ людСй ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½ β€” это собствСнно Π½Π°Π±ΠΎΡ€ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ, Ρ†Π²Π΅Ρ‚ΠΎΠ² ΠΈ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π²Π΅Ρ€ΡΡ‚Π°Π»ΡŒΡ‰ΠΈΠΊΠ°ΠΌ ΠΈ программистам, Ρ‡Ρ‚ΠΎΠ±Ρ‹ получился ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚. Иногда Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ срабатываСт, Π½ΠΎ Ρ‡Π°Ρ‰Π΅ получаСтся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΌ стыдно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ.

    Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ нСдостаточно Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ. Π’ процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ 4 шага. Π’ΠΎΡ‚ ΠΎΠ½ΠΈ:

    • ПониманиС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:

      Π Π°Π±ΠΎΡ‚Π° начинаСтся с понимания ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠ°ΠΊ Ρ‚Π΅Π°Ρ‚Ρ€ с вСшалки: ΠΏΠΎΠΊΠ° Π½Π΅ сдашь Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ ΠΎΠ΄Π΅ΠΆΠ΄Ρƒ, дальшС Π½Π΅ ΠΏΡ€ΠΎΠΉΠ΄Π΅ΡˆΡŒ. Если Π½Π΅ Π²Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, получится нСТизнСспособный ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚.

    • Поиск Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

      Когда ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° понятна, ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ врСмя ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Π’ ΡƒΡΡ‚ΠΎΡΠ²ΡˆΠΈΡ…ΡΡ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… это всякиС наброски ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π²Ρ‹ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²ΠΈΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°.

    • ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅:

      Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ Π΅ΡΡ‚ΡŒ рисованиС ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ ΠΈ ΠΏΠΎΠ΄Π±ΠΎΡ€ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ². МногиС Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΠΎΡ‚ΡΡŽΠ΄Π° ΠΈ Ρ‚ΡƒΡ‚ ΠΆΠ΅ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π°ΠΊΠΈΡ… Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… количСствах ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π° Π”Ρ€ΠΈΠ±Π±Π»Π΅ ΠΈΠ»ΠΈ БСхэнсС.

    • БогласованиС:

      Π”Π°ΠΆΠ΅ Ссли Ρƒ вас Π² Π³ΠΎΠ»ΠΎΠ²Π΅ ΠΈ Π½Π° Π±ΡƒΠΌΠ°Π³Π΅ стройноС ΠΈ изящноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, это Π½Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ для ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅. Если ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ этот этап ΠΈ просто ΠΎΡ‚Π΄Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚ΠΎ Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°ΡŽΡ‚ ΠΏΠΎ своСму Ρ€Π°Π·ΡƒΠΌΠ΅Π½ΠΈΡŽ. Π’ΠΎ, Ρ‡Ρ‚ΠΎ Π² ΠΈΡ‚ΠΎΠ³Π΅ останСтся послС ΠΏΡ€Π°Π²ΠΎΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ°Π»ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Π²Π°ΡˆΡƒ Ρ€Π°Π±ΠΎΡ‚Ρƒ.


Ну Π²ΠΎΡ‚, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Ρ‚Ρ‹ Π·Π½Π°ΠΊΠΎΠΌ со всСми долТностями Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. Π—Π΄Π΅ΡΡŒ я пСрСчислил лишь Ρ‚Π΅ долТности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ связанны с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Если Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π² качСствС бизнСс-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ‚ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ Ρ‚Π°ΠΌ добавятся Π΅Ρ‰Π΅ Ρ€ΠΎΠ»ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€Ρ‹, ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΎΠ»ΠΎΠ³ΠΈ ΠΈ Ρ‚.Π΄.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅


Π§Ρ‚ΠΎΠΆ, Ссли Ρ‚Ρ‹ Π΄ΠΎΡ‡ΠΈΡ‚Π°Π» Π΄ΠΎ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° – ΠΏΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ, Ρ‚Ρ‹ Π½Π΅Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΠΊΡ€ΡƒΡ‚! НСт, Π½Ρƒ ΠΏΡ€Π°Π²Π΄Π°, Ρƒ тСбя ΠΌΠΎΠ·Π³ Π΅Ρ‰Π΅ Π½Π΅ вскипСл ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ количСства ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ? НадСюсь, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚.

Π˜Ρ‚Π°ΠΊ, надСюсь, наша ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Ρ‚Π΅Π±Π΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π²ΠΎ всСх тонкостях ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. И Ρƒ тСбя Π½Π΅ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΠΏΠΎ этой Ρ‚Π΅ΠΌΠ΅ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… вопросов. И ΠΊΠΎΠ³Π΄Π° Ρ‚Ρ‹ ΠΏΡ€ΠΈΠ΄Π΅ΡˆΡŒ Π² супСр-ΠΏΡƒΠΏΠ΅Ρ€-Π½Π΅Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ-ΠΊΡ€ΡƒΡ‚ΡƒΡŽ-ΠΈ-ΠΈΠ·Π²Π΅ΡΡ‚Π½ΡƒΡŽ компанию ΠΈ тСбя ΠΏΡ€ΠΈΠΌΡƒΡ‚ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ (ΠΏΡƒΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΡŽΡ‚ Π½Π΅ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ), Ρ‚ΠΎ Ρ‚Ρ‹ Π½Π΅ Ρ€Π°ΡΡ‚Π΅Ρ€ΡΠ΅ΡˆΡŒΡΡ ΠΈ покаТСшь своСму Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΈΠΊΡƒ, ΠΊΡ‚ΠΎ Ρ‚ΡƒΡ‚ Π³Π»Π°Π²Π½Ρ‹ΠΉ программист. А ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Ρ‹ ΠΈ свою компанию создашь, ΠΊΡ‚ΠΎ Π·Π½Π°Π΅Ρ‚ πŸ˜‰

Бпасибо за вниманиС!

P.S.


Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π° ΡƒΡ‡Π΅Π½ΠΈΠΊΠ°ΠΌΠΈ МШП (Московская школа программистов), ΠΏΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌ Π»Π΅ΠΊΡ†ΠΈΠΉ курса Β«ΠŸΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠ΅ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Β».

habr.com

Как Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ людСй ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Git / Habr

По Ρ€Π°Π±ΠΎΡ‚Π΅ приходится ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, поэтому я Ρ…ΠΎΡ€ΠΎΡˆΠΎ знаю, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ всС ΠΌΠΎΠΈ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ. Помню, Ρ‡Ρ‚ΠΎ компания Π½Π°Ρ‡Π°Π»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Git Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π·Π° ΠΏΠ°Ρ€Ρƒ нСдСль Π΄ΠΎ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡ€ΠΈΡ…ΠΎΠ΄Π°. На ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π°Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΊΡ€ΡƒΠ³ΠΎΠΌ висСли Π½Π°ΠΊΠ»Π΅ΠΉΠΊΠΈ с Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ΠΌ: сначала add, ΠΏΠΎΡ‚ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚, Π·Π°Ρ‚Π΅ΠΌ ΠΏΡƒΡˆ.
Они Π½Π΅ Π·Π½Π°Π»ΠΈ, Π·Π°Ρ‡Π΅ΠΌ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Π°ΠΌ просто сказали строго ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ инструкции, ΠΈΠ½Π°Ρ‡Π΅ Π±Π΅Π΄Π°. Но ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΈ Ρ‚Π°ΠΊ часто, Ρ‡Ρ‚ΠΎ я Ρ€Π΅ΡˆΠΈΠ»Π° провСсти сСминар ΠΏΠΎ Git.


МнС нравится ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚Ρƒ Π² Π³ΠΎΠ»ΠΎΠ²Π΅. Π― Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΡŽ Β«ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹Β», ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстный Ρ‚ΠΈΠΏ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ. Π Π΅Ρ‡ΡŒ ΠΎ Π½Π΅ΠΊΠΈΡ… ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°Ρ…, структурах ΠΈΠ»ΠΈ любом графичСском прСдставлСнии Π² ΡƒΠΌΠ΅. НапримСр, Π² дСтствС я ΡƒΡ‡ΠΈΠ»Π° Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΡƒ, прСдставляя ΠΈΠ³Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΡƒΠ±ΠΈΠΊΠΈ.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»Π° нСсколько рисунков. НС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡ… ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ тСкст. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ пояснСниС.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°ΠΌ. Π˜Π½Π°Ρ‡Π΅ ΠΎΠ½ Π½Π΅ ΠΏΠΎΠΉΠΌΡ‘Ρ‚ сообщСния ΠΎΡ‚ Git. Рисунки β€” Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ способ.


На рисункС Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ области распрСдСлСны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  • Π‘Ρ€Π΅Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ:
    • Π Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³
    • ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ (staging) ΠΈΠ»ΠΈ индСкс
    • Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
  • Π‘Π΅Ρ€Π²Π΅Ρ€:
    • Π£Π΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ прСимущСства распрСдСлённой систСмы управлСния вСрсиями.

ΠŸΡ€ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ рСпозитория ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² Π΄Π²Π΅ области:

  • Π Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³
  • Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ


Π’ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²:

  • ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅: Ρ„Π°ΠΉΠ»Ρ‹, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π½Π°Π΅Ρ‚ Git.
  • НСотслСТиваСмыС: ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Ρ‰Ρ‘ Π½Π΅ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹, поэтому Git Π½Π΅ Π·Π½Π°Π΅Ρ‚ ΠΎ Π½ΠΈΡ….


ПослС ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΈΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ (staging area).

Когда Ρ‚Π°ΠΌ накопился ряд ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ с ΠΎΠ±Ρ‰Π΅ΠΉ Ρ†Π΅Π»ΡŒΡŽ, самоС врСмя ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ с сообщСниСм ΠΎΠ± этой Ρ†Π΅Π»ΠΈ.

Если Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊ совмСстному использованию всСм ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΌΠΈΡ€ΠΎΠΌ, ΠΎΠ½ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

Π’ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… состояниях Ρ„Π°ΠΉΠ»Π° Π² срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ: ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½ΠΎΠΌ, ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΌ (staged) ΠΈ зафиксированном (commited).

Π”Π°Π»Π΅Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ:

  • ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ измСнСния Ρ„Π°ΠΉΠ»Π° Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅: git diff
  • ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ измСнСния Ρ„Π°ΠΉΠ»Π° Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ области: git diff --staged
  • ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ послС добавлСния Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ
  • ΠΈ Ρ‚.Β Π΄.


ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ (fetching)


ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ git fetch Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ рСпозитория ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

ВытягиваниС (pulling)


ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ git pull Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ рСпозитория ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² Π΄Π²Π΅ области:

  • Π’ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ: fetch
  • Π’ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³: merge

Если Π²Π°ΠΆΠ½Π° история ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования git pull --rebase. Π’ΠΎΠ³Π΄Π° вмСсто ΠΊΠΎΠΌΠ°Π½Π΄ fetch + merge Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ fetch + rebase. Π’Π°ΡˆΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ воспроизвСдСны, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π² истории ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈΠ·Π²Π΅ΡΡ‚Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ Π±Ρ€ΠΈΠ»Π»ΠΈΠ°Π½Ρ‚Π°.


ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Ρƒ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½Ρ‹Π΅ измСнСния: грязный Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.

Когда люди усвоят эти понятия, Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³Ρ‡Π΅ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ дальнСйшСС: Π²Π΅Ρ‚Π²ΠΈ, ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ ΡƒΠΆΠ΅ Π·Π°Π»ΠΎΠΆΠ΅Π½.


Π― Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ систСмами управлСния вСрсиями (Visual SourceSafe, TFS ΠΈ Subversion): ΠΏΠΎ ΠΌΠΎΠ΅ΠΌΡƒ скромному ΠΎΠΏΡ‹Ρ‚Ρƒ, нСдостаток Π·Π½Π°Π½ΠΈΠΉ Π²Ρ€Π΅Π΄ΠΈΡ‚ ΠΈ со старым инструмСнтом, ΠΈ с Π½ΠΎΠ²Ρ‹ΠΌ. Π‘ΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΡŒΡ‚Π΅ΡΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Π²Ρ‹Π±ΠΎΡ€Π΅ инструмСнта, Π½ΠΎ ΠΈ Π½Π° Π΅Π³ΠΎ освоСнии.


Мой Π΄Ρ€ΡƒΠ³ ΠœΠ°Ρ€ΠΊ Виллаграса Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠ», Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΊΠΈ Git ΠΈ Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ.

РСсурсы ΠΈΠ· ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π½Π° Hacker News:


ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π½Π° Reddit, я ΠΏΠΎΠ΄ΡƒΠΌΠ°Π»Π°, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΎ Π±Ρ‹ «ИдСя, ΠΊΠ°ΠΊ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ людСй ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GitΒ», ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ идСя, которая появилась Π² ΠΌΠΎΠ΅ΠΉ Π³ΠΎΠ»ΠΎΠ²Π΅, ΠΊΠΎΠ³Π΄Π° я сама нСсколько Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄ ΠΈΠ·ΡƒΡ‡Π°Π»Π° Git ΠΏΠΎ ΠΊΠ½ΠΈΠ³Π΅ Pro Git. Π‘Ρ‚Π°Ρ‚ΡŒΡ Π½Π΅ являСтся ΠΏΠΎΠ»Π½Ρ‹ΠΌ руководством, лишь отправная Ρ‚ΠΎΡ‡ΠΊΠ°. Π£Π²Π΅Ρ€Π΅Π½Π°, Ρ‡Ρ‚ΠΎ всС эти рСсурсы Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹. Бпасибо!

И спасибо Π‘Ρ‚ΡŽΠ°Ρ€Ρ‚Ρƒ ΠœΠ°ΠΊΡΠ²Π΅Π»Π»Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ подСлился ссылкой Π½Π° Hacker News, ΠΈ u/cryptoz, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запостил Π΅Ρ‘ Π½Π° Reddit!

habr.com

15 совСтов ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с Github / Mail.ru Group corporate blog / Habr


Π― 10 Π»Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽ ПО, участвовал Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… open source-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΈ Π² многочислСнных Π½Π΅-open source-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, Ρ€Π°Π±ΠΎΡ‚Π°Π» Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΈ ΠΌΠ°Π»Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ…, ΠΈ Π²Π΅Π·Π΄Π΅ ΠΌΡ‹ использовали Github Π² качСствС рСпозитория вСрсионирования.

Π—Π° это врСмя я ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» Ρ€Π°Π·Π½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы, ΠΈ Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ совСтами, ΠΊΠ°ΠΊ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ эффСктивный ΠΈ ΠΏΡ€Π°Π³ΠΌΠ°Ρ‚ΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс ΠΏΠΎ созданию ΠΈ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ качСствСнного ПО, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π² любом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ² качСствСнного ПО: Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ, ΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ, ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ, удобство Π² использовании, тСстировании ΠΈ сопровоТдСнии. И ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ², Π² зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° прилоТСния. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΡƒΡΡŒ Π½Π° Ρ‚Π°ΠΊΠΈΡ… свойствах:

  • Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ докумСнтация: readme, сайты с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ ΠΆΡƒΡ€Π½Π°Π»Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
  • ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расписанныС соглашСния ΠΈ стандарты ΠΊΠΎΠ΄ΠΈΠ½Π³Π°.
  • ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ вСрсионированиС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сСмантичСского вСрсионирования.
  • АвтоматизированныС тСсты: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΈΡ… Π½Π΅ слишком ΠΌΠ½ΠΎΠ³ΠΎ, сосрСдоточимся Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… нСрСгрСссионных тСстах.
  • ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, ΡΡ‡Π°ΡΡ‚ΡŒΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°!

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€Π°Π³ΠΌΠ°Ρ‚ΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ open source-инструмСнтов, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ.

Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² open source-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Ρ‚ΠΎ навСрняка Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ свой Github-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Git ΠΈ Github ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ способ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ OSS, Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ²ΡˆΠΈΡΡŒ, соотвСтствСнно, Π² стандартный язык вСрсионирования ΠΈ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΡƒ для сотрудничСства.

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹ΠΉ Github’ом Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс называСтся github flow. Он прСкрасно описан Π½Π° сайтС. Π­Ρ‚ΠΎΠ³ΠΎ процСсса, с нСбольшими вариациями, придСрТиваСтся Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ open source-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Github Flow ΠΎΡ‡Π΅Π½ΡŒ Π³ΠΈΠ±ΠΎΠΊ Π² Ρ‚ΠΎΠΌ смыслС, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ Π΄ΠΈΠΊΡ‚ΡƒΠ΅Ρ‚ Π²Π°ΠΌ, ΠΊΠ°ΠΊ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅Π»ΠΈΠ·ΠΈΡ‚ΡŒ ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния, ΠΊΠ°ΠΊΡƒΡŽ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ слияния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ pull request’Ρ‹, ΠΊΠ°ΠΊΠΈΠ΅ инструмСнты ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠΌ стандартам ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅Ρ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ принятиСм pull request’Π°. Всё это ΠΎΡ‚Π΄Π°Π½ΠΎ Π½Π° вашС усмотрСниС, ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ сдСлано, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ сущСствуСт ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, подходящих всСм ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ.

Π”Π°Π»ΡŒΡˆΠ΅ я ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ список Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ Π½Π° основС ΠΌΠΎΠ΅Π³ΠΎ ΠΎΠΏΡ‹Ρ‚Π°.

По большСй части (ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ) я ΠΏΠΈΡˆΡƒ Π½Π° JavaScript, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ упомянутыС ΠΌΠ½ΠΎΠΉ инструмСнты ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ JS-экосистСмы, Π½ΠΎ сами ΠΈΠ΄Π΅ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ Π² любом языкС.

ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Π·ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ отслСТивайтС прогрСсс с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ GithubΒ Projects


Π’ сСнтябрС 2016 появилась Ρ„ΠΈΡ‡Π° Projects. Π­Ρ‚ΠΎ инструмСнт, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ доски Π² стилС Kanban для упорядочивания, ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Π·Π°Ρ†ΠΈΠΈ ΠΈ отслСТивания Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ рСпозитория ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ. Если Ρƒ вас Π΅ΡΡ‚ΡŒ затруднСния с использованиСм Github, Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ Projects для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… усилиях.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π΅Π³ΠΎΠ²


Github ΠΈΠΌΠ΅Π΅Ρ‚ прСвосходныС возмоТности ΠΏΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ. Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π½Π°Π΄ open source-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, Ρ‚ΠΎ навСрняка заинтСрСсованы Π² ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… участников, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌ Π±Ρ‹Π»ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ. Если ΠΏΠΎΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ свои Π·Π°Π΄Π°Ρ‡ΠΈ Ρ‚Π΅Π³Π°ΠΌΠΈ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π»Π΅Π³Ρ‡Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² спискС, это сэкономит ΠΈΠΌ врСмя ΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Github-ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для pull request’ΠΎΠ² ΠΈ Π·Π°Π΄Π°Ρ‡


НС ΠΏΠΎΠΆΠ°Π»Π΅ΠΉΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° написаниС Guthub-шаблонов для pull request’ΠΎΠ² ΠΈ информирования ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ…. Π­Ρ‚ΠΎ заставит Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² β€” ΠΈΠ»ΠΈ хотя Π±Ρ‹ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌ β€” ΡΠ»Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‡Ρ‘Ρ‚Ρ‹ ΠΎ Π±Π°Π³Π°Ρ… ΠΈ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ созданиС Ρ„ΠΈΡ‡ Π½Π΅ΠΊΠΈΠΌ стандартным способом, прикладывая всю Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ Π²Π°ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ совСты ΠΏΠΎ ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π°ΠΌ ΠΎ Π±Π°Π³Π°Ρ…:

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅:

  • Π£Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ послСднСй вСрсиСй.
  • ΠŸΠΎΠΈΡ‰ΠΈΡ‚Π΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ ΠΎΠ± этом Π±Π°Π³Π΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΡ‚Ρ‡Ρ‘Ρ‚ ΠΎ Π½Ρ‘ΠΌ ΡƒΠΆΠ΅ Π±Ρ‹Π» Ρ€Π°Π½ΡŒΡˆΠ΅.

ΠžΡ‚Ρ‡Ρ‘Ρ‚Ρ‹ ΠΎ Π±Π°Π³Π°Ρ… Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ:
  • ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС.
  • Как Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с Π±Π°Π³ΠΎΠΌ? Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ ΠΏΠΎ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡŽ.
  • Какого повСдСния Π²Ρ‹ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ ΠΎΡ‚ прилоТСния?
  • Как ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ²Π΅Π»ΠΎ сСбя Π½Π° самом Π΄Π΅Π»Π΅?
  • Бсылки Π½Π° всС связанныС с ситуациСй Ρ‚ΠΈΠΊΠ΅Ρ‚Ρ‹ ΠΈΠ»ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ источники.
  • По ΠΌΠ΅Ρ€Π΅ возмоТности, ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΡ‚Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π±Π°Π³Π°. Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹, Π²ΠΈΠ΄Π΅ΠΎ ΠΈ/ΠΈΠ»ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Π³ΠΈΡ„Ρ‹.

ΠžΠ±Ρ‰ΠΈΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ pull request’Π°ΠΌ:
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎ вашСй ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ Π΅Ρ‰Ρ‘ Π½Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… pull request’ΠΎΠ².
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π² Π±Π°Π³-Ρ‚Ρ€Π΅ΠΊΠ΅Ρ€Π΅, Π½Π΅ Π±Ρ‹Π»ΠΎ Π»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, связанных с вашим Π±Π°Π³ΠΎΠΌ.
  • ΠΠ΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ измСнСния Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ.
  • Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚Π΅ Π½Π°ΠΌ, Π½Π°Π΄ ΠΊΠ°ΠΊΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅.
  • Π Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ тСматичСской Π²Π΅Ρ‚ΠΊΠ΅, Π° Π½Π΅ Π² мастСрС.
  • ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ описаниС ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ pull request’Π°.
  • Π‘ΠΎΠ±Π»ΡŽΠ΄Π°ΠΉΡ‚Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.
  • ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ описаниС своСго pull request’Π°.
  • Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ Π² описании ссылку Π½Π° Github-Π·Π°Π΄Π°Ρ‡Ρƒ.

ΠŸΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой


Консоль β€” ваш Π΄Ρ€ΡƒΠ³. По ΠΌΠΎΠ΅ΠΌΡƒ ΠΎΠΏΡ‹Ρ‚Ρƒ, освоСниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Github Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку β€” Π»ΡƒΡ‡ΡˆΠ°Ρ Ρ‚Ρ€Π°Ρ‚Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΡˆΡŒ с open source-тСхнологиями. Π”Π°, сущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… графичСских интСрфСйсов, Π½ΠΎ всС ΠΎΠ½ΠΈ ΠΌΠ΅Π½Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈ Π² использовании. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΅ΡΡ‚ΡŒ инструмСнты Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сильно ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ Тизнь ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‚ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ:
  • hub β€” ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠ° для Git, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰Π°Ρ Ρ€Π°Π±ΠΎΡ‚Ρƒ с GitHub. НС Π²Π°ΠΆΠ½ΠΎ, Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π²Ρ‹ ΠΈΠ»ΠΈ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ open source-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, hub ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π², Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ ΠΏΠΎ страницам ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ„ΠΎΡ€ΠΊΠ°ΠΌΠΈ ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ pull request’ΠΎΠ². И всё это ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. hub.github.com
  • tj/git-extras β€” Π½Π°Π±ΠΎΡ€ Git-ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ сводка ΠΏΠΎ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ, repl, ΠΆΡƒΡ€Π½Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, статистика ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΏΠΎ Π°Π²Ρ‚ΠΎΡ€Π°ΠΌ, ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. github.com/tj/git-extras

Π‘ΠΎΠ±Π»ΡŽΠ΄Π°ΠΉΡ‚Π΅ строгиС стандарты ΠΊΠΎΠΌΠΌΠΈΡ‚-сообщСний ΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹


ВсСгда опрСдСляйтС ΠΈ ΡΠΎΠ±Π»ΡŽΠ΄Π°ΠΉΡ‚Π΅ ясныС стандарты написания ΠΊΠΎΠΌΠΌΠΈΡ‚-сообщСний. Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ:
  • ΠšΠΎΠΌΠΌΠΈΡ‚ΡŒΡ‚Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ фикс ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅.
  • ΠŸΠΈΡˆΠΈΡ‚Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚-сообщСния.
  • ΠŸΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚-сообщСниС Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС (50–100 символов). Если посмотритС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния gitk ΠΈΠ»ΠΈ git log –oneline, Ρ‚ΠΎ ΠΏΠΎΠΉΠΌΡ‘Ρ‚Π΅, ΠΏΠΎΡ‡Π΅ΠΌΡƒ.
  • Π‘ΡΡ‹Π»Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° Git-Π·Π°Π΄Π°Ρ‡Ρƒ Π² Ρ‚Π΅Π»Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚-сообщСния.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ гСнСрирования ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ сообщСния ΠΏΠΎ катСгориям (scope). Π’ΠΎΠ³Π΄Π° ваши ΠΆΡƒΡ€Π½Π°Π»Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Π΅Π΅. ΠŸΡ€Π΅ΠΊΡ€Π°ΡΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: соглашСния ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°Ρ… ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² AngularJS.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠΉΡ‚Π΅ стандарты оформлСния ΠΊΠΎΠ΄Π° ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€Π΅ΠΊΠΎΠΌΠΌΠΈΡ‚-Ρ…ΡƒΠΊΠΈ


Для написания ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Π² сопровоТдСнии ΠΊΠΎΠ΄Π° ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ стандарты оформлСния ΠΈ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ ΠΈΡ… Π² ΠΏΡ€Π΅ΠΊΠΎΠΌΠΌΠΈΡ‚-Ρ…ΡƒΠΊΠ°Ρ… (pre-commits hooks). Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π²Π½Π΅ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ Π΅Π³ΠΎ ΠΏΠΈΡˆΠ΅Ρ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, написанный ΠΊΠ΅ΠΌ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ.

Π― Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Prettier ΠΈ StandardJS, Π½ΠΎ это Π΄Π΅Π»ΠΎ вкуса, сущСствуСт мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ; ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ своё. Π“Π»Π°Π²Π½ΠΎΠ΅, слСдуйтС Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ стандартам оформлСния ΠΊΠΎΠ΄Π°, это ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚ Π½Π° ΠΏΠΎΠ»ΡŒΠ·Ρƒ.

typicode/husky β€” прСкрасный инструмСнт для конфигурирования ΠΏΡ€Π΅ΠΊΠΎΠΌΠΌΠΈΡ‚-Ρ…ΡƒΠΊΠΎΠ².

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ тСсты ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ pull request’ΠΎΠ²


ΠžΡ‡Π΅Π½ΡŒ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ тСсты ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ бСзопасности ΠΈ стиля оформлСния ΠΊΠΎΠ΄Π° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ pull request’Π΅. Вряд Π»ΠΈ Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ всё это Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. МоТно быстро ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сСрвСр Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ, Π²Ρ€ΠΎΠ΄Π΅ TravisCI, Ρ‡Ρ‚ΠΎΠ±Ρ‹ автоматичСски ΠΏΡ€ΠΎΠ³ΠΎΠ½ΡΡ‚ΡŒ Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Ρ‡Π΅Ρ€Π΅Π· тСсты послС ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ pull request’Π°. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Github, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π½Π΅ позволял Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ pull request’Ρ‹, Ссли Ρ‚Π΅ Π½Π΅ ΠΏΡ€ΠΎΡˆΠ»ΠΈ тСсты. ΠŸΡ€ΠΈ сбоС тСстов Github ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π°Π²Ρ‚ΠΎΡ€Ρƒ сообщСниС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ исправил свои pull request’Ρ‹.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Π—Π°Ρ‰ΠΈΡ‰Π°ΠΉΡ‚Π΅ свою мастСр-Π²Π΅Ρ‚ΠΊΡƒ ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π΅Π²ΠΈΠ·ΠΈΡŽ ΠΊΠΎΠ΄Π°


Github позволяСт Π·Π°Ρ‰ΠΈΡ‰Π°Ρ‚ΡŒ мастСр-Π²Π΅Ρ‚ΠΊΡƒ ΠΎΡ‚ прямых ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… push’Сй ΠΈ пСрСбазирования. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΡˆΡŒ с ΠΊΠ΅ΠΌ-Ρ‚ΠΎ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π΅Π²ΠΈΠ·ΠΈΡŽ ΠΊΠΎΠ΄Π°, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ Π΅Π³ΠΎ с мастСр-Π²Π΅Ρ‚ΠΊΠΎΠΉ. Π­Ρ‚ΠΎ задаётся Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ настроСк ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ рСпозитория.

Π—Π°Ρ‰ΠΈΡ‚ΠΈΠ² мастСр-Π²Π΅Ρ‚ΠΊΡƒ ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ² ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ€Π΅Π²ΠΈΠ·ΠΈΡŽ, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ вряд Π»ΠΈ ΠΏΠΎΠΏΠ°Π΄Ρ‘Ρ‚ Π² мастСр ΠΈ Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΡ‚ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π½Π΅ подставит ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Git-ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ мастСр-Π²Π΅Ρ‚ΠΊΠΈ ΠΈΠ»ΠΈ Π·Π°ΠΏΡƒΡˆΠΈΠ² Π½Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Π‘ΠΊΠ²ΠΎΡˆΡŒΡ‚Π΅ свои pull request’Ρ‹


Много споров ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ: ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ, ΡΠΊΠ²ΠΎΡˆΠΈΡ‚ΡŒ (squash) ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΡΠΊΠ²ΠΎΡˆΠΈΡ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ:
  • НС всС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π·Π½Π°ΡŽΡ‚, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ pull request ΠΏΠΎΠ²Π΅Ρ€Ρ… мастСр-Π²Π΅Ρ‚ΠΊΠΈ. МногиС просто ΠΌΡ‘Ρ€ΠΆΠ°Ρ‚ мастСр ΠΏΠΎΠ²Π΅Ρ€Ρ… своих ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Бквошинг позволяСт ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ merge-сообщСний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ бСсполСзны для Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ формирования ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ просто Π·Π°ΡˆΡƒΠΌΠ»ΡΡŽΡ‚ Git-Π»ΠΎΠ³.
  • НС всС участники ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±ΡƒΠ΄ΡƒΡ‚ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ рСкомСндациям ΠΏΠΎ внСсСнию ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π° сквошинг позволяСт ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚-сообщСниями, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠΌΠΈ Π² мастСр-Π²Π΅Ρ‚ΠΊΡƒ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π²Ρ‹ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс Π½Π° основС сквошинга, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ всС pull request’Ρ‹ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ Ρ„ΠΈΡ‡Π°ΠΌ, исправлСниям Π±Π°Π³ΠΎΠ² ΠΈΠ»ΠΈ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹ΠΌ Π·Π°Π΄Π°Ρ‡Π°ΠΌ.

БСмантичСскоС вСрсионированиС, Github-Ρ‚Π΅Π³ΠΈ, Ρ€Π΅Π»ΠΈΠ·Ρ‹ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΆΡƒΡ€Π½Π°Π»Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ВСрсионированиС ΠΈΠ³Ρ€Π°Π΅Ρ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ, особСнно Π² open source-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ вашСго ПО. БСмантичСскоС вСрсионированиС всСм ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ Тизнь, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ люди, лишь посмотрСв Π½Π° Π½ΠΎΠΌΠ΅Ρ€ вСрсии, Π±ΡƒΠ΄ΡƒΡ‚ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π±Ρ‹Π»ΠΈ внСсСны критичСскиС измСнСния, ΠΈΠ»ΠΈ содСрТит Π»ΠΈ вСрсия Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΠΈΡ‡ΠΈ ΠΈΠ»ΠΈ исправлСния Π±Π°Π³ΠΎΠ².

Учитывая шаблон MAJOR.MINOR.PATCH, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΠΉΡ‚Π΅:

  • Π‘Ρ‚Π°Ρ€ΡˆΡƒΡŽ (MAJOR) Π²Π΅Ρ€ΡΠΈΡŽ, Ссли вноситС нСсовмСстимыС с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌΠΈ вСрсиями измСнСния Π² API.
  • ΠœΠ»Π°Π΄ΡˆΡƒΡŽ (MINOR) Π²Π΅Ρ€ΡΠΈΡŽ, Ссли добавляСтС ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.
  • ΠŸΠ°Ρ‚Ρ‡-Π²Π΅Ρ€ΡΠΈΡŽ (PATCH), Ссли вноситС ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ совмСстимыС исправлСния ошибок.

Π’ качСствС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ шаблона MAJOR.MINOR.PATCH ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ для ΠΏΡ€Π΅Ρ€Π΅Π»ΠΈΠ·ΠΎΠ² ΠΈ сборок.

Помимо измСнСния вСрсии package.json, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ вСрсии Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ git-Ρ‚Π΅Π³.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

БпСцификация Conventional Commits ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ написании ΠΊΠΎΠΌΠΌΠΈΡ‚-сообщСний соблюдСниС простого стандартизированного соглашСния. Оно увязано с соглашСниСм SemVer, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ просит Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠΌΠΌΠΈΡ‚-сообщСниях всС Ρ„ΠΈΡ‡ΠΈ, исправлСния ΠΈ критичСскиС измСнСния. Боблюдая соглашСниС, ΠΌΡ‹ создаём стандартный язык, ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‰ΠΈΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ….

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

ΠΠ²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот процСсс ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ TravisCI.

Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° эти ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹: dominique-mueller/automatic-release, semantic-release/semantic-release.

АвтоматизируйтС Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π΅Π³-Ρ…ΡƒΠΊΠΎΠ²


НС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΠΈ Ρ€Π΅Π»ΠΈΠ·ΠΎΠ², ΠΊΠ°ΠΊ это прСдлагаСтся Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Git Flow. МоТно Π±Ρ€Π°Ρ‚ΡŒ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹ развёртывания ΠΈΠ· Git-Ρ‚Π΅Π³ΠΎΠ². Π—Π΄Π΅ΡΡŒ описано, ΠΊΠ°ΠΊ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ TravisCI Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Git-Ρ‚Π΅Π³ΠΈ Π² heroku. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ просто, Π½ΡƒΠΆΠ½ΠΎ лишь для Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Ρ‚Π΅Π³ΠΎΠ² Π·Π°Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true. Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ CI-сСрвСра.

Для срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ…ΡƒΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π΅Ρ‚ послСдний мастСр-ΠΊΠΎΠΌΠΌΠΈΡ‚. А для срСд ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ΠΎΠ² (feature environments) ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π½Π΅ Ρ‚Π°ΠΊΠΈΠ΅ Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ; ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ, для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ PR-запроса Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ срСду, Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ слоТнСС, Π΄Π° ΠΈ Π½Π΅ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ.

НастройтС ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹ΠΉ Github-ΠΊΠ°Π½Π°Π» для Ρ‡Π°Ρ‚Π°


ΠžΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ отслСТивания активности Π² Π²Π°ΡˆΠΈΡ… Github-рСпозиториях ΠΈΠ· мСста, идСально подходящСго для взаимодСйствия с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ: простой ΠΏΠΎΡ‚ΠΎΠΊ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‡Π°Ρ‚Π°Ρ…. К слову, Π² Ρ‡Π°Ρ‚Π°Ρ… Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅, Π² 2013-ΠΌ Π½Π° Github появился Ρ‚Π΅Ρ€ΠΌΠΈΠ½ ChatOps, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Π½Ρ‘ΠΌ рассказываСтся здСсь.

АвтоматизируйтС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ зависимостСй


Нам приходится рСгулярно Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ зависимостСй. Π­Ρ‚ΠΎ идСальная Π·Π°Π΄Π°Ρ‡Π° для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. БущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ инструмСнтов, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ зависимости «свСТими», автоматичСски создавая Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ pull request’Ρ‹ с послСдними вСрсиями. Π­Ρ‚ΠΈ запросы Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠ³Π½Π°Π½Ρ‹ Ρ‡Π΅Ρ€Π΅Π· Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ нСрСгрСссионныС тСсты, ΠΈ Ссли ΠΏΡ€ΠΎΠΉΠ΄ΡƒΡ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π΄Π΅ΡΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ послС объСдинСния Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ. Π‘ΡƒΠ΄ΡŒΡ‚Π΅ остороТны с измСнСниями уровня ΡΡ‚Π°Ρ€ΡˆΠΈΡ… вСрсий, Π΄Π²Π°ΠΆΠ΄Ρ‹ всё провСряйтС.

ΠŸΠ°Ρ€Π° ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… инструмСнтов: greenkeeper.io ΠΈ david-dm.org.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΠΉΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ с интСрфСйсом Github’а


Open source-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ создали ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ, ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρƒ с интСрфСйсом Github’а. НапримСр:
  • GitHub Avatars [chrome]β€Šβ€”β€ŠΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π°Π²Π°Ρ‚Π°Ρ€Ρ‹ Π² новостной Π»Π΅Π½Ρ‚Π΅.
  • GitHub Awesome Autocomplete [chrome] [firefox]β€Šβ€”β€ŠΠ΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ поиска Π² поисковый Π±Π»ΠΎΠΊ GitHub.
  • GitHub Categoric [chrome]β€Šβ€”β€ŠΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ваши ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Π΅ GitHub-увСдомлСния.
  • GitHub Hovercard [chrome] [firefox]β€Šβ€”β€ŠΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ GitHub-ΠΏΠ»Π°Π³ΠΈΠ½ hovercard для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ/рСпозитория/Π·Π°Π΄Π°Ρ‡.
  • GitHub Isometric Contributions [chrome] [safari]β€Šβ€”β€ŠΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π²ΠΊΠ»Π°Π΄ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π°Π·Π½Ρ‹Ρ… людСй Π² Π²ΠΈΠ΄Π΅ изомСтричСского pixel art-Π³Ρ€Π°Ρ„ΠΈΠΊΠ°.
  • GitHub Linker [chrome]β€Šβ€”β€ŠΠ»ΠΈΠ½ΠΊΡƒΠ΅Ρ‚ зависимости Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ ΠΈΠ»ΠΈ bower-Ρ„Π°ΠΉΠ»Π΅ с ΠΈΡ… GitHub-страницами.
  • GitHub Octotree [chrome] [safari] [firefox] [opera]β€Šβ€”β€ŠΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ GitHub-ΠΊΠΎΠ΄ Π² Π²ΠΈΠ΄Π΅ Π΄Π΅Ρ€Π΅Π²Π°.
  • GitHub Selfies [chrome]β€Šβ€”β€ŠΠ΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ‚ сСлфи Π² pull request’Ρ‹ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ.
  • GitHub Stars Tagger [chrome]β€Šβ€”β€ŠΠΏΡ€ΡΠΌΠΎ Π² GitHub добавляСт Ρ‚Π΅Π³ΠΈ Π² ваши ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ Π·Π²Ρ‘Π·Π΄Π°ΠΌΠΈ (starred) Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.
  • Github NPM Hub [chrome]β€Šβ€”β€ŠΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ npm-зависимости Π² GitHub-рСпозиториях.
  • Github vscode-icons [chrome] β€” ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ vscode-ΠΈΠΊΠΎΠ½ΠΊΠΈ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ рСпозитория.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ: GitHub Browser Extensions.

На Kikobeats/awesome-Github Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ инструмСнты для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ вашСго Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ процСсса.

ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½Π°Ρ ΡƒΡ‡Ρ‘Π±Π° ΠΈ ΡΠ°ΠΌΠΎΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅


Github ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ open source ПО постоянно Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ΡΡ, поэтому Π΄Π΅Ρ€ΠΆΠΈΡ‚Π΅ Ρ€ΡƒΠΊΡƒ Π½Π° ΠΏΡƒΠ»ΡŒΡΠ΅ Π½ΠΎΠ²Π΅ΠΉΡˆΠΈΡ… Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΠΉ ΠΈ инструмСнтов, отслСТивая Github-новости ΠΈ соблюдая стандарты вашСго сообщСства. ΠŸΡ€Π΅ΠΊΡ€Π°ΡΠ½Ρ‹ΠΉ источник ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ β€” Youtube-ΠΊΠ°Π½Π°Π» GitHub Training & Guides.

habr.com