Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² с Git Add Patch

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch

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

Β«Π”Π΅Π»Π°ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Ρ€Π°Π½ΡŒΡˆΠ΅, Π΄Π΅Π»Π°ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Ρ‡Π°Ρ‰Π΅. Написал Π΄Π²Π΅ строчки ΠΊΠΎΠ΄Π° β€” сдСлай ΠΊΠΎΠΌΠΌΠΈΡ‚Β».

ΠšΠΎΠΌΠΌΠΈΡ‚ β€” это фиксация ΠΈΠ»ΠΈ сохранСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Π΅, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. Когда я сдСлал свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ настоящий ΠΊΠΎΠΌΠΌΠΈΡ‚, выглядСл ΠΎΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Если Π²Π°ΠΌ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌ Git, ΠΌΡ‹ сСйчас это Π±Ρ‹ΡΡ‚Ρ€Π΅Π½ΡŒΠΊΠΎ исправим. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строчкС добавляСм ΠΊΠΎΠ΄ со всСми внСсёнными измСнСниями Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ индСксирования Git. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строчкС ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠΌ/сохраняСм этот проиндСксированный ΠΊΠΎΠ΄ Π² локальном Π³ΠΈΡ‚ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. НаконСц, Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ строкС отправляСм измСнСния Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π§Ρ‚ΠΎ ΠΆ, Ρ‚Π°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ, особСнно Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ, Π½Π΅ΠΈΡΠΊΡƒΡˆΡ‘Π½Π½Ρ‹ΠΌ Π² тонкостях Π³ΠΈΡ‚ процСсса. Но ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ Π±ΠΎΠ»Π΅Π΅ слоТными ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ затруднСния.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²Π°ΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ малСнькими?

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

Π—Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ² с измСнСниями, просто Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π”Π°Π»ΡŒΡˆΠ΅ появится Ρ‚Π°ΠΊΠΎΠ΅ сообщСниС:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch

Π’ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π·Π΅Π»Ρ‘Π½Ρ‹ΠΌ, стало красным, Π° Π·Π΅Π»Ρ‘Π½Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Ρ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ внСсённыС измСнСния. ПослСдняя строка содСрТит вопрос (Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с этим куском ΠΊΠΎΠ΄Π°?) ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° Π½Π΅Π³ΠΎ. Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚.

ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° доступно послС Π²Π²ΠΎΠ΄Π° Π·Π½Π°ΠΊΠ° β€œ?” И наТатия Π½Π° enter. Π’ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ тСкст появится Ρƒ вас Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch

А это Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС:

По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ процСсса индСксирования ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ‡Ρ‘Ρ‚ΠΊΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch

Для Ρ‡Π΅Π³ΠΎ это Π½ΡƒΠΆΠ½ΠΎ?

Π•ΡΡ‚ΡŒ нСсколько ΠΏΡ€ΠΈΡ‡ΠΈΠ½ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ индСксирования ΠΏΡ€ΠΈ написании ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΡƒΠΆΠ΅ сСгодня!

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

Вторая: этот процСсс индСксирования Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ Ρ€Π°Π· ΠΏΡ€ΠΎΠ±Π΅ΠΆΠ°Ρ‚ΡŒΡΡ ΠΏΠΎ сдСланным измСнСниям, ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΈΡ… Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ.

Π’Ρ€Π΅Ρ‚ΡŒΡ (ΠΎΡ‚ сСбя Π»ΠΈΡ‡Π½ΠΎ): с Ρ‚Π΅Ρ… ΠΏΠΎΡ€ ΠΊΠ°ΠΊ я Π΅Ρ‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ, Ρƒ мСня ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠ° Π΄Π΅Π»Π°Ρ‚ΡŒ малСнькиС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹.

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

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

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

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

Π Π°Π±ΠΎΡ‚Π° с тСматичСскими Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ измСнСния Π² ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π»ΠΈ ΡΠ»ΠΈΡ‚ΡŒ эти измСнСния Π² ваши долгосрочныС Π²Π΅Ρ‚ΠΊΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎ ΠΏΠΎΡ‡Ρ‚Π΅

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ‚Ρ‡Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ apply

Если ошибок Π½Π΅ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ, Ρ‚ΠΎ ΠΏΠ°Ρ‚Ρ‡ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Ρ‘Π½ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π’Π°ΠΊ ΠΆΠ΅, Π² случаС ошибки эта ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΡ‚ 0 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ Π² скриптах.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ‚Ρ‡Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ am

Если участник ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Git ΠΈ ΡƒΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ format-patch для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ, Ρ‚ΠΎ Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³Ρ‡Π΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² ΠΏΠ°Ρ‚Ρ‡ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ информация ΠΎΠ± Π°Π²Ρ‚ΠΎΡ€Π΅ ΠΈ сообщСниС ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Если Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚Ρ€Π΅Π±ΡƒΠΉΡ‚Π΅ ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… участников ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ format-patch вмСсто diff для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ. Π’Π°ΠΌ останСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ git apply Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΈΠΌ.

Π’Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅, Ссли ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ созданный с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ format-patch ΠΏΠ°Ρ‚Ρ‡ Ρ„Π°ΠΉΠ» Π² систСму управлСния Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ, Ρ‚ΠΎ Π²Ρ‹ смоТСтС ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ сСбС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ локально с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ git am :

Commit информация ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ» ΠΏΠ°Ρ‚Ρ‡ ΠΈ ΠΊΠΎΠ³Π΄Π° это Π±Ρ‹Π»ΠΎ сдСлано. Author информация ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ создал ΠΏΠ°Ρ‚Ρ‡ ΠΈ ΠΊΠΎΠ³Π΄Π° это Π±Ρ‹Π»ΠΎ сдСлано.

Однако, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ситуация, ΠΊΠΎΠ³Π΄Π° ΠΏΠ°Ρ‚Ρ‡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ бСсконфликтно ΠΏΡ€ΠΈΠΌΠ΅Π½Ρ‘Π½. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ваша основная Π²Π΅Ρ‚ΠΊΠ° сильно расходится с Ρ‚ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ, Π½Π° основании ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π» создан ΠΏΠ°Ρ‚Ρ‡, ΠΈΠ»ΠΈ ΠΎΠ½ зависит ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ, Π΅Ρ‰Ρ‘ Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ‚Ρ‡Π°. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС Ρ€Π°Π±ΠΎΡ‚Π° git am Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Ρ€Π²Π°Π½Π°, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ Π²Ρ‹Π²Π΅Π΄Π΅Π½Π° подсказка со списком Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… дСйствий:

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

Π­Ρ‚ΠΎ отличная Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ содСрТимоС ΠΏΠ°Ρ‚Ρ‡Π° ΠΏΠ΅Ρ€Π΅Π΄ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, Ссли ΠΎΠ½ ΡƒΠΆΠ΅ Π±Ρ‹Π» ΠΏΡ€ΠΈΠΌΠ΅Π½Ρ‘Π½.

Когда всС ΠΏΠ°Ρ‚Ρ‡ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΈ созданы ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠ΅, Π²Ρ‹ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ стоит Π»ΠΈ ΠΈ ΠΊΠ°ΠΊ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² Π±ΠΎΠ»Π΅Π΅ Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ.

Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Ρ… Π²Π΅Ρ‚ΠΎΠΊ

Если участник ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° создал свой Git Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ» Π² Π½Π΅Π³ΠΎ свои измСнСния, Π° Π·Π°Ρ‚Π΅ΠΌ прислал Π²Π°ΠΌ ссылку ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ, ΠΊΡƒΠ΄Π° Π±Ρ‹Π»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ измСнСния, Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ этот Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΊΠ°ΠΊ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΈ провСсти слияниС локально.

К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ДТСссика ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»Π° Π²Π°ΠΌ письмо, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ сказано, Ρƒ Π½Π΅Ρ‘ Π΅ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Π² Π²Π΅Ρ‚ΠΊΠ΅ ruby-client Π΅Ρ‘ рСпозитория. Π”ΠΎΠ±Π°Π²ΠΈΠ² ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² измСнСния ΠΈΠ· этой Π²Π΅Ρ‚ΠΊΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния извлСкая ΠΈΡ… локально:

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

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ примСняСмых ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

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

Для просмотра ΠΏΠΎΠ»Π½ΠΎΠΉ Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ Ссли Π²Ρ‹ ΡΠΎΠ»ΡŒΡ‘Ρ‚Π΅ измСнСния Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, Π²Π°ΠΌ понадобится ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ странный способ для получСния ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²:

Π­Ρ‚ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Ссли Π²Π΅Ρ‚ΠΊΠ° master являСтся нСпосрСдствСнным Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ вашСй тСматичСской Π²Π΅Ρ‚ΠΊΠΈ, Π½ΠΎ Ссли история ΠΎΠ±ΠΎΠΈΡ… Π²Π΅Ρ‚ΠΎΠΊ измСнилась, Ρ‚ΠΎ Ρ€Π°Π·Π½ΠΈΡ†Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ всСх ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· тСматичСской Π²Π΅Ρ‚ΠΊΠΈ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ всСго Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ· master Π²Π΅Ρ‚ΠΊΠΈ.

Π§Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‚Π°ΠΊ это измСнСния тСматичСской Π²Π΅Ρ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСдстоит ΡΠ»ΠΈΡ‚ΡŒ Π² master Π²Π΅Ρ‚ΠΊΡƒ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, сказав Git ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ тСматичСской Π²Π΅Ρ‚ΠΊΠΈ с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΎΠ±Ρ‰ΠΈΠΌ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ для ΠΎΠ±ΠΎΠΈΡ… Π²Π΅Ρ‚ΠΎΠΊ.

ВСхничСски это дСлаСтся Π·Π° счёт явного указания ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΈ примСнСния Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΊ Π½Π΅ΠΌΡƒ:

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹

Когда всС измСнСния Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ тСматичСской Π²Π΅Ρ‚ΠΊΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с основной Π²Π΅Ρ‚ΠΊΠΎΠΉ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. ΠšΡ€ΠΎΠΌΠ΅ этого, ΠΊΠ°ΠΊΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ сопровоТдСнии вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°? Π£ вас нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ….

Π‘Ρ…Π΅ΠΌΡ‹ слияния

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch

Π­Ρ‚ΠΎ, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс ΠΈ Π΅Π³ΠΎ использованиС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, Π³Π΄Π΅ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ остороТны с прСдоставлСнными измСнСниями.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch

Π‘Ρ…Π΅ΠΌΠ° с большим количСством слияний

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch

Π‘Ρ…Π΅ΠΌΠ° с ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΎΡ‚Π±ΠΎΡ€ΠΎΠΌ

Π”Ρ€ΡƒΠ³ΠΈΠΌ способом ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ являСтся ΠΈΡ… ΠΎΡ‚Π±ΠΎΡ€ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² (cherry-pick). ΠžΡ‚Π±ΠΎΡ€ Π² Git ΠΏΠΎΡ…ΠΎΠΆ Π½Π° ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС формируСтся ΠΏΠ°Ρ‚Ρ‡ для Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΈ примСняСтся ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠ΅. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π² тСматичСской Π²Π΅Ρ‚ΠΊΠ΅ присутствуСт нСсколько ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Π·ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ…, ΠΈΠ»ΠΈ Π² тСматичСской Π²Π΅Ρ‚ΠΊΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈ Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π±ΠΎΡ€ вмСсто пСрСбазирования. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ выглядит Ρ‚Π°ΠΊ:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch

Для примСнСния ΠΊΠΎΠΌΠΌΠΈΡ‚Π° e43a6 ΠΊ Π²Π΅Ρ‚ΠΊΠ΅ master Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ, отбросив ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π½Π΅ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Β«RerereΒ»

Если Π²Ρ‹ часто ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ слияниС ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚Π΅ Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡƒΡ‰ΠΈΠ΅ тСматичСскиС Π²Π΅Ρ‚ΠΊΠΈ, Ρ‚ΠΎ Π² Git Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«rerereΒ», призванная Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΡ‡ΡŒ.

Rerere ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Β«reuse recorded resolutionΒ» (ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сохранённоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅) β€” это способ сокращСния количСства ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ². Когда эта опция Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π°, Git Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ ΠΎΠ±Ρ€Π°Π·ΠΎΠ² Π΄ΠΎ ΠΈ послС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ слияния, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ссли Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ Ρ€Π°Π½Π΅Π΅.

ПослС этого любоС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° слияния Π±ΡƒΠ΄Π΅Ρ‚ записано Π½Π° случай ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования.

ΠŸΠΎΠΌΠ΅Ρ‡Π°ΠΉΡ‚Π΅ свои Ρ€Π΅Π»ΠΈΠ·Ρ‹

ПослС выпуска Ρ€Π΅Π»ΠΈΠ·Π°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΌΡƒ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚. Для этого ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π΅Π³, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ описано Π² Π³Π»Π°Π²Π΅ ΠžΡΠ½ΠΎΠ²Ρ‹ Git. ΠšΡ€ΠΎΠΌΠ΅ этого, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ подпись для Ρ‚Π΅Π³Π°, Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ это Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ваш ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ находится Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π° Π½Π΅Π³ΠΎ Ρ‚Π΅Π³, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Ρ€Π°Π½Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ SHA-1:

ГСнСрация Π½ΠΎΠΌΠ΅Ρ€Π° сборки

Git Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠΎΠ½ΠΎΡ‚ΠΎΠ½Π½ΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ для ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², поэтому Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Π΅ ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Ρ‚ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git describe для Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Git Π²Π΅Ρ€Π½Ρ‘Ρ‚ имя блиТайшСго Ρ‚Π΅Π³Π°, количСство ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² послС Π½Π΅Π³ΠΎ ΠΈ частичноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ SHA-1 для ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° (с прСфиксом Π² Π²ΠΈΠ΄Π΅ Π±ΡƒΠΊΠ²Ρ‹ Β«gΒ» β€” ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Git):

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Ρ€Π΅Π»ΠΈΠ·Π°

ВрСмя Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π΅Π»ΠΈΠ· сборки. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΠ² послСднСго состояния вашСго ΠΊΠΎΠ΄Π° для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Git. Для создания Π°Ρ€Ρ…ΠΈΠ²Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git archive :

Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ tarball- ΠΈ zip-Π°Ρ€Ρ…ΠΈΠ²Ρ‹ с Ρ€Π΅Π»ΠΈΠ·ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π½Π° сайт ΠΈΠ»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎ ΠΏΠΎΡ‡Ρ‚Π΅.

ΠšΡ€Π°Ρ‚ΠΊΠ°Ρ история (Shortlog)

БСйчас самоС врСмя ΠΎΠΏΠΎΠ²Π΅ΡΡ‚ΠΈΡ‚ΡŒ людСй ΠΈΠ· списка рассылки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хотят Π·Π½Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ происходит с вашим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git shortlog ΠΌΠΎΠΆΠ½ΠΎ быстро ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсённых Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСго Ρ€Π΅Π»ΠΈΠ·Π° ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ рассылки. Она собираСт всС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅; Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ список ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСго Ρ€Π΅Π»ΠΈΠ·Π° с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ v1.0.1:

И Ρ‚Π°ΠΊ, Ρƒ вас Π΅ΡΡ‚ΡŒ готовая ΠΊ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ сводка ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² начиная с вСрсии v1.0.1, сгруппированных ΠΏΠΎ Π°Π²Ρ‚ΠΎΡ€Π°ΠΌ.

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ°Ρ‚Ρ‡ Π² Git version control?

Π― Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ ΠΊΠ°ΠΊ Π² git, Ρ‚Π°ΠΊ ΠΈ Π² ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ вСрсиями, поэтому я ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ°Ρ‚Ρ‡ ΠΈ Ρ‡Π΅ΠΌ ΠΎΠ½ отличаСтся ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я дСлаю Π² git?

ΠΊΠΎΠ³Π΄Π° я ΠΌΠΎΠ³Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡? Π­Ρ‚ΠΎ происходит ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° я ΡΠΎΠ²Π΅Ρ€ΡˆΠ°ΡŽ?

5 ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²:

Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² этом Π±Π»ΠΎΠ³Π΅ Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡ (Π½Π°Π±ΠΎΡ€ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ Π Π•ΠŸΠž)

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git patch
(Ρ„ΠΎΡ‚ΠΎ ΠΈΠ· Π±Π»ΠΎΠ³Π° 2008 Π³ΠΎΠ΄Π°»Bioruby с git: ΠΊΠ°ΠΊ это Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ?», ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ Jan AERTS)

см. Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»Π°Π΄ Π² Ρ€Π΅Π»ΡŒΡΡ‹ с Git ΠΊΠ°ΠΊ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Π² нашС врСмя, запрос тяги GitHub Π΄Π΅Π»Π°Π΅Ρ‚ это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡ΠΈ Π½Π° рСпозиториях GitHub, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚Π΅ΡΡŒ прямым участником (Ρ‚. Π΅. Π²Ρ‹ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ ΠΏΡ€Π°Π²Π° Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ Π½Π° Ρ€Π΅ΠΏΠΎ).
На самом Π΄Π΅Π»Π΅, совсСм Π½Π΅Π΄Π°Π²Π½ΠΎ GitHub прСдставил » Π›ΡƒΡ‡ΡˆΠ΅ Π’ΡΠ½ΡƒΡ‚ΡŒ Запрос Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΠΎΠΉ ΠŸΠΎΡ‡Ρ‚Ρ‹» для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ увСдомлСния ΠΎ Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ.

ΠΏΠ°Ρ‚Ρ‡ это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Unix, которая обновляСт тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹ Π² соотвСтствии с инструкциями, содСрТащимися Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ исправлСний.

Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с инструкциями ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ этот Ρ„Π°ΠΉΠ» ΠΈ примСняСт Π΅Π³ΠΎ ΠΊ Ρ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ.

Π˜Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ°Ρ‚Ρ‡? Допустим, Ρƒ вас Π΅ΡΡ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» с 2 линиями:

Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ мСняСтС ΠΏΠ΅Ρ€Π²ΡƒΡŽ строку, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ваш Ρ„Π°ΠΉΠ» выглядит Ρ‚Π°ΠΊ это:

ΠΊΠ°ΠΊ Π±Ρ‹ Π²Ρ‹ описали ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ содСрТимого Ρ„Π°ΠΉΠ»Π°? Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ пСрвая строка «ΡΡ‚ΠΎ линия А.» Π±Ρ‹Π»Π° Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Π½Π° «ΡΡ‚ΠΎ Π‘ΠΏΠ°Ρ€Ρ‚Π°.ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ послСднСС слово » Π° «Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ словом»Π‘ΠΏΠ°Ρ€Ρ‚Π°». И это ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ diff Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π½Π°ΠΌ. Допустим, Ρƒ мСня Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ вСрсии этого Ρ„Π°ΠΉΠ»Π°, ΠΎΠ΄Π½Π° называСтся file1.TXT ΠΈ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ»2.txt, Π·Π°Ρ‚Π΅ΠΌ я Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽ diff ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ всСго ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π²Π΅ вСрсии этого Ρ„Π°ΠΉΠ»Π°. Ну, Π² это простой случай, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΏΡ€Π°Π²Π΄ΠΎΠΉ. Но ΠΊΠΎΠ³Π΄Π° Ρƒ вас ΠΌΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΈ эти Ρ„Π°ΠΉΠ»Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ большиС, это Π³ΠΎΡ€Π°Π·Π΄ΠΎ эффСктивнСС ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько строк ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π° Π½Π΅ Π΄Π²Π΅ ΠΊΠΎΠΏΠΈΠΈ всСго этого.

надСюсь, Ρ‡Ρ‚ΠΎ это ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚!

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

Π­Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² основном Π²Π΅Ρ‰ΡŒ бСзопасности (ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ люди ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΅Π³ΠΎ для.)

ΠΏΠ°Ρ‚Ρ‡-это Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ нСсколькими Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ отличаСтся ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹ создаСтС ΠΏΠ°Ρ‚Ρ‡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΈ исправляСтС ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅Ρ‚Π΅ исправлСниС Π½Π° своСм Ρ‚Ρ€Π΅ΠΊΠ΅Ρ€Π΅ ошибок.

Ρ„Π°ΠΉΠ» ΠΏΠ°Ρ‚Ρ‡ прСдставляСт собой ΠΎΠ΄ΠΈΠ½ Π½Π°Π±ΠΎΡ€ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΊ любой отрасли, Π² любом порядкС. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ°Ρ‚Ρ‡, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ различия ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ нСсколькими Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. И ΠΏΠΎΠ·ΠΆΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ различия (ΠΏΠ°Ρ‚Ρ‡), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ измСнСния Π½Π° Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ для ΠΏΠ°Ρ‚Ρ‡Π° Π² Git. Если Ρƒ вас Π΅ΡΡ‚ΡŒ нСзафиксированныС измСнСния Π² вашСм Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, ΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ эти измСнСния ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ»ΠΈΡΡŒ Π³Π΄Π΅-Ρ‚ΠΎ Π΅Ρ‰Π΅, просто создайтС ΠΏΠ°Ρ‚Ρ‡ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ‚Ρ‡.

Если Ρƒ вас Π΅ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² вашСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ (untracked), Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΏΠ΅Ρ€Π΅Π΄ созданиСм ΠΏΠ°Ρ‚Ρ‡Π° (Π½Π΅ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ) ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ·ΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡:

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

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

Creating A Patch/ru

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄ FPC ΠΈΠ»ΠΈ Lazarus, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π»Π΅Π³ΠΊΠΎ ΡΠ»ΠΈΡ‚ΡŒ с исходным ΠΊΠΎΠ΄ΠΎΠΌ.

Contents

ВрСбования

Π’Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ вСрсии Lazarus (ΠΈΠ»ΠΈ FPC) trunk/для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Lazarus(ΠΈ FPC), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ SVN ΠΈΠ»ΠΈ Git.

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Если Π²Ρ‹ отправляСтС исправлСния, Π½Π΅ создавайтС ΠΈΡ… Π½Π° основС ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… вСрсиий Lazarus/FPC. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ вСрсия для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сильно отличаСтся ΠΎΡ‚ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ вСрсии, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ мноТСство ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ ΠΈ исправлСний.

ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹

Π’ инструкциях Π½ΠΈΠΆΠ΅ прСдполагаСтся, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΠ»ΠΈΡΡŒ (ΠΊΠΎΠΌΠ°Π½Π΄Π° cd) Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°. Π’ΠΎΡ‚ подробности:

Windows

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΠ·Π²Π»Π΅ΠΊΠ»ΠΈ Lazarus Π² C:\lazarus, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку (cmd.exe) ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Β«cd \lazarusΒ».

*nix systems

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΠ·Π²Π»Π΅ΠΊΠ»ΠΈ Lazarus Π²

/lazarus, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ Π½Π°Π±Π΅Ρ€ΠΈΡ‚Π΅ «cd

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°Ρ‚Ρ‡Π° с использованиСм SVN

Π­Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя всС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π²ΠΎ всСм Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ SVN.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρ‚ΡƒΠ΄Π° Π½Π΅ ΠΏΠΎΠΏΠ°Π» мусор, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€. :

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°Ρ‚Ρ‡Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Git

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ свой ΠΊΠΎΠ΄ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅!

Пока ваша Π²Π΅Ρ‚ΠΊΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡ΠΈ всСх Π²Π°ΡˆΠΈΡ… Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²:

Π­Ρ‚ΠΎ создаСт Π½Π°Π±ΠΎΡ€ исправлСний с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ «0001-CommitMsg.patch», «0002-CommitMsg.patch» ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π²Π΅Ρ‚ΠΊΠ° «master» ΠΏΡ€ΠΈ использовании ссылки git-svn слСдуСт Π·Π° Ρ‚Ρ€Π°Π½ΠΊΠΎΠΌ SVN ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Однако Π·Π΅Ρ€ΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² GitHub вмСсто этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π²Π΅Ρ‚ΠΊΡƒ «upstream». Π’ΠΎΠ³Π΄Π° Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ «master» Π½Π° «upstream» Π² Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ….

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΏΠ°Ρ‚Ρ‡Π°

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡. Π― Π±Ρ‹ посовСтовал Π΅Ρ‰Π΅ Ρ€Π°Π· ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„Π°ΠΉΠ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ выглядит Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ (Π±Π΅Π· Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ).

ИспользованиС Π²Π΅Ρ‚ΠΎΠΊ Git-рСпозитория Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ

МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Git распрСдСлСнным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Lazarus. По ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ JuhaManninen ΠΈ Alexander Klenin («Ask») Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² Git-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΎ ΠΈΠ· Π·Π΅Ρ€ΠΊΠ°Π»Π° Lazarus Π² GitHub. Код Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ ΠΈ ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ ΠΎΡ‚ Π²Π΅Ρ‚ΠΊΠΈ «upstream». Π­Ρ‚ΠΎ Π΅Ρ‰Π΅ Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ большС Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ отвСтвится ΠΎΡ‚ Ρ€Π΅ΠΏΠΎ ΠΈ создаст ΠΊΠΎΠ΄.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ этой ΠΌΠΎΠ΄Π΅Π»ΠΈ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊ области ΠΊΠΎΠΌΠΏΠ΅Ρ‚Π΅Π½Ρ†ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с Git. Если ΠΊΠΎΠ΄ находится Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ этой области, Π²Ρ‹ всС Ρ€Π°Π²Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Git, Π½ΠΎ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡ΠΈ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΡ… Π² bug tracker.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ‚Ρ‡Π°

Π’Ρ‹Π²ΠΎΠ΄ ΠΏΠ°Ρ‚Ρ‡Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΈΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ это Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ Ρ„Π°ΠΉΠ»Ρ‹ исходного ΠΊΠΎΠ΄Π°. ΠžΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для тСстирования, Π±Π΅Π· вСроятности ΠΈΡΠΏΠΎΡ€Ρ‚ΠΈΡ‚ΡŒ ваш исходник.

ΠŸΠ°Ρ‚Ρ‡, созданный с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ «svn diff»

Для ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ исправлСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку:

Если это Π½Π΅ сработаСт, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΠ°ΠΊΠ΅Ρ‚ ΠΏΡƒΡ‚ΠΈ вашСй срСды выполнСния отличаСтся ΠΎΡ‚ срСды выполнСния, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π»ΠΎ создано исправлСниС, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ patch’Ρƒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ путях:

Π›ΡŽΠ±ΠΎΠΉ инструмСнт с графичСским интСрфСйсом для diff’ΠΎΠ² Π² Windows Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ эти ΠΏΠ°Ρ‚Ρ‡ΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ TortoiseMerge.

ΠŸΠ°Ρ‚Ρ‡, созданный с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ «git format-patch»

Π‘Π°ΠΌ Git примСняСт ΠΏΠ°Ρ‚Ρ‡ Ρ‚Π°ΠΊ:

patch

«patch» Ρ‚Π°ΠΊΠΆΠ΅ доступСн для Windows, Π½ΠΎ Π΅ΡΡ‚ΡŒ инструмСнты ΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с графичСским интСрфСйсом.

TortoiseMerge

TortoiseMerge ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ исправлСниС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Git Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Он устанавливаСтся вмСстС с Tortoise SVN, Π½ΠΎ Π½Π΅ встроСн Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊ. Он Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ ΠΈΠ· мСню Β«ΠŸΡƒΡΠΊΒ».

ToDo: Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ большС инструмСнтов с графичСским интСрфСйсом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΠ°Ρ‚Ρ‡ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Git

УстранСниС Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ

НаконСц, ΠΏΠ°Ρ‚Ρ‡ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΠΎΠ½Π΅Ρ† строки Unix/Linux (LF), Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ваш Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ½Π΅Ρ† строки Windows (CR+LF) ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Π’Π°ΠΌ придСтся ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΏΠ°Ρ‚Ρ‡Π° ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ Π² Windows, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ»Π°Π³Π°Π΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» patch.exe Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚Π΅Π»Π΅Π½ ΠΊ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡŽ строки.

Π’ Windows patch.exe, поставляСмый с FPC/Lazarus, ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚Π΅Π»Π΅Π½; Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ ΠΏΠΎΠ²Π΅Π·Π΅Ρ‚ большС с patch.exe, поставляСмым Git:

. ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° svn patch, доступная с SVN 1.7.

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

РусскиС Π‘Π»ΠΎΠ³ΠΈ

1. Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ patch ΠΈ diff

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, создайтС patch ΠΈ diff

1. ΠžΠ±Ρ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Π΅ строки для создания Ρ„Π°ΠΉΠ»ΠΎΠ² исправлСний

* НСсколько прСдставлСнных Ρ€Π°Π½Π΅Π΅ (Π² Ρ‚ΠΎΠΌ числС):

n относится ΠΊ n ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌ ΠΈΠ· фиксации, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ sha1. Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

* ΠŸΠ°Ρ‚Ρ‡ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½:
* ВсС ΠΏΠ°Ρ‚Ρ‡ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ°ΠΌΠΈ:
2. ΠžΠ±Ρ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ создания Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ SourceTree

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ†Π΅Π»Π΅Π²ΡƒΡŽ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ, Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡

3. Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ sha1 id

, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ 2a2fb4539925bfa4a141fe492d9828d030f7c8a8 Sha1 id

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Sourcetree, это Ρ‚ΠΎΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ copy SHA-1 toclipboard, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ sha1 Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°:

Π’-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ patch ΠΈ diff

Бвязанная командная строка

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ввСсти ΠΏΠ°Ρ‚Ρ‡ / Π΄ΠΈΡ„Ρ„ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ:
Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ‚Ρ‡ / Ρ€Π°Π·Π½ΠΈΡ†Ρƒ:

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ SourceTree

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ SourceTree, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Aciotn-Apply patch Π²Π²Π΅Ρ€Ρ…Ρƒ экрана.

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡Π° ΠΈΠ»ΠΈ различия, Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ OK

Π§Π΅Ρ‚Ρ‹Ρ€Π΅, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°

Иногда Π²ΠΎ врСмя процСсса исправлСния ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹. Π’ случаС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° запись Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рисункС:

Π’ настоящСС врСмя Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚: 1. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку для автоматичСского Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊΠΎΠ΄Π° Π² исправлСниС, сохраняя ΠΏΡ€ΠΈ этом ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅:

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² см.git am Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ²

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

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

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