Pull request git Ρ‡Ρ‚ΠΎ

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ pull request

Pull Request β€” запрос Π½Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. На Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ написанного Π²Π°ΠΌΠΈ ΠΊΠΎΠ΄Π° Π² Ρ‡ΡƒΠΆΠΎΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

Π‘ Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ?

А для Π½Π°Ρ‡Π°Π»Π° этот самый Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½ΡƒΠΆΠ½ΠΎ Ρ„ΠΎΡ€ΠΊΠ½ΡƒΡ‚ΡŒ (fork β€” Π²ΠΈΠ»ΠΊΠ°, ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅). Π Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ это Π½Π΅Ρ…ΠΈΡ‚Ρ€ΠΎΠ΅ дСйство Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Π΅Π±-сСрвиса для хостинга IT-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ GitHub. РазумССтся, ΠΊΡ€ΠΎΠΌΠ΅ GitHub Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅: BitBucket, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π’Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΠΎ вкусу.

Для ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ провСдСния Π½ΠΈΠΆΠ΅ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρƒ вас (Ρ‡Ρ‚ΠΎ СстСствСнно) Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн git

Pull request git Ρ‡Ρ‚ΠΎ. fork. Pull request git Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ‚ΠΎ. Pull request git Ρ‡Ρ‚ΠΎ-fork. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Pull request git Ρ‡Ρ‚ΠΎ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° fork

Π’ консоли Π² зависимости ΠΎΡ‚ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π°Π±ΠΈΡ€Π°Π΅ΠΌ Π½Π΅Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅:

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ. Π£ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½ΠΎΡΠΈΡ‚ΡŒ свои измСнСния Π² ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π’ΠΎΡ‚ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π»Π΅ΠΆΠΈΡ‚ Π½Π° вашСм Тёстком дискС, нСзависим ΠΎΡ‚ основного. Π’ Π½Ρ‘ΠΌ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ваши Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Но ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° измСнСниями, происходящими Π² пСрвоисточникС, ΠΎΡ‚ΠΊΡƒΠ΄Π° Π²Ρ‹ Β« стянули Β» Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ? Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² отслСТиваСмыС. НапримСр, Ρ‚Π°ΠΊ:

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим ΠΊΠ°ΠΊ ΡΠ»ΠΈΠ²Π°Ρ‚ΡŒ измСнСния ΠΈΠ· ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория ΠΊ сСбС Π² случаС, Ссли Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π² Π½Ρ‘ΠΌ ΡƒΡˆΠ»Π° Π²ΠΏΠ΅Ρ€Ρ‘Π΄ ΠΏΠΎΠΊΠ° Π²Ρ‹ сосрСдоточСнно писали ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹:

Если Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΎΠ³Ρ€ΠΎΠΌΠ΅Π½, Π° Π·Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ Π΅Π³ΠΎ вСсь Π½Π΅ хочСтся, ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π²Π΅Ρ‚ΠΊΠΈ?

Π§Π°Ρ‰Π΅ всСго Π²Π΅Ρ‚ΠΊΠΈ (branch β€” ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅, Π²Π΅Ρ‚Π²ΡŒ, Ρ„ΠΈΠ»ΠΈΠ°Π») Π±Ρ‹Π²Π°ΡŽΡ‚ тСматичСскими. НапримСр, ΠΏΡ€ΠΈ ΠΎΠ±Ρ‰Π΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, ΠΊΠΎΠ³Π΄Π° Ρƒ всСх участников Π΅ΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΎ записи Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π’ этом случаС Π²Π΅Ρ‚ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для отдСлСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, сдСланных ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΎΡ‚ ΠΎΠ±Ρ‰Π΅Π³ΠΎ рСпозитория. Π’Π΅Ρ‚ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΈ Π² случаС с созданиСм pull-request’Π°.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ происходит довольно просто. ΠΠ°Ρ…ΠΎΠ΄ΡΡΡŒ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, Π½Π°Π±Π΅Ρ€ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

НовыС Π²Π΅Ρ‚ΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· master, Π±Π΅Ρ€ΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ!

ΠΠ°Ρ…ΠΎΠ΄ΡΡΡŒ Π² Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ созданной Π²Π΅Ρ‚ΠΊΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅. ВноситС Π² ΠΊΠΎΠ΄ свои измСнСния, Π° ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚Π΅ просто ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΊ своСй основной Π²Π΅Ρ‚ΠΊΠ΅. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ pull request, Π²Ρ‹Π±Ρ€Π°Π² Π²Π΅Ρ‚ΠΊΡƒ new_branch ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΏΡ€Π΅ΠΆΠ΄Π΅ ΡΠ»ΠΈΡ‚ΡŒ измСнСния ΠΈΠ· Π½Π΅Ρ‘ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Рассмотрим это ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅:

Если Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π² свой ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ вновь ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ (Π½Π΅ ΡΠ»ΠΈΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ с master), Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

НС Ρ‚ΠΎΡ€ΠΎΠΏΠΈΡ‚Π΅ΡΡŒ ΡΠ»ΠΈΠ²Π°Ρ‚ΡŒ измСнСния. Если Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ заладилось, ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ:

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ всС Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ смСрТСны (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅ΡΡ‚ΡŒ) Π² Π²Π΅Ρ‚ΠΊΠ°Ρ… develop ΠΈΠ»ΠΈ master:

ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌ измСнСния

Π”ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ Ρ‚Π°ΠΊΠΈ Π΄ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° поставлСнный вопрос: Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ pull request, Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ. Как ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Ρƒ рСпозитория свои измСнСния?

Для этого Π·Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² свой Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚, Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° ΠΈ ΠΈΡ‰ΠΈΡ‚Π΅ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π·Π΅Π»Ρ‘Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ (Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания поста ΠΎΠ½Π° Π±Ρ‹Π»Π° Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ, Ссли Π΄Π°ΠΆΠ΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ измСнится, Π΄ΡƒΠΌΠ°ΡŽ, Π½Π°ΠΉΡ‚ΠΈ Π΅Ρ‘ Π±ΡƒΠ΄Π΅Ρ‚ нСслоТно).

Pull request git Ρ‡Ρ‚ΠΎ. change and comment. Pull request git Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ‚ΠΎ. Pull request git Ρ‡Ρ‚ΠΎ-change and comment. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Pull request git Ρ‡Ρ‚ΠΎ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° change and comment

А дальшС. ΠΆΠ΄Π°Ρ‚ΡŒ. Пока ΠΏΡ€ΠΈΠ΄Ρ‘Ρ‚ Π²Π»Π°Π΄Π΅Π»Π΅Ρ† ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ‚/ΠΎΡ‚ΠΊΠ»ΠΎΠ½ΠΈΡ‚ ваши измСнСния.

Ну Π²ΠΎΡ‚, ΠΌΡ‹ Π΅Π³ΠΎ достигли. ΠŸΡ€ΠΎΡΠ²Π΅Ρ‚Π»Π΅Π½ΠΈΡ Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ πŸ™‚

Как ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ измСнСния

Когда Π½ΡƒΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ староС состояниС ΡƒΠΆΠ΅ проиндСксированных Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π·Π°Π±Ρ‹Ρ‚ΡŒ ΠΎ Π½ΠΈΡ… совсСм (ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ упомянутая здСсь опСрация ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ всю Π²Π°ΡˆΡƒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°!):

CΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ откатываСмся Π½Π°Π·Π°Π΄ Π½Π° 1 ΠΊΠΎΠΌΠΌΠΈΡ‚. Для измСнСния состояния Π² этой ΠΆΠ΅ Π²Π΅Ρ‚ΠΊΠ΅ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ рСпозитория Ρ‚ΠΎΠΆΠ΅ придётся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠ±ΡƒΡŽ силу β€” Ρ„Π»Π°Π³ force :

Или ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ происходили с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ:

А ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅?

Π˜Ρ‚ΠΎΠ³ΠΎΠ² ΠΏΠΎΠ΄Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π΅ стану. Для заинтСрСсованных Π»ΠΈΡ† ссылочка Π½Π° Π½Π΅ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ: The Git Community Book

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ занятиС «ΠŸΡ€ΠΎΡ†Π΅ΡΡ Pull request Π½Π° GitHub»

На ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ занятии Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ GitHub для дСсктопа, ΠΌΡ‹ использовали Github Desktop для управлСния Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ процСссом ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², вСтвлСния ΠΈ слияния. На этом занятии ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ дСйствия, Π½ΠΎ с использованиСм Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½ΠΎΠ³ΠΎ интСрфСйса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт Github, вмСсто использования Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΈΠ»ΠΈ Github Desktop.

ПониманиС процСсса Pull request являСтся Π²Π°ΠΆΠ½Ρ‹ΠΌ для Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΎΠΏΠ΅Π½-сорс ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ с нСсколькими участниками. ИспользованиС интСрфСйса GitHub Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Ссли Ρ€Π΅Ρ†Π΅Π½Π·Π΅Π½Ρ‚Ρ‹ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ ΠΈΠ»ΠΈ Github Desktop.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Π½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½Π° Π²Π΅Ρ‚ΠΊΠ° с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«MasterΒ». ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ внСсСнии ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ просмотра / Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, создаСтся новая Π²Π΅Ρ‚ΠΊΠ° ΠΈ вносятся всС измСнСния Π² Π²Π΅Ρ‚ΠΊΡƒ. Π—Π°Ρ‚Π΅ΠΌ, ΠΏΠΎ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ, Π²Π»Π°Π΄Π΅Π»Π΅Ρ† Ρ€Π΅ΠΏΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ измСнСния ΠΈΠ· Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π² Β«MasterΒ» Ρ‡Π΅Ρ€Π΅Π· Β«pull requestΒ».

Для создания ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅:

ΠŸΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ, содСрТимоС ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠΉ (ΠΈΠ»ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ, которая сСйчас просматриваСтся) копируСтся Π² Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Β«Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΒ» с ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ.

Π Π΅Ρ†Π΅Π½Π·Π΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡Π°Ρ‚ просмотр всСй Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. ВсС измСнСния Π΄Π΅Π»Π°ΡŽΡ‚ΡΡ Π² этой Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅, Π° Π½Π΅ Π² мастСрС.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Pull request

Для создания Pull request:

Когда ΠΌΡ‹ сравниваСм Π²Π΅Ρ‚ΠΊΡƒ с мастСром, ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ список всСх ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ измСнСния Π² Π΄Π²ΡƒΡ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… просмотра: Unified ΠΈΠ»ΠΈ Split (это Π²ΠΊΠ»Π°Π΄ΠΊΠΈ, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ справа ΠΎΡ‚ содСрТимого). Unified ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΊΠΈ вмСстС Π² ΠΎΠ΄Π½ΠΎΠΉ области содСрТимого, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ split ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄Π²Π° Ρ„Π°ΠΉΠ»Π° рядом.

Π’Π»Π°Π΄Π΅Π»Π΅Ρ† рСпозитория ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ pull request ΠΈ смоТСт ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΠΌΠ΅Ρ€Ρ‹ для Π΅Π³ΠΎ объСдинСния.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ Pull request

Π’Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим Π½Π° процСсс со стороны Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π½ΠΎΠ²Ρ‹ΠΉ Pull request. Π’Π»Π°Π΄Π΅Π»ΡŒΡ†Ρƒ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Pull request ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ sme-review с β€œMaster”.

Π’Π°ΠΊΠΆΠ΅ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ссли запрос Π½Π° ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ выполняСтся для Π±ΠΎΠ»Π΅Π΅ старой вСрсии мастСра, Π³Π΄Π΅ исходноС содСрТимоС мастСра большС Π½Π΅ сущСствуСт ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ мСсто, процСсс слияния Π±ΡƒΠ΄Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€ΡƒΠ΄Π½Ρ‹ΠΌ для выполнСния.

Π’Π΅Ρ‚ΠΊΠ° sme-review ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ΡΡ с мастСром. Π’Π΅ΠΏΠ΅Ρ€ΡŒ β€œMaster” ΠΈ Π²Π΅Ρ‚ΠΊΠ° sme-review ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ (Π²Π΅Ρ‚ΠΊΠΈ β€œΡΠΌΠ΅Ρ€ΠΆΠ΅Π½Ρ‹β€).

Если ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° список Π²Π΅Ρ‚ΠΎΠΊ, Ρ‚ΠΎ послС удалСния Π²Π΅Ρ‚ΠΊΠ° sme-review большС Π½Π΅ отобраТаСтся.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ участников Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

Иногда Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ соавторов Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Github, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² Π²Π΅Ρ‚ΠΊΡƒ. Если Π΄Ρ€ΡƒΠ³ΠΈΠ΅ участники ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½Π΅ являясь соавторами, захотят внСсти измСнСния, ΠΎΠ½ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ сообщСниС ΠΎΠ± ошибкС. (Inviting collaborators to a personal repository)

Π§Π΅Π»ΠΎΠ²Π΅ΠΊ Π±Π΅Π· ΠΏΡ€Π°Π² Π½Π° запись, ΠΌΠΎΠΆΠ΅Ρ‚ β€œΡ„ΠΎΡ€ΠΊΠ½ΡƒΡ‚ΡŒβ€ (ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ) Ρ€Π΅ΠΏΠΎ, Π° Π½Π΅ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² Π²Π΅Ρ‚ΠΊΡƒ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Однако ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ вСсь Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π° Π½Π΅ создаСт Π²Π΅Ρ‚ΠΊΡƒ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. Π€ΠΎΡ€ΠΊ (копия) Π±ΡƒΠ΄Π΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ GitHub. МоТно ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΊΠ½ΡƒΡ‚Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (это типичная модСль для ΠΎΠΏΠ΅Π½-сорс ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² со ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ внСшними участниками), Π½ΠΎ этот сцСнарий, вСроятно, ΠΌΠ΅Π½Π΅Π΅ распространСн для тСхничСских писатСлСй, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ Π² Ρ‚Π΅Ρ… ΠΆΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ….

Для добавлСния соавторов Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Pull request git Ρ‡Ρ‚ΠΎ

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ pull request

РСгистрация Π½Π° GitHub

Если Ρƒ вас Π½Π΅Ρ‚ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° Π½Π° Github – рСгистрируСмся ΠΏΠΎ ссылкС http://github.com/join

Если Π΅ΡΡ‚ΡŒ – просто Π²Ρ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ ссылкС http://github.com/login

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ pull request прямо Π½Π° GitHub

Π¨Π°Π³ 1. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² основной Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ https://github.com/urfu-2015/verstka-tasks-1
И Π΄Π΅Π»Π°Π΅ΠΌ Ρ„ΠΎΡ€ΠΊ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΊ сСбС. Для этого ΠΆΠΌΡ‘ΠΌ Β«forkΒ» Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ.

Π€ΠΎΡ€ΠΊ (fork) ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π»ΠΈΡ‡Π½ΡƒΡŽ копию основного рСпозитория.

Π¨Π°Π³ 2. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ сСбС https://github.com/gogoleff/verstka-tasks-1. ВмСсто gogoleff свой Π»ΠΎΠ³ΠΈΠ½.

Π¨Π°Π³ 3. НаТимаСм Π½Π° Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. Π—Π°Ρ‚Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ рСдактирования.

Π¨Π°Π³ 4. Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ» Π΄ΠΎ готовности прямо здСсь (ΠΈΠ»ΠΈ вставляСм ΠΊΠΎΠ΄ ΠΈΠ· любимого Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°)

Π¨Π°Π³ 5. Когда всё Π³ΠΎΡ‚ΠΎΠ² создадим ΠΊΠΎΠΌΠΌΠΈΡ‚.
Для этого Π²Π½ΠΈΠ·Ρƒ Π² ΠΏΠΎΠ»Π΅ Β«summaryΒ» Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΡΡΠ½ΡΡŽΡ‰ΠΈΠΉ тСкст, ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Β«Commit changesΒ».

ΠšΠΎΠΌΠΌΠΈΡ‚ (commit) – ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, созданиС вСрсии (ΠΊΠ°ΠΊ Π² wiki). К ΠΊΠ°ΠΆΠ΄ΠΎΠΉ вСрсии ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ – новая вСрсия вашСго ΠΊΠΎΠ΄Π°.

Π¨Π°Π³ 6. Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ pull request. Для этого Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ мСню справа Β«Pull requestsΒ».
И Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«New pull requestΒ».

Π¨Π°Π³ 7. НаТимаСм ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Create pull requestΒ»

Π¨Π°Π³ 8. Π’Π²ΠΎΠ΄ΠΈΠΌ своё ЀИО ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Create pull requestΒ»

Π“ΠΎΡ‚ΠΎΠ²ΠΎ!

Если Π½ΡƒΠΆΠ½Ρ‹ ΠΏΡ€Π°Π²ΠΊΠΈ, просто повторяСм шаги со 2 ΠΏΠΎ 5.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ pull request Π² windows

Π¨Π°Π³ 1. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² основной Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ https://github.com/urfu-2015/verstka-tasks-1
И Π΄Π΅Π»Π°Π΅ΠΌ Ρ„ΠΎΡ€ΠΊ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΊ сСбС. Для этого ΠΆΠΌΡ‘ΠΌ Β«forkΒ» Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ.

Π€ΠΎΡ€ΠΊ (fork) ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π»ΠΈΡ‡Π½ΡƒΡŽ копию основного рСпозитория.

Π¨Π°Π³ 2. Π—Π°Ρ‚Π΅ΠΌ скачиваниС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ссылкС https://desktop.github.com/

Π¨Π°Π³ 3. УстанавливаСм. ПослС установки ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ попросит Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ. Π’Π²ΠΎΠ΄ΠΈΠΌ Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ.

Π¨Π°Π³ 4. Π—Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΠ΅ имя ΠΈ ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΡƒΡŽ ΠΏΠΎΡ‡Ρ‚Ρƒ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠΆΠ΅ Π²Π΅Ρ€Π½ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹).

Π¨Π°Π³ 5. ПослС настройки Π²Ρ‹ ΠΏΠΎΠΏΠ°Π΄Ρ‘Ρ‚Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с Π·Π°Π΄Π°Ρ‡Π΅ΠΉ.
Для этого Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Β«+Β» Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ свой Π»ΠΎΠ³ΠΈΠ½ слСва, ΠΈ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ verstka-tasks-1 справа.

Клон (clone) ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ копию Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ рСпозитория.

Π¨Π°Π³ 6. Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠΆΠ΅ подходящая).

Π¨Π°Π³ 7. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ (Ρ‚Π°ΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ index.html ΠΈ README.md).

Π¨Π°Π³ 9. РСшаСм Π·Π°Π΄Π°Ρ‡Ρƒ, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ»Ρ‹ Π² любимом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ Π΄ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ готовности. Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π²ΠΈΠ΄ΠΈΠΌ измСнСния.

Π¨Π°Π³ 10. Когда всё Π³ΠΎΡ‚ΠΎΠ² создадим ΠΊΠΎΠΌΠΌΠΈΡ‚.
Для этого Π²Π½ΠΈΠ·Ρƒ Π² ΠΏΠΎΠ»Π΅ Β«summaryΒ» Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΡΡΠ½ΡΡŽΡ‰ΠΈΠΉ тСкст, ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Β«Commit to masterΒ».

ΠšΠΎΠΌΠΌΠΈΡ‚ (commit) – ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, созданиС вСрсии (ΠΊΠ°ΠΊ Π² wiki). К ΠΊΠ°ΠΆΠ΄ΠΎΠΉ вСрсии ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ – новая вСрсия вашСго ΠΊΠΎΠ΄Π°.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²ΠΈΠ΄ΠΈΠΌ сообщСниС:

Π¨Π°Π³ 11. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ ΡƒΡ‚Π²Π΅Ρ€Π΄ΠΈΠ»ΠΈ наши измСнСния Π² локальном (склонированном) Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ с измСнСниями Π² ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Π»ΠΈΡ‡Π½Ρ‹ΠΉ (Ρ„ΠΎΡ€ΠΊ) Π½Π° github.com ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ pull request. Π’ качСствС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡƒΠ»Π»-рСквСста Π²Π²ΠΎΠ΄ΠΈΠΌ своё ЀИО ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Β«Send Pull RequestΒ».

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²ΠΈΠ΄ΠΈΠΌ сообщСниС:

Π“ΠΎΡ‚ΠΎΠ²ΠΎ!

Если Π½ΡƒΠΆΠ½Ρ‹ ΠΏΡ€Π°Π²ΠΊΠΈ, повторяСм шаги 9 ΠΈ 10. Π—Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Β«SyncΒ» Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Π»ΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (Ρ„ΠΎΡ€ΠΊ), Ρ‡Ρ‚ΠΎ автоматичСски ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ pull request.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ pull request Π² windows, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Git Shell

Π—Π΄Π΅ΡΡŒ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°:

ПослС установки, запускаСм Git Bash
(ярлык для запуска ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² мСню ΠŸΡƒΡΠΊ).

УстанавливаСм вмСстС с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Git Shell.
Для этого выполняСм шаги со 2 ΠΏΠΎ 4 Ρ€Π°Π·Π΄Π΅Π»Π° Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ pull request Π² windows

ПослС установки прилоТСния, запускаСм Git Shell
(ярлык для запуска ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС).

Π”Π°Π»Π΅Π΅ смотрим shell ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ pull request Π² linux.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ pull request Π² linux

Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² основной Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ https://github.com/urfu-2015/verstka-tasks-1
И Π΄Π΅Π»Π°Π΅ΠΌ Ρ„ΠΎΡ€ΠΊ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΊ сСбС. Для этого ΠΆΠΌΡ‘ΠΌ Β«forkΒ» Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ.

Π’ linux ΡƒΠΆΠ΅ установлСн git ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ настроСн.

Π¨Π°Π³ 1. ВыполняСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅:

Π¨Π°Π³ 2. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΠΊ сСбС Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

Π¨Π°Π³ 3. Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ pull request. Для этого Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ мСню справа Β«Pull requestsΒ».
И Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«New pull requestΒ».

Π¨Π°Π³ 4. НаТимаСм ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Create pull requestΒ»

Π¨Π°Π³ 5. Π’Π²ΠΎΠ΄ΠΈΠΌ своё ЀИО ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Create pull requestΒ»

Π“ΠΎΡ‚ΠΎΠ²ΠΎ!

Если Π½ΡƒΠΆΠ½Ρ‹ ΠΏΡ€Π°Π²ΠΊΠΈ. Вносим ΠΈΡ… Π² любимом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅, ΠΈ снова Π΄Π΅Π»Π°Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π›ΡƒΡ‡ΡˆΠΈΠΉ Pull Request

ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΌΠ½Π΅ ΠΏΠΎΡΡ‡Π°ΡΡ‚Π»ΠΈΠ²ΠΈΠ»ΠΎΡΡŒ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Bitbucket Server Π² Atlassian (Π΄ΠΎ сСнтября ΠΎΠ½ Π±Ρ‹Π» извСстСн ΠΊΠ°ΠΊ Stash). Π’ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠ½Π΅ стало Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎ, ΠΊΠ°ΠΊ этот ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ освСщён Π½Π° Π₯Π°Π±Ρ€Π΅, ΠΈ ΠΊ ΠΌΠΎΠ΅ΠΌΡƒ ΡƒΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΡŽ, нашлось лишь нСсколько Π·Π°ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΎ Π½Ρ‘ΠΌ, ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π° сСгодняшний дСнь ΡƒΠΆΠ΅ устарСло.

Π’ связи с этим я Ρ€Π΅ΡˆΠΈΠ» ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ сСбя Π² Ρ€ΠΎΠ»ΠΈ рассказчика ΠΈ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚ΡŒ Ρ‚Π΅Ρ…Π½ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ сторону Bitbucket. ΠŸΡ€ΠΎΡˆΡƒ Π½Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠΎΡ‘ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹, ΠΈΠ±ΠΎ я ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ ΠΏΡ€Π΅ΡΠ»Π΅Π΄ΡƒΡŽ эту Ρ†Π΅Π»ΡŒ. Если эта ΡΡ‚Π°Ρ‚ΡŒΡ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ интСрСс со стороны Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ, я Π±ΡƒΠ΄Ρƒ Ρ€Π°Π΄ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΌΡƒ ΠΈ ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ вопросы.

ΠŸΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ с ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° ΡΡ‚Π°Ρ‚ΡŒΠΈ Π’ΠΈΠΌΠ° ΠŸΠ΅Ρ‚Ρ‚Π΅Ρ€ΡΠ΅Π½Π° Β«A better pull requestΒ» ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ pull request, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивно Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π²ΠΎΠ·Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ Π½Π° Π½Π΅Π³ΠΎ Π·Π°Π΄Π°Ρ‡Ρƒ.

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

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

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Git, Ρ‚ΠΎ навСрняка ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ ΠΈ pull request-Π°ΠΌΠΈ. Они Π² Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° появлСния распрСдСлённых систСм управлСния вСрсиями. Π”ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Bitbucket ΠΈ GitHub ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Π²Π΅Π±-интСрфСйс, pull request ΠΌΠΎΠ³ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой простоС письмо ΠΎΡ‚ Алисы с ΠΏΡ€ΠΎΡΡŒΠ±ΠΎΠΉ Π·Π°Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ измСнСния ΠΈΠ· Π΅Ρ‘ рСпозитория. Если ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ стóящими, Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ нСсколько ΠΊΠΎΠΌΠ°Π½Π΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π»ΠΈΡ‚ΡŒ эти измСнСния Π² Π²Π°ΡˆΡƒ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ master:

РазумССтся, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ измСнСния ΠΎΡ‚ Алисы Π² master Π½Π΅ глядя β€” это Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π»ΡƒΡ‡ΡˆΠ°Ρ идСя: вСдь master содСрТит ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ навСрняка Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅Π³ΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚. Π‘ΠΎΠ»Π΅Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ, Ρ‡Π΅ΠΌ простоС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² master, β€” это сначала Π²Π»ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΈ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ cΠ»ΠΈΠ²Π°Ρ‚ΡŒ Π² master:

ΠŸΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git diff с синтаксисом Ρ‚Ρ€Ρ‘Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ (Π² дальнСйшСм Β«triple dotΒ» git diff) ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ измСнСния ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ alice/branch ΠΈ Π΅Ρ‘ merge base β€” ΠΎΠ±Ρ‰ΠΈΠΌ ΠΏΡ€Π΅Π΄ΠΊΠΎΠΌ с локальной Π²Π΅Ρ‚ΠΊΠΎΠΉ master, ΠΈΠ½Π°Ρ‡Π΅ говоря, с Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ расхоТдСния истории ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² этих Π²Π΅Ρ‚ΠΎΠΊ. Π’ сущности, это Π±ΡƒΠ΄ΡƒΡ‚ Ρ€ΠΎΠ²Π½ΠΎ Ρ‚Π΅ измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Алиса просит нас Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ.

Pull request git Ρ‡Ρ‚ΠΎ. image loader. Pull request git Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ‚ΠΎ. Pull request git Ρ‡Ρ‚ΠΎ-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Pull request git Ρ‡Ρ‚ΠΎ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader
git diff master. alice/master эквивалСнтСн git diff A B

На ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд, это каТСтся Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹ΠΌ способом ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ pull request-Π°. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания ΡΡ‚Π°Ρ‚ΡŒΠΈ, ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сравнСния примСняСтся Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ pull request-ΠΎΠ² Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ инструмСнтов, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… хостинг git-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π².

НСсмотря Π½Π° это, Π΅ΡΡ‚ΡŒ нСсколько ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² использовании Β«triple dotΒ» git diff для Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ pull request-Π°. Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ основная Π²Π΅Ρ‚ΠΊΠ°, скорСС всСго, Π±ΡƒΠ΄Π΅Ρ‚ сильно ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ любой Π²Π΅Ρ‚ΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (Π² дальнСйшСм feature-Π²Π΅Ρ‚ΠΊΠ°). Π Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ вСдётся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Π΅Ρ‚ΠΊΠ°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² master. Когда master продвигаСтся Π²ΠΏΠ΅Ρ€Ρ‘Π΄, простой git diff ΠΎΡ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ feature-Π²Π΅Ρ‚ΠΊΠΈ Π΄ΠΎ Π΅Ρ‘ merge base ΡƒΠΆΠ΅ нСдостаточСн для отобраТСния настоящСго различия ΠΌΠ΅ΠΆΠ΄Ρƒ этими Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ: ΠΎΠ½ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ feature-Π²Π΅Ρ‚ΠΊΠΈ лишь с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… состояний master.

Pull request git Ρ‡Ρ‚ΠΎ. image loader. Pull request git Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ‚ΠΎ. Pull request git Ρ‡Ρ‚ΠΎ-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Pull request git Ρ‡Ρ‚ΠΎ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader
Π’Π΅Ρ‚ΠΊΠ° master продвигаСтся Π·Π° счёт вливания Π½ΠΎΠ²Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ git diff master. alice/master Π½Π΅ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ этих ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ master.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΆΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ эти измСнСния Π² Ρ…ΠΎΠ΄Π΅ Π°Π½Π°Π»ΠΈΠ·Π° pull request-Π° являСтся ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ? Π’ΠΎΠΌΡƒ Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹.

ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ слияния (merge conflicts)

Π‘ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π²Ρ‹ навСрняка рСгулярно ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ β€” ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ слияния. Если Π² вашСй feature-Π²Π΅Ρ‚ΠΊΠ΅ Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½ Π² master, git diff ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ измСнСния, сдСланныС Π²Π°ΠΌΠΈ Π² feature-Π²Π΅Ρ‚ΠΊΠ΅. Однако ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ git merge Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½Ρ‘Ρ‚Π΅ΡΡŒ с ошибкой: git расставит ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρ‹ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Π² Ρ„Π°ΠΉΠ»Π°Ρ… вашСй Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ сливаСмыС Π²Π΅Ρ‚ΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ²Ρ‹Π΅ измСнСния, β€” Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ git Π½Π΅ Π² состоянии Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π΄Π°ΠΆΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… стратСгий слияния.

Pull request git Ρ‡Ρ‚ΠΎ. image loader. Pull request git Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ‚ΠΎ. Pull request git Ρ‡Ρ‚ΠΎ-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Pull request git Ρ‡Ρ‚ΠΎ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader
ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ слияния

Вряд Π»ΠΈ ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ нравится Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² слияния, Π½ΠΎ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄Π°Π½Π½ΠΎΡΡ‚ΡŒΡŽ любой систСмы контроля вСрсий, β€” ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, ΠΈΠ· Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ„Π°ΠΉΠ»Π° (ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΈΠΌΠ΅Π΅Ρ‚ ряд своих ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ).

Однако ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ слияния β€” это мСньшая Π½Π΅ΠΏΡ€ΠΈΡΡ‚Π½ΠΎΡΡ‚ΡŒ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ использовании Β«triple dotΒ» git diff для pull request-ΠΎΠ², ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ: особый Ρ‚ΠΈΠΏ логичСского ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ слит, Π½ΠΎ смоТСт внСсти ΠΊΠΎΠ²Π°Ρ€Π½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ.

ЛогичСскиС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹, ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π΅Π·Π°ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π²ΠΎ врСмя слияния

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

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ путями, ΠΎΠ΄Π½Π°ΠΊΠΎ самым распространённым являСтся Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° Π΄Π²Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° случайно Π·Π°ΠΌΠ΅Ρ‡Π°ΡŽΡ‚ ΠΈ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² Π΄Π²ΡƒΡ… Ρ€Π°Π·Π½Ρ‹Ρ… Π²Π΅Ρ‚ΠΊΠ°Ρ…. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ Π½Π° javascript вычисляСт ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π°Π²ΠΈΠ°Π±ΠΈΠ»Π΅Ρ‚Π°:

Π—Π΄Π΅ΡΡŒ содСрТится очСвидная ошибка: Π°Π²Ρ‚ΠΎΡ€ Π·Π°Π±Ρ‹Π» Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² расчёт Ρ‚Π°ΠΌΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ сбор!

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π΄Π²ΡƒΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Алису ΠΈ Π‘ΠΎΠ±Π°, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ» эту ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈ исправил Π΅Ρ‘ нСзависимо ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π² своСй Π²Π΅Ρ‚ΠΊΠ΅.

Алиса Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° строку для ΡƒΡ‡Ρ‘Ρ‚Π° customsFee ΠΏΠ΅Ρ€Π΅Π΄ immigrationFee:

Π‘ΠΎΠ± сдСлал Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΡƒΡŽ ΠΏΡ€Π°Π²ΠΊΡƒ, ΠΎΠ΄Π½Π°ΠΊΠΎ помСстил Π΅Ρ‘ послС immigrationFee:

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· этих Π²Π΅Ρ‚ΠΎΠΊ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ Ρ€Π°Π·Π½Ρ‹Π΅ строки ΠΊΠΎΠ΄Π°, слияниС ΠΎΠ±Π΅ΠΈΡ… с master ΠΏΡ€ΠΎΠΉΠ΄Ρ‘Ρ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΠ΄Π½ΠΎ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ. Однако Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ master Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠ±Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ строки, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π΄Π²Π°ΠΆΠ΄Ρ‹ ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΌΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ сбор:

(Π­Ρ‚ΠΎ, разумССтся, Π½Π°Π΄ΡƒΠΌΠ°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ вСсьма ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹: ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π΄Ρ‹Ρ€Ρƒ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ SSL/TLS Π² iOS.)

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ сначала слили Π² master измСнСния pull request-Π° Алисы. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π» Π±Ρ‹ pull request Π‘ΠΎΠ±Π°, Ссли Π±Ρ‹ Π²Ρ‹ использовали Β«triple dotΒ» git diff:

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ измСнСния ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΎΠ±Ρ‰ΠΈΠΌ ΠΏΡ€Π΅Π΄ΠΊΠΎΠΌ, Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ прСдупрСТдСния ΠΎΠ± ΡƒΠ³Ρ€ΠΎΠ·Π΅ ошибки, которая случится, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π°ΠΆΠΌΡ‘Ρ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ слияния.

На самом ΠΆΠ΅ Π΄Π΅Π»Π΅, ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ pull request-Π° Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ master измСнится послС слияния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· Π²Π΅Ρ‚ΠΊΠΈ Π‘ΠΎΠ±Π°:

Π—Π΄Π΅ΡΡŒ явно ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Π Π΅Ρ†Π΅Π½Π·Π΅Π½Ρ‚ pull request-Π°, Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π΄Π΅ΡΡ‚ΡŒΡΡ, Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ строчку ΠΈ ΡƒΠ²Π΅Π΄ΠΎΠΌΠΈΡ‚ Π‘ΠΎΠ±Π° ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΈ Ρ‚Π΅ΠΌ самым ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎΠΉ ошибки Π² master ΠΈ, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счётС, Π² Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠΊΠ°Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² pull request-Π°Ρ… Π² Bitbucket. ΠŸΡ€ΠΈ просмотрС pull request-Π° Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ Π½Π° самом Π΄Π΅Π»Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ слияния (Ρ‚.Π΅. фактичСски, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚). Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ это, ΠΌΡ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌ настоящСС слияниС Π²Π΅Ρ‚ΠΎΠΊ ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΌΡΡ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ ΠΈ Π²Π΅Ρ€Ρ…ΡƒΡˆΠΊΠΎΠΉ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ pull request-Π°:

Pull request git Ρ‡Ρ‚ΠΎ. image loader. Pull request git Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ‚ΠΎ. Pull request git Ρ‡Ρ‚ΠΎ-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Pull request git Ρ‡Ρ‚ΠΎ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader
git diff C D, Π³Π΄Π΅ D β€” это ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉΡΡ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ слияния, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ всС различия ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ

Если Π²Π°ΠΌ интСрСсно, я размСстил ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… хостингах, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ сами смогли ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΎΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ сравнСния:

ΠŸΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΎΠΊ

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΊΠΎΠΌΠΌΠΈΡ‚ слияния D Π½Π° самом Π΄Π΅Π»Π΅ Π΅Ρ‰Ρ‘ Π½Π΅ сущСствуСт, Π° Π΅Π³ΠΎ созданиС β€” ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΡ€ΠΎΠ³ΠΎΠΉ процСсс. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, нСдостаточно просто ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ D ΠΈ Π½Π° этом Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒ: B ΠΈ C, Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ для нашСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π° слияния, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² любоС врСмя. ΠœΡ‹ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ любого ΠΈΠ· Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² пСрСсмотром (rescope) pull request-Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΎ, ΠΏΠΎ сути, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚ΠΎΡ‚ Π½Π°Π±ΠΎΡ€ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Ρ‘Π½ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ слияния pull request-Π°. Если ваш pull request Π½Π°Ρ†Π΅Π»Π΅Π½ Π½Π° Π½Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Π²Ρ€ΠΎΠ΄Π΅ master, ΠΎΠ½ навСрняка пСрСсматриваСтся ΠΎΡ‡Π΅Π½ΡŒ часто.

Pull request git Ρ‡Ρ‚ΠΎ. image loader. Pull request git Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ‚ΠΎ. Pull request git Ρ‡Ρ‚ΠΎ-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Pull request git Ρ‡Ρ‚ΠΎ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader
ΠšΠΎΠΌΠΌΠΈΡ‚Ρ‹ слияния ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° любая ΠΈΠ· Π²Π΅Ρ‚ΠΎΠΊ pull request-Π° измСняСтся

ЀактичСски, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΊΠΎΠ³Π΄Π° ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ ΠΈΠ»ΠΈ сливаСт pull request Π² master ΠΈΠ»ΠΈ feature-Π²Π΅Ρ‚ΠΊΡƒ, Bitbucket Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ слияния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ Π² pull request-Π΅.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² слияния

Другая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ слияния для отобраТСния Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅Π΄ΠΆΡƒ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ Π² pull request-Π΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ врСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Π°ΠΌ придётся ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ с ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌΠΈ слияния. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ git сСрвСр Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Π½Π΅ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΊΠΎΠΌΡƒ. Π­Ρ‚ΠΎ Π΅Ρ‰Ρ‘ большС услоТняСт Π·Π°Π΄Π°Ρ‡Ρƒ, Π½ΠΎ Π½Π° Π΄Π΅Π»Π΅ оказываСтся прСимущСством. Π’ Bitbucket ΠΌΡ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρ‹ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Π² ΠΊΠΎΠΌΠΌΠΈΡ‚ слияния D, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠΌΠ΅Ρ‡Π°Π΅ΠΌ ΠΈΡ… ΠΏΡ€ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π°ΠΌ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ pull request содСрТит ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹:

Pull request git Ρ‡Ρ‚ΠΎ. image loader. Pull request git Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ‚ΠΎ. Pull request git Ρ‡Ρ‚ΠΎ-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Pull request git Ρ‡Ρ‚ΠΎ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader
Π—Π΅Π»Ρ‘Π½Ρ‹Π΅ строки Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹, красныС β€” ΡƒΠ΄Π°Π»Π΅Π½Ρ‹, Π° ΠΆΡ‘Π»Ρ‚Ρ‹Π΅ ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅ выявляСм, Ρ‡Ρ‚ΠΎ pull request содСрТит ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚, Π½ΠΎ ΠΈ позволяСм Ρ€Π΅Ρ†Π΅Π½Π·Π΅Π½Ρ‚Π°ΠΌ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΡ‘Π½. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ всСгда Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, Π΄Π²Π΅ стороны, ΠΌΡ‹ считаСм, Ρ‡Ρ‚ΠΎ pull request β€” это Π»ΡƒΡ‡ΡˆΠ΅Π΅ мСсто для нахоТдСния подходящСго способа Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

НСсмотря Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Ρ€Π΅ΡΡƒΡ€ΡΠΎΡ‘ΠΌΠΊΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°, я ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Π½Π°ΠΌΠΈ Π² Bitbucket ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ прСдоставляСт Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΡƒΡŽ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ pull request-Π°.

Автор ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ β€” Π’ΠΈΠΌ ΠŸΠ΅Ρ‚Ρ‚Π΅Ρ€ΡΠ΅Π½, участвовал Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ JIRA, FishEye/Crucible ΠΈ Stash. Π‘ Π½Π°Ρ‡Π°Π»Π° 2013 Π³ΠΎΠ΄Π° ΠΎΠ½ рассказываСт ΠΎ процСссах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, git, Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈ поставкС (continuous integration/deployment) ΠΈ инструмСнтах Atlassian для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², особСнно ΠΎ Bitbucket. Π’ΠΈΠΌ рСгулярно ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΎΠ± этих ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π΅Ρ‰Π°Ρ… Π² Twitter ΠΏΠΎΠ΄ псСвдонимом @kannonboy.

НадСюсь, Ρ‡Ρ‚ΠΎ эта ΡΡ‚Π°Ρ‚ΡŒΡ оказалась интСрСсной. Π‘ΡƒΠ΄Ρƒ Ρ€Π°Π΄ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° вопросы ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Pull Request

07 ΠœΠ°Ρ€Ρ‚Π° 2016 β€’ ΠœΠΈΡ…Π°ΠΈΠ» Панков β€’ руководства β€’ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΡ‚Π΅ Π½Π° Patreon

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ Π·Π½Π°Π½ΠΈΠ΅ основ систСмы контроля вСрсий Git. Если Π²Ρ‹ Π΅Ρ‰Ρ‘ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ с Git, ΠΌΡ‹ Π΄Π°Π΄ΠΈΠΌ ссылки Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ€ΡƒΡΡΠΊΠΎΡΠ·Ρ‹Ρ‡Π½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ.

Π’Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ потрСбуСтся Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ Π½Π° GitHub. РСгистрация бСсплатная ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ указания лишь ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹.

Π’ΠΎΡ‚ процСсс с высоты ΠΏΡ‚ΠΈΡ‡ΡŒΠ΅Π³ΠΎ ΠΏΠΎΠ»Ρ‘Ρ‚Π°.

Π Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π°!

Π’Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ этап ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Π€ΠΎΡ€ΠΊΠ°Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ Ρ„ΠΎΡ€ΠΊΠ°Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ β€” это создаст копию рСпозитория Π² вашСм Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π΅. ΠŸΡ€ΠΈ этом Ρƒ вас появится доступ Π½Π° запись Π² Π²Π°ΡˆΡƒ копию.

Pull request git Ρ‡Ρ‚ΠΎ. fork b4128ff517adce95b1d5ebfd30c1cf455bb2abd236543fddf1611d4d3687b159. Pull request git Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ‚ΠΎ. Pull request git Ρ‡Ρ‚ΠΎ-fork b4128ff517adce95b1d5ebfd30c1cf455bb2abd236543fddf1611d4d3687b159. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Pull request git Ρ‡Ρ‚ΠΎ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° fork b4128ff517adce95b1d5ebfd30c1cf455bb2abd236543fddf1611d4d3687b159

Π§Π΅Ρ€Π΅Π· ΠΌΠ³Π½ΠΎΠ²Π΅Π½ΠΈΠ΅ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π½Π° страницу вашСго Ρ„ΠΎΡ€ΠΊΠ°.

ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

Pull request git Ρ‡Ρ‚ΠΎ. clone 810ee60d0b9ff4ea509d28cf3e62d6f81d7e308dac7c15ddf45a203c339f2973. Pull request git Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ‚ΠΎ. Pull request git Ρ‡Ρ‚ΠΎ-clone 810ee60d0b9ff4ea509d28cf3e62d6f81d7e308dac7c15ddf45a203c339f2973. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Pull request git Ρ‡Ρ‚ΠΎ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° clone 810ee60d0b9ff4ea509d28cf3e62d6f81d7e308dac7c15ddf45a203c339f2973

Π—Π°Ρ‚Π΅ΠΌ выполняСм ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ ( ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Windows):

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

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² наш склонированный Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ создаём Π²Π΅Ρ‚ΠΊΡƒ:

Вторая ΠΊΠΎΠΌΠ°Π½Π΄Π° создаст Π²Π΅Ρ‚ΠΊΡƒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘Ρ‚ Π½Π° Π½Π΅Ρ‘ ( сдСлаСт checkout).

Π”Π΅Π»Π°Π΅ΠΌ измСнСния

Π­Ρ‚ΠΈ измСнСния ΠΌΡ‹ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠΌ Π² Π½Π°ΡˆΡƒ Π²Π΅Ρ‚ΠΊΡƒ. Как это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ β€” Π½ΠΈΠΆΠ΅.

Если Π²Ρ‹ ΡƒΠΆΠ΅ достаточно Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ Π² Git, Ρ‚Π°ΠΊΠΈΠ΅ Π½Π΅-Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Π΅ измСнСния ΠΏΠΎΡ‚ΠΎΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ interactive rebase ΠΈ squash.

Π’ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π΅ΡΡ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π²Π°ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Π€ΠΎΡ€ΠΌΠ°Ρ‚ сообщСния ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΎΠ²:

Π’ Π½Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Fix #123 ΠΈΠ»ΠΈ Close #123 Π½Π° послСднСй строкС сообщСния ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ измСнСния

Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ Pull Request

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Pull Request, Π·Π°ΠΉΠ΄Ρ‘ΠΌ Π½Π° страницу вашСго Ρ„ΠΎΡ€ΠΊΠ°. Π‘ΠΏΡ€Π°Π²Π° ΠΎΡ‚ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню с Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ Π²Π΅Ρ‚ΠΊΠΈ Π΅ΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠ° Β« New pull requestΒ».

Pull request git Ρ‡Ρ‚ΠΎ. new pr 550a1c919b0442e2f02f759ed2a73c17b27f8ba57be4efbf058e0f81fce27b42. Pull request git Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ‚ΠΎ. Pull request git Ρ‡Ρ‚ΠΎ-new pr 550a1c919b0442e2f02f759ed2a73c17b27f8ba57be4efbf058e0f81fce27b42. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Pull request git Ρ‡Ρ‚ΠΎ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° new pr 550a1c919b0442e2f02f759ed2a73c17b27f8ba57be4efbf058e0f81fce27b42

Π’Ρ‹ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚Π΅ Π² ΠΎΠΊΠ½ΠΎ сравнСния Π²Π΅Ρ‚ΠΎΠΊ.

Pull request git Ρ‡Ρ‚ΠΎ. pr e71ca01a91a9e1d66496130ee3ceb0e50acb109be033375e10eee659726e7e3c. Pull request git Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ‚ΠΎ. Pull request git Ρ‡Ρ‚ΠΎ-pr e71ca01a91a9e1d66496130ee3ceb0e50acb109be033375e10eee659726e7e3c. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Pull request git Ρ‡Ρ‚ΠΎ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° pr e71ca01a91a9e1d66496130ee3ceb0e50acb109be033375e10eee659726e7e3c

ПослС наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ появится ΠΎΠΊΠ½ΠΎ Π²Π²ΠΎΠ΄Π° сообщСния Pull Request.

Pull request git Ρ‡Ρ‚ΠΎ. pr message bf4ba4d422facf8cc6954f90dc2bdcd34b1b9b5b8b564ba963720e7ff96ef91a. Pull request git Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ‚ΠΎ. Pull request git Ρ‡Ρ‚ΠΎ-pr message bf4ba4d422facf8cc6954f90dc2bdcd34b1b9b5b8b564ba963720e7ff96ef91a. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Pull request git Ρ‡Ρ‚ΠΎ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° pr message bf4ba4d422facf8cc6954f90dc2bdcd34b1b9b5b8b564ba963720e7ff96ef91a

УчаствуСм Π² Code Review

Если ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π²Π΅Π΄Ρ‘Ρ‚ сСбя Π½Π΅Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎ β€” Π½Π΅ ΠΌΠ΅Π΄Π»ΠΈΡ‚Π΅. Π‘Π½Π°Ρ‡Π°Π»Π° сообщитС ΠΎΠ± этом собСсСднику ΠΈ ΠΏΡ€ΠΈΠ·ΠΎΠ²ΠΈΡ‚Π΅ Π΅Π³ΠΎ ΠΊ Π±Π»Π°Π³ΠΎΡ€Π°Π·ΡƒΠΌΠΈΡŽ. Если Π½Π΅ сработало β€” смСло ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ΡΡŒ ΠΊ Ρ€Π΅Ρ†Π΅Π½Π·Π΅Π½Ρ‚Ρƒ ΠΈΠ»ΠΈ ΠΊ Π°Π²Ρ‚ΠΎΡ€Ρƒ Π΄Π°Π½Π½ΠΎΠ³ΠΎ тСкста ( ΠŸΠ°Π½ΠΊΠΎΠ²Ρƒ ΠœΠΈΡ…Π°ΠΈΠ»Ρƒ β€” @mkpankov). Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² нашСм Ρ‡Π°Ρ‚Π΅.

ПоТСланиС ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ процСсса рСцСнзирования β€” ΠΏΠΎΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π΅ сильно Π·Π°Ρ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒ с ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌΠΈ Π½Π° ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ.

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΠ΅ΠΌ! Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΏΠΎΠ»Π½ΠΎΠΏΡ€Π°Π²Π½Ρ‹ΠΉ участник ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π½Π°ΡˆΡƒ Π²Π΅Ρ‚ΠΊΡƒ fix-protobaz локально:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *