πŸ” Поиск ошибок Π² Git: пошаговоС руководство ΠΏΠΎ использованию git bisect

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

git bisect - это инструмСнт Π² Git, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΈΠ»ΠΈ ошибка. Π­Ρ‚ΠΎΡ‚ инструмСнт основан Π½Π° Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ поискС ΠΈ позволяСт ΡΡƒΠ·ΠΈΡ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ слСдуСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ искомый ΠΊΠΎΠΌΠΌΠΈΡ‚.

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ git bisect:

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ вашСго рСпозитория Git.
  2. ЗапуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git bisect start.
  3. Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ/Π΄Π΅Ρ„Π΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git bisect bad.
  4. Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ послСдний извСстный Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git bisect good <ΠΊΠΎΠΌΠΌΠΈΡ‚>.
  5. Git автоматичСски Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚, находящийся Ρ€ΠΎΠ²Π½ΠΎ посСрСдинС ΠΌΠ΅ΠΆΠ΄Ρƒ "ΠΏΠ»ΠΎΡ…ΠΈΠΌ" ΠΈ "Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ" ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ этот ΠΊΠΎΠΌΠΌΠΈΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ ΠΎΠ½ "Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ" ΠΈΠ»ΠΈ "ΠΏΠ»ΠΎΡ…ΠΈΠΌ".
  6. Когда Π²Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git bisect {good|bad}, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ Git, являСтся Π»ΠΈ этот ΠΊΠΎΠΌΠΌΠΈΡ‚ "Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ" ΠΈΠ»ΠΈ "ΠΏΠ»ΠΎΡ…ΠΈΠΌ".
  7. Git Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½ "ΠΏΠ»ΠΎΡ…ΠΎΠΉ" ΠΊΠΎΠΌΠΌΠΈΡ‚.
  8. Когда "ΠΏΠ»ΠΎΡ…ΠΎΠΉ" ΠΊΠΎΠΌΠΌΠΈΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½, Git Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ сообщСниС с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Π½Π΅ΠΌ, ΠΈ Π²Ρ‹ смоТСтС ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ процСсс "bisect" с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git bisect reset.

НапримСр, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² вашСм ΠΊΠΎΠ΄Π΅, ΠΈ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π΅ΠΉ Π½Π°Π΄ΠΎ Π±Ρ‹Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² abcd123 ΠΈ efgh456. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ git bisect Π² Ρ‚Π°ΠΊΠΎΠΌ случаС:

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ рСпозитория Git.
  2. ЗапуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git bisect start.
  3. Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ Π΄Π΅Ρ„Π΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git bisect bad abcd123.
  4. Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git bisect good efgh456.
  5. Git автоматичСски Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚, находящийся Ρ€ΠΎΠ²Π½ΠΎ посСрСдинС ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ.
  6. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ этот ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git bisect {good|bad}.
  7. Git Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½ Π΄Π΅Ρ„Π΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚.
  8. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git bisect reset, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒ процСсс "bisect".

НадСюсь, это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ git bisect ΠΈ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π² вашСм ΠΊΠΎΠ΄Π΅!

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² объяснСниС Ρ‚Π΅ΠΌΡ‹ Β«git bisect ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡΒ»!

Git bisect - это мощная ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² Git, которая ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ мСсто Π² истории ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π³Π΄Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ошибка. Как студСнту, Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ git bisect для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² вашСм ΠΊΠΎΠ΄Π΅. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим процСсс использования этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Π¨Π°Π³ 1: ΠΠ°Ρ‡Π°Ρ‚ΡŒ bisect

ΠŸΠ΅Ρ€Π΅Π΄ использованиСм git bisect Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ вашСго рСпозитория Git. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку ΠΈΠ»ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ вашСго рСпозитория.

cd /ΠΏΡƒΡ‚ΡŒ/ΠΊ/Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ

Π¨Π°Π³ 2: ΠΠ°Ρ‡Π°Ρ‚ΡŒ процСсс bisect

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git bisect start для Π½Π°Ρ‡Π°Π»Π° процСсса bisect.

git bisect start

Π¨Π°Π³ 3: Π£ΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΈ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹

Git bisect Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚ вас ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Β«Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉΒ» ΠΈ Β«ΠΏΠ»ΠΎΡ…ΠΎΠΉΒ» ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹. Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ прСдставляСт собой ΠΊΠΎΠΌΠΌΠΈΡ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π° ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ - это ΠΊΠΎΠΌΠΌΠΈΡ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΈΠ»ΠΈ ошибка.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ…Π΅Ρˆ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ссылки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ HEAD ΠΈΠ»ΠΈ тэги.

git bisect good Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ_ΠΊΠΎΠΌΠΌΠΈΡ‚
git bisect bad ΠΏΠ»ΠΎΡ…ΠΎΠΉ_ΠΊΠΎΠΌΠΌΠΈΡ‚

Π¨Π°Π³ 4: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

Git bisect автоматичСски ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π»ΠΈ Π² Π½ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΈΠ»ΠΈ ошибка. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Bisect ΠΎ Π΅Π³ΠΎ статусС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ good ΠΈ bad.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ дСйствия ΠΈ тСсты, ΠΈ сообщитС git bisect ΠΎ Π΅Π³ΠΎ статусС:

git bisect good

ΠΈΠ»ΠΈ

git bisect bad

Π¨Π°Π³ 5: Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ bisect

Git bisect Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½ ΠΊΠΎΠΌΠΌΠΈΡ‚, Π³Π΄Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка. Когда это ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, git bisect остановится ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π²Π°ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:

b4c3d2e is the first bad commit

Π¨Π°Π³ 6: Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ bisect ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Π² исходноС состояниС

ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса bisect Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ Git ΠΎ Π΅Π³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ:

git bisect reset

Π‘ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π²Ρ‹ снова ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с вашим Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ Git.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования git bisect

Рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² использования git bisect Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: Поиск ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ внСс ΠΎΡˆΠΈΠ±ΠΊΡƒ

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ошибкой, ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚, Π³Π΄Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° эта ошибка:

git bisect start
git bisect bad HEAD
git bisect good v1.0

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: Поиск внСсСнного измСнСния

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΈ Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ внСсли, ΠΈ ΠΎΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:

git bisect start
git bisect bad
git bisect good HEAD~3

Π­Ρ‚ΠΎ всСго лишь нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² использования git bisect. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ инструмСнтом для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈ поиска ΠΏΡ€ΠΈΡ‡ΠΈΠ½.

Π’Ρ‹Π²ΠΎΠ΄

Git bisect - полСзная ΠΊΠΎΠΌΠ°Π½Π΄Π° для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² Git-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. Она ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ ошибок ΠΈ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ внСс ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈ тСстированиС для максимальной эффСктивности процСсса bisect. Π£Π΄Π°Ρ‡ΠΈ Π² пользовании git bisect!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Поиск ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Π³Π΄Π΅ появилась ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git bisect

20. git bisect. Π˜Ρ‰Π΅ΠΌ Π±Π°Π³ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ git | Π£Ρ€ΠΎΠΊΠΈ git | webdevkin.ru

Как быстро Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ с Π±Π°Π³ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ git bisect?

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ”§ ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ способ git clone Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ: ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ?

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ git: простой ΠΈ эффСктивный способ

βš™οΈ ΠšΡƒΠ΄Π° сохраняСт ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ PyCharm: подробная инструкция

πŸ” Поиск ошибок Π² Git: пошаговоС руководство ΠΏΠΎ использованию git bisect

πŸ” Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ΅Π½ git lfs? ВсС ΠΎΠ± использовании git Large File Storage

ΠšΠ°ΠΊΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ git ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ наш Ρ„Π°ΠΉΠ»?