Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

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

Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Git

Π’ Git часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ складС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΆΠ΅ Π½Π°ΠΌ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ?
Π‘Π½Π°Ρ‡Π°Π»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ git pull для локального извлСчСния ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ git status, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» находится Π² ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π΅.
Π£Π·Π½Π°Π², ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ TortoiseGit для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°.
Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΏΡ€ΠΈ локальном Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ git status, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ нСзафиксированныС измСнСния

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ git pull, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Π‘Π½ΠΎΠ²Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ git status, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹

Π˜Π½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ рСкомСндация

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

Spring Cloud Micro-Service Framework Set (2) Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ поставщик услуг

Π¦Π΅Π½Ρ‚Ρ€ рСгистрации ΠΏΠΎ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Ρƒ услуг поставщика услуг ΠΏΠΎΡ…ΠΎΠΆ Π½Π° ПослС создания Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: Bootstrap.yml ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Eureka.client.serviceurl.defaultzone: адрСс Π·Π΄.

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

Java ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: синхронизированный ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π΅Π³ΠΎ

ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»: http://www.cnblogs.com/paddix/p/5367116.html Java ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: синхронизированный ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π΅Π³ΠΎ Java сСрия ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования: Java ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈ.

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

ВСсСнний ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ экспортируСт ΠΈ запускаСт ΠΏΠ°ΠΊΠ΅Ρ‚ jar

Π’ послСднСС врСмя Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° исполняСмых jar-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Maven. Если ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Spring, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ mvn assembly: assembly. 1. Π‘Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² pom.xml: 2. Π—Π°.

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

SLF4J Ошибка: Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Β«Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡΒ» (Java.lang.String) ‘

ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка ΠΏΡ€ΠΈ использовании @ SLF4J: Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Β«Info (Java.lang.String)Β», log Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. РСшСния: Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, я ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ ΠΏΠ»Π°.

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

Класс Python с Object Part1

1. Π‘Ρ‚Ρ€ΠΎΠΊΠ° экзСмпляра ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ прСдставлСна, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΠΎΠ»Π΅Π΅ Π·Π½Π°Ρ‡ΠΈΠΌΡ‹ΠΌ Если Π²Ρ‹ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ особый процСсс, общая ситуация ΠΌΡ‹ распСчатаСм экзСмпляр ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π²Ρ‹Ρ…ΠΎ.

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

ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ слияния Π² Git

БистСмы контроля вСрсий ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для управлСния дополнСниями, вносимыми Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ мноТСством распрСдСлСнных Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²). Иногда ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сразу нСсколько Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Если Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ A попытаСтся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ B, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Для прСдотвращСния ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π²Π΅Ρ‚ΠΊΠ°Ρ…. Основная Π·Π°Π΄Π°Ρ‡Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git merge Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² слиянии ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Π΅Ρ‚ΠΎΠΊ ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π»ΡŽΠ±Ρ‹Ρ… ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€Π°Π²ΠΎΠΊ.

ΠžΠ±Ρ‰ΠΈΠ΅ свСдСния ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°Ρ… слияния

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

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

Π’ΠΈΠΏΡ‹ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² слияния

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

Git ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² самом Π½Π°Ρ‡Π°Π»Π΅ слияния

Git ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π²ΠΎ врСмя слияния

Π‘Π±ΠΎΠΉ Π’ ΠŸΠ ΠžΠ¦Π•Π‘Π‘Π• слияния Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ локальной Π²Π΅Ρ‚ΠΊΠΎΠΉ ΠΈ Π²Π΅Ρ‚ΠΊΠΎΠΉ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ выполняСтся слияниС. Π­Ρ‚ΠΎ ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π΅ с ΠΊΠΎΠ΄ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Git сдСлаСт всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, Π½ΠΎ оставит ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΠ΅ участки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΈΡ… Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. ΠŸΡ€ΠΈ сбоС Π²ΠΎ врСмя выполнСния слияния выдаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ сообщСниС ΠΎΠ± ошибкС:

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° слияния

Π§Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°Ρ… слияния, Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ смодСлируСм ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ для дальнСйшСго изучСния ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Для запуска ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ интСрфСйс Git c Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½Π°Ρ Π²Ρ‹ΡˆΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ выполняСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия.

БАΠ₯! 💥 Π’ΠΎΠ·Π½ΠΈΠΊ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π₯ΠΎΡ€ΠΎΡˆΠΎ, Ρ‡Ρ‚ΠΎ систСма Git сообщила Π½Π°ΠΌ ΠΎΠ± этом.

ВыявлСниС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² слияния

Π’Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git status Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠ·-Π·Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠ»ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ„Π°ΠΉΠ» merge.text отобраТаСтся ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΠΌ этот Ρ„Π°ΠΉΠ» ΠΈ посмотрим, Ρ‡Ρ‚ΠΎ измСнилось.

Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² слияния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

Π‘Π°ΠΌΡ‹ΠΉ простой способ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ β€” ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ». ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» merge.txt Π² ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅. Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ просто ΡƒΠ΄Π°Π»ΠΈΠΌ всС Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°. ИзмСнСнноС содСрТимоС Ρ„Π°ΠΉΠ»Π° merge.txt Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Git ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½, ΠΈ создаст Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ слияния для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ слияния.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Git, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ слияния

ΠžΠ±Ρ‰ΠΈΠ΅ инструмСнты

Команда status часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΎ врСмя слияния Ρ„Π°ΠΉΠ»Ρ‹.

Команда diff ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ различия ΠΌΠ΅ΠΆΠ΄Ρƒ состояниями рСпозитория/Ρ„Π°ΠΉΠ»ΠΎΠ². Она ΠΏΠΎΠ»Π΅Π·Π½Π° для выявлСния ΠΈ прСдупрСТдСния ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² слияния.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для случаСв, ΠΊΠΎΠ³Π΄Π° Git ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² самом Π½Π°Ρ‡Π°Π»Π΅ слияния

Команда checkout ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Π°Ρ… ΠΈΠ»ΠΈ для измСнСния Π²Π΅Ρ‚ΠΎΠΊ.

Команда reset ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΈΠ»ΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ проиндСксированных Ρ„Π°ΠΉΠ»ΠΎΠ².

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для случаСв, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ Git Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π²ΠΎ врСмя слияния

ΠšΠΎΠΌΠ°Π½Π΄Ρƒ git reset ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ², Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… Π²ΠΎ врСмя выполнСния слияния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ состояниС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ².

РСзюмС

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

Π“ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅?

ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с этим ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠΌ руководством.

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

Git: совСты Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ – Ρ‡Π°ΡΡ‚ΡŒ 3

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

Π“Π»Π°Π²Π° 16. ΠžΡ‚ΠΊΡƒΠ΄Π° взялась Π²Π΅Ρ‚ΠΊΠ°?

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

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

Π§Ρ‚ΠΎ это Π΅Ρ‰Ρ‘ Π·Π° Π²Π΅Ρ‚ΠΊΠ° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ? ΠœΡ‹ вСдь Π½Π΅ создавали Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ. ΠœΠΎΠΆΠ΅Ρ‚ Π΅Ρ‘ создал ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ· сотрудников? НСт, Π½ΠΈΠΊΡ‚ΠΎ Π΅Ρ‘ Π½Π΅ создавал. Восстановим Ρ…Ρ€ΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΡŽ событий:

Π˜Ρ‚ΠΎΠ³ΠΎ, Ρ€Π°Π·Π½Ρ‹Π΅ люди нСзависимо Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° помСняли Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Β«2Β» – Π²ΠΎΡ‚ ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π²Π΅Ρ‚ΠΊΠ°. ΠšΡΡ‚Π°Ρ‚ΠΈ, эта Π²Π΅Ρ‚ΠΊΠ° сСйчас Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² нашСм локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. Π’ origin Π΅Ρ‘ ΠΏΠΎΠΊΠ° Π½Π΅Ρ‚, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Β«3Β» ΠΈ Β«4Β» ΠΌΡ‹ Π΄ΠΎ сих ΠΏΠΎΡ€ Π½Π΅ Π·Π°ΠΏΡƒΡˆΠΈΠ»ΠΈ.

Π§Ρ‚ΠΎ дальшС? ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ сдСлали fetch, Π° Π½Π΅ pull, Ρ‚ΠΎ скачанныС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π΅Ρ‰Ρ‘ Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡŒ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΈΡ… – для этого Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ merge. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ прСдставлСн Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅:

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π΄ΡˆΠ΅Π΅ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠΎ Π½Π°ΠΌ. ΠžΠ±Ρ€Π°Π·ΠΎΠ²Π°Π»ΡΡ автоматичСский merge-commit Β«8Β» – master ΠΈ head Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Π½Π΅Π³ΠΎ. Π’ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ появились измСнСния ΠΈΠ· ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Β«5Β», Β«6Β» ΠΈ Β«7Β», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ объСдинились с нашими измСнСниями ΠΈΠ· ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Β«3Β» ΠΈ Β«4Β». origin/master ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Β«7Β», ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ послСдниС наши ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ»ΠΈ Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. А origin/master ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС общСния нашСго рСпозитория с origin.

НаконСц, Π΄Π΅Π»Π°Π΅ΠΌ push, ΠΈ Π²ΠΎΡ‚ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ origin/master Ρ‚ΠΎΠΆΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Β«8Β», вСдь:

НС ΠΏΠΎΠ΄Π΄Π°Π²Π°ΠΉΡ‚Π΅ΡΡŒ ΠΌΠ°Π»ΠΎΠ΄ΡƒΡˆΠ½ΠΎΠΌΡƒ ТСланию ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ эти объяснСния. Π’ Π½ΠΈΡ… Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ слоТного, Π½ΡƒΠΆΠ½Π° лишь Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ΡΡŒ ΠΏΠΎ шагам Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅, ΠΏΠΎΡ‡Π΅ΠΌΡƒ всС Ρ‚Π°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π“Π»Π°Π²Π° 17. ΠŸΠΎΡ‡Π΅ΠΌΡƒ push Π²Ρ‹Π΄Π°Ρ‘Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ?

Π’Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΡ‚ΠΎΠ»ΠΊΠ½Π΅Ρ‚Π΅ΡΡŒ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Git Π²Ρ‹Π΄Π°Ρ‘Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ push. Π’ Ρ‡Ρ‘ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°? ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ наши ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹? Push ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ отправляСмого Π² origin ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Git смоТСт Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊΠ°. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

Π—Π΄Π΅ΡΡŒ слСва ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² вашСм локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π° справа – ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ (origin).

Π₯ронология этих ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ наша ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΏΡƒΡˆΠΈΡ‚ΡŒ Β«3Β» ΠΈ Β«4Β» Π² origin Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ ошибкой. Git откаТСтся ΠΏΡ€ΠΈΡΡ‚Ρ‹ΠΊΠΎΠ²Π°Ρ‚ΡŒ наши ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΊ послСднСму ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ Β«5Β» Π² origin, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² local ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊΠΎΠΌ для ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Β«3Β» являСтся ΠΊΠΎΠΌΠΌΠΈΡ‚ Β«2Β» – Π° вовсС Π½Π΅ Β«5Β», ΠΊΠ°ΠΊ Π² origin! Для Git Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊ Π±Ρ‹Π» Ρ‚ΠΎΡ‚ ΠΆΠ΅.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π»Π΅Π³ΠΊΠΎ. ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ push, ΠΌΡ‹ сдСлаСм pull (Π·Π°Π±ΠΈΡ€Π°Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ Β«5Β» сСбС). Π’ΡƒΡ‚ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ: Β«Π‘Π΅ΠΊΡƒΠ½Π΄Ρƒ! А ΠΏΠΎΡ‡Π΅ΠΌΡƒ это Π·Π°Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ Β«5Β» Git ΠΌΠΎΠΆΠ΅Ρ‚, Π° ΠΏΠΎΡΠ»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Β«3Β» ΠΈ Β«4Β» ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚? Π’Ρ€ΠΎΠ΄Π΅ ΠΆΠ΅ ситуация симмСтричная Π² ΠΎΠ±Π΅ стороны». ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ вопрос! А ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° Π½Π΅Π³ΠΎ простой. Если Π±Ρ‹ Git ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Β«3Β» ΠΈ Β«4Β» Π² Ρ‚Π°ΠΊΠΎΠΉ ситуации, Ρ‚ΠΎ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ merge Π½Π° сторонС origin – Π° ΠΊΡ‚ΠΎ Ρ‚Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹? НСкому. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Git заставляСт вас сначала Π·Π°Π±Ρ€Π°Ρ‚ΡŒ свСТиС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ сСбС, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ merge Π½Π° своСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ (Ссли Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹, Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΈΡ…), Π° ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π² origin ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ push. ΠŸΡ€ΠΈ этом, Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Π² origin ΡƒΠΆΠ΅ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ локальная история, послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Π·Π°Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ Β«5Β» ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ pull.

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

Π—Π΄Π΅ΡΡŒ Ρƒ Β«3Β» ΠΈ Β«5Β» ΠΏΡ€Π΅Π΄ΠΎΠΊ Β«2Β», ΠΊΠ°ΠΊ ΠΈ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅. А Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Β«6Β» – это ΡƒΠΆΠ΅ Π΄Π°Π²Π½ΠΎ извСстный Π½Π°ΠΌ merge-commit.

Π’ Ρ‚Π°ΠΊΠΎΠΌ состоянии Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡˆΠΈΡ‚ΡŒ. ΠŸΡƒΡΡ‚ΡŒ Ρ‚ΡƒΡ‚ ΠΈ появилось Ρ€Π°Π·Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ истории, Π½ΠΎ ΠΎΠ±Π΅ Π²Π΅Ρ‚ΠΊΠΈ ΠΏΡ€ΠΈ ΠΌΠ΅Ρ€ΠΆΠ΅ объСдинились. А Π·Π½Π°Ρ‡ΠΈΡ‚ Π³ΠΎΠ»ΠΎΠ²Π° Ρƒ Π²Π΅Ρ‚ΠΊΠΈ снова ΠΎΠ΄Π½Π°. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ push. ПослС этого Π² origin ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ Ρ‚ΠΎΡ‡Π½ΠΎ Β«ΠΏΠ΅Ρ‚Π΅Π»ΡŒΠΊΠΎΠΉΒ».

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° push выдаст Π²Π°ΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π²Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΈ Ρ‡Ρ‚ΠΎ с этим Π΄Π΅Π»Π°Ρ‚ΡŒ.

Π“Π»Π°Π²Π° 18. Rebase

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ‹ сдСлали нСсколько Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ pull Π·Π°Π±Ρ€Π°Π»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΡ… сотрудников ΠΈΠ· ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ рСпозитория. Π£ нас Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π»Π°ΡΡŒ ΠΊΠ°ΠΊ Π±Ρ‹ Β«Π²Π΅Ρ‚ΠΊΠ°Β», которая ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ объСдинилась с основной. ПослС push это Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ€Π°Π·Π΄Π²ΠΎΠ΅Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ ΠΏΠΎΠΏΠ°Π»ΠΎ Π² origin, ΠΎΡ‚ΠΊΡƒΠ΄Π° Π΅Π³ΠΎ ΡΠΊΠ°Ρ‡Π°ΡŽΡ‚ сотрудники ΠΈ увидят Π² своСй истории. Часто Ρ‚Π°ΠΊΠΈΠ΅ Β«ΠΏΠ΅Ρ‚Π»ΠΈΒ» ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ вмСсто красивой Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ истории получаСтся ΠΊΡƒΡ‡Π° ΠΏΠ΅Ρ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΡΡŽΡ‚ просмотр.

Git ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ. Π’Ρ‹ΡˆΠ΅ ΠΌΡ‹ Π΄Π΅Π»Π°Π»ΠΈ fetch+merge. ΠŸΠ΅Ρ€Π²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π±ΠΈΡ€Π°Π΅Ρ‚ свСТиС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, вторая ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΈΡ… с нашими Π½Π΅Π·Π°ΠΏΡƒΡˆΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ (Ссли ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ) ΠΈ создаёт merge-commit с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ объСдинСния.

Π’Π°ΠΊ Π²ΠΎΡ‚, оказываСтся ΠΌΠΎΠΆΠ½ΠΎ вмСсто fetch+merge Π΄Π΅Π»Π°Ρ‚ΡŒ fetch+rebase. Π§Ρ‚ΠΎ Π·Π° rebase ΠΈ Ρ‡Π΅ΠΌ ΠΎΠ½ отличаСтся ΠΎΡ‚ merge? Вспомним Π΅Ρ‰Ρ‘ Ρ€Π°Π·, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ» merge Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

Rebase дСйствуСт ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ – ΠΎΠ½ отсоСдиняСт Π²Π°ΡˆΡƒ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ Π½Π΅Π·Π°ΠΏΡƒΡˆΠ΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΎΡ‚ своСго ΠΏΡ€Π΅Π΄ΠΊΠ°. Напомним, это Π±Ρ‹Π»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Β«3Β» ΠΈ Β«4Β». Они ΠΎΡ‚ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ ΠΎΡ‚ своСго ΠΏΡ€Π΅Π΄ΠΊΠ° Β«2Β» ΠΈ rebase ставит ΠΈΡ… «свСрху» Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ скачанный ΠΊΠΎΠΌΠΌΠΈΡ‚ Β«5Β». Π’ΠΎ Π΅ΡΡ‚ΡŒ, Β«3Β» ΠΈ Β«4Β» Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΡ†Π΅ΠΏΠ»Π΅Π½Ρ‹ свСрху ΠΊ Β«5Β» (Π° ΠΌΠ΅Ρ€ΠΆ-ΠΊΠΎΠΌΠΌΠΈΡ‚ Β«6Β» Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ появится). Π˜Ρ‚ΠΎΠ³ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠΌ:

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

Никакой ΠΏΠ΅Ρ‚Π»ΠΈ большС Π½Π΅Ρ‚, история линСйная ΠΈ красивая! Π”Π° здравствуСт rebase! Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ скачивании ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈΠ· origin Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ ΠΈΡ… со своими Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ rebase, Π° Π½Π΅ merge.

Π₯ΠΎΡ€ΠΎΡˆΠΎ, Π° Ссли Ρ€Π΅Ρ‡ΡŒ Π½Π΅ ΠΎ ΠΏΠ°Ρ€Π΅-Ρ‚Ρ€ΠΎΠΉΠΊΠ΅ Π²Π°ΡˆΠΈΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π° ΠΎ большой Π²Π΅Ρ‚ΠΊΠ΅ с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ Ρ„ΠΈΡ‡ΠΈ. Когда настанСт врСмя Π²Π»ΠΈΡ‚ΡŒ эту Ρ„ΠΈΡ‡Ρƒ Π² Π³Π»Π°Π²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, ΠΊΠ°ΠΊ это Π»ΡƒΡ‡ΡˆΠ΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ – Ρ‡Π΅Ρ€Π΅Π· rebase ΠΈΠ»ΠΈ merge? Π£ ΠΎΠ±ΠΎΠΈΡ… способов Π΅ΡΡ‚ΡŒ прСимущСства:

Π“Π»Π°Π²Π° 19. Π­ΠΏΠΈΠ»ΠΎΠ³

ΠœΡ‹ с Π²Π°ΠΌΠΈ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ Π² мноТСствС ΠΊΠΎΠΌΠ°Π½Π΄ Git для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСпозиториями:

ΠšΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ – Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Π½ΠΎ Ρƒ Π½Π΅Π³ΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ аскСтичный интСрфСйс. Если Π²Ρ‹ Π½Π΅ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² консоли, Ρ‚ΠΎ скорСС всСго Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π² Π½Π΅ΠΌ Π½Π΅ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½ΠΎ.

SourceTree β€” графичСский ΠΊΠ»ΠΈΠ΅Π½Ρ‚ с довольно простым интСрфСйсом. Π•ΡΡ‚ΡŒ вСрсии для Π½Π°ΡˆΠΈΡ… основных ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ: Win ΠΈ Mac. Однако, сотрудники часто ΠΆΠ°Π»ΡƒΡŽΡ‚ΡΡ Π½Π° Π΅Π³ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ глюки.

TortoiseGit β€” Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ графичСский ΠΊΠ»ΠΈΠ΅Π½Ρ‚. Π•ΡΡ‚ΡŒ вСрсия для Win, для Mac`Π° Π½Π΅Ρ‚. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ нСсколько Π½Π΅ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΉ, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ нравится. Π–Π°Π»ΠΎΠ± Π½Π° глюки ΠΈ Ρ‚ΠΎΡ€ΠΌΠΎΠ·Π° сущСствСнно мСньшС, Ρ‡Π΅ΠΌ Π² случаС с SourceTree.

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈ SourceTree, ΠΈ TortoiseGit Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ Git Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π’Π½ΡƒΡ‚Ρ€ΠΈ сСбя ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Git. Когда Π²Ρ‹ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚Π΅ Π½Π° красивыС ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Git с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ…ΠΈΡ‚Ρ€Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π·ΠΎΠ²Π° снова ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π² красивом Π²ΠΈΠ΄Π΅. ИспользованиС всСми ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ консольного Git ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ всС ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ со стандартной Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ структурой Git-Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π½Π° вашСм Тёстком дискС. А Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹: ΠΎΠ΄Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ – Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ.

Π˜Ρ‚Π°ΠΊ, Π²Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ основныС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ систСмой контроля вСрсий Git. А Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ основныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. НавСрняка ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ ΡΡ‚Π°Ρ‚ΡŒΠΈ Π²Π°ΠΌ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π»ΠΎ описания Β«ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒΒ». Однако, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Git-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ это выглядит ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, поэтому Π½Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ описаниС Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΎΡ‚ описания интСрфСйса. Настало врСмя Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ интСрфСйс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

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

Git push, git pull, git fetch β€” Π² Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π°? Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° ΠΏΠΎ git-ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

Git β€” это распрСдСлСнная систСма контроля вСрсий. Она позволяСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΠΎ всСх измСнСниях ΠΊΠΎΠ΄Π° Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΠ°ΠΏΠΊΠ°Ρ… Π½Π° ТСстком дискС ΠΈ обСспСчиваСт ΡƒΠ΄ΠΎΠ±Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Git push

Команда git push Π² Ρ…ΠΎΠ΄Π΅ выполнСния пСрСносит всС измСнСния, внСсСнныС ΡŽΠ·Π΅Ρ€ΠΎΠΌ, Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ GitHub):

ВынуТдСнная ΠΊΠΎΠΌΠ°Π½Π΄Π° push ΠΏΡ€ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²:

Git pull

Команда git pull ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° скачиваниС Π΄Π°Π½Π½Ρ‹Ρ… с сСрвСра. ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСпозитория, Π½ΠΎ здСсь ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π΅ всС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΠΎΠ²Ρ‹Π΅.

По сути, git pull β€” это сочСтаниС ΠΊΠΎΠΌΠ°Π½Π΄ git fetch (Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, ссылки, Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ) ΠΈ git merge (ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ нСсколько ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½ ΠΎΠ±Ρ‰ΠΈΠΉ).

Git pull для ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ

Git fetch

Бинхронизация с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git fetch origin

Π­Ρ‚ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ Π²Π΅Ρ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹:

Git merge

Команда git merge связываСт ряд ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅. Π’ свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ git создаСт ΠΊΠΎΠΌΠΌΠΈΡ‚ слияния, Π³Π΄Π΅ ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ измСнСния ΠΎΠ±Π΅ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ.

ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Π² слиянии

По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ слияния, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git add : Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹ ΠΏΡ€ΠΎΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π°. Π’Π°ΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ допустимы Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² трСхслойном слиянии ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΈ ускорСнном.

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ git

Условно говоря, git pull – это ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Π²ΡƒΡ… ΠΊΠΎΠΌΠ°Π½Π΄: git fetch (ΠΏΡ€ΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΡ‚ сСрвСра) ΠΈ git merge (слияниС).

Π’ свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, git push пСрСносит Π²Π΅Ρ‚Π²ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΡƒΡŽ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ, Π° git merge β€” ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ измСнСния ΠΈΠ· Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ.

Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° ΠΏΠΎ git-ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ

git init β€” созданиС Π½ΠΎΠ²Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²;

git clone β€” ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория;

git rm β€” ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°;

git log β€” просмотр истории ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²;

git branch
β€” созданиС Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ;

git branch –d
β€” ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ;

git merge
β€” слияниС Π²Π΅Ρ‚ΠΎΠΊ;

git push
β€” ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π²Π΅Ρ‚ΠΊΠΈ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр;

git push :
β€” ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ сСрвСрС;

git tag β€” просмотр ΠΌΠ΅Ρ‚ΠΎΠΊ;

git push β€” ΠΎΠ±ΠΌΠ΅Π½ ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ;

git remote β€” ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²;

git pull
β€” ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория ΠΈ слияниС с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ;

git push
β€” ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр.

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

Π‘Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Merge ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Π² Git

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ читатСлям «Π₯Π°Π±Ρ€Π°Ρ…Π°Π±Ρ€Π°» ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ «Painless Merge Conflict Resolution in Git»
ΠΈΠ· Π±Π»ΠΎΠ³Π° blog.wuwon.id.au.

Π’ ΠΌΠΎΠ΅ΠΉ повсСднСвной Ρ€Π°Π±ΠΎΡ‚Π΅, часто приходится ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ со мноТСством git Π²Π΅Ρ‚Π²Π΅ΠΉ (branch). Π­Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π΅Ρ‚Π²ΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Ρ€Π΅Π»ΠΈΠ·ΠΎΠ², Π²Π΅Ρ‚Π²ΠΈ с ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ API находящиСся Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΈΠ»ΠΈ Π²Π΅Ρ‚Π²ΠΈ с ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ свойствами. Π›Ρ‘Π³ΠΊΠΎΡΡ‚ΡŒ создания Π²Π΅Ρ‚Π²Π΅ΠΉ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ Git Ρ‚Π°ΠΊ ΠΈ соблазняСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ всС большС ΠΈ большС Π²Π΅Ρ‚Π²Π΅ΠΉ, ΠΈ ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ брСмя ΠΎΡ‚ большого количСства Π²Π΅Ρ‚Π²Π΅ΠΉ становится ΠΎΡ‡Π΅Π½ΡŒ ΠΎΡ‰ΡƒΡ‚ΠΈΠΌΡ‹ΠΌ, ΠΊΠΎΠ³Π΄Π° приходится всС эти Π²Π΅Ρ‚Π²ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ пСриодичСски Π΄Π΅Π»Π°Ρ‚ΡŒ слияния (merge) с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ вСтвями.

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

Π£Π΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π½ΠΎ я ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ доступныС инструмСнты ΠΈ интСрфСйсы ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для выполнСния слияний, Π½Π΅ достаточно Ρ…ΠΎΡ€ΠΎΡˆΠΎ оснащСны для эффСктивного выполнСния этого процСсса. Часто программист просто надССтся Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° git merge сдСлаСт Π·Π° Π½Π΅Π³ΠΎ всю Ρ€Π°Π±ΠΎΡ‚Ρƒ. Но ΠΊΠΎΠ³Π΄Π° всС-Ρ‚Π°ΠΊΠΈ происходит ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚, Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ стратСгия слияния Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π±Π΅Π³Π»ΠΎΠΌ просмотрС ΠΊΠΎΠ΄Π° Π²ΠΎΠΊΡ€ΡƒΠ³ строки ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°, ΠΈ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎΠΌ ΡƒΠ³Π°Π΄Ρ‹Π²Π°Π½ΠΈΠΈ Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ кусок ΠΊΠΎΠ΄Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅ΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ.

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ я надСюсь ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ процСсс Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пошагово Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΡ‚ΠΏΠ°Π΄Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ Ρ‚Π°ΠΌ ΡƒΠ³Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ.

Π“ΠΎΠ»ΡƒΠ±Ρ‹Π΅ Π ΠΎΠ·Ρ‹ (Roses are Blue)

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Ρ‡Ρ‚ΠΎ вашСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΏΠΎΡ€ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ поэмы Π² ΠΎΡ‚Π²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌ для этих Ρ†Π΅Π»Π΅ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. (Какой ΠΊΠΎΡˆΠΌΠ°Ρ€!) А Π²Π°ΠΌ Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ»ΠΈ самоС Π³Π»Π°Π²Π½ΠΎΠ΅ β€” Π΄Π΅Π»Π°Ρ‚ΡŒ слияния послСдних фиксов ΠΈΠ· Π²Π΅Ρ‚ΠΊΠΈ master Π² Π²Π΅Ρ‚ΠΊΡƒ beta. Π˜Ρ‚Π°ΠΊ, Π²Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ΡΡŒ Π² Π²Π΅Ρ‚ΠΊΡƒ beta ΠΈ выполняСтС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Ого, это ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π’Ρ‹ Ρ€Π΅ΡˆΠ°Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ссылаСтся git:

Π—Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ! Π’Π΅ΡΡŒ Ρ„Π°ΠΉΠ», ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Listing 1, находится Π² ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π½ΠΎΠΌ состоянии. Какой ΠΆΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ„Π°ΠΉΠ»Π° являСтся Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ? Оба Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° выглядят ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. Π’Π΅Ρ€Ρ…Π½ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ написан Π² Ρ…Π°ΠΊΠ΅Ρ€-стилС с элСмСнтами Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² стилС HTML ΠΈ с использованиСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строчных Π±ΡƒΠΊΠ². НиТний Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ выглядит Π±ΠΎΠ»Π΅Π΅ Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎ, с использованиСм ΠΏΡƒΠ½ΠΊΡ‚ΡƒΠ°Ρ†ΠΈΠΈ ΠΈ Π·Π°Π³Π»Π°Π²Π½Ρ‹Ρ… Π±ΡƒΠΊΠ².

Если Π±Ρ‹ это Π±Ρ‹Π» ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π²Ρ‹ Π±Ρ‹ ΠΌΠΎΠ³Π»ΠΈ просто Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈ ΠΏΠΎΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒ с этим слияниСм. Но ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ это Π½Π΅ ваша поэма, Π²Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Ρ‡ΠΈΡ‚Π°Π»ΠΈ эту поэму Ρ€Π°Π½ΡŒΡˆΠ΅, Π½Π΅ Π±Ρ‹Π»ΠΈ отвСтствСнны Π·Π° написаниС ΠΈΠ»ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈ Π²Ρ‹ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ Π² случаС Π½Π΅ Π²Π΅Ρ€Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ‡ΡŒΡ-Ρ‚ΠΎ тяТёлая Ρ€Π°Π±ΠΎΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠ°Π½ΡƒΡ‚ΡŒ Π² Π½Π΅Π±Ρ‹Ρ‚ΠΈΠ΅. Однако вас всё ΠΆΠ΅ Π½Π°Π·Π½Π°Ρ‡ΠΈΠ»ΠΈ отвСтствСнным ΠΏΠΎ слиянию этих Π²Π΅Ρ‚ΠΎΠΊ. Π§Ρ‚ΠΎ ΠΆΠ΅ Π²Π°ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ?

Назад ΠΊ Π‘Π°Π·Π΅ (Back to Base)

Π₯ΠΈΡ‚Ρ€ΠΎΡΡ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Listing 1 Π½Π΅ Π΄Π°Ρ‘Ρ‚ Π²Π°ΠΌ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ для ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ слияния. На самом Π΄Π΅Π»Π΅, Π² процСссС слияния ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… части ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (состояния), Ρ‚Ρ€ΠΈ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… просто Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°. Π’ случаС Listing 1, Git прСдоставил Π²Π°ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° состояния.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ эти Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ состояния:

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

Бостояния (B) ΠΈ Β© относятся ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ полоТСниям (head) Π²Π΅Ρ‚ΠΎΠΊ master ΠΈ beta соотвСтствСнно, эти Π΄Π²Π° состояния ΠΊΠ°ΠΊ Ρ€Π°Π· Ρ‚Π°ΠΊΠΈ ΠΈ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π² Listing 1. БостояниС (D) это Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ слияния, Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ/ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ (Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Git автоматичСски Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ состояниС (D)). БостояниС (А) Π½Π° самом Π²Π΅Ρ€Ρ…Ρƒ, прСдставляСт собой Π±Π°Π·Ρƒ (основу) слияния Π²Π΅Ρ‚ΠΎΠΊ master ΠΈ beta. Π‘Π°Π·Π° слияния (A) это послСдний ΠΎΠ±Ρ‰ΠΈΠΉ ΠΏΡ€Π΅Π΄ΠΎΠΊ Π²Π΅Ρ‚ΠΎΠΊ master ΠΈ beta, ΠΈ ΠΏΠΎΠΊΠ° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Ρ‡Ρ‚ΠΎ это Π±Π°Π·Π° слияния ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Π°. Как ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΠΏΠΎΠ·ΠΆΠ΅ состояниС (A) ΠΈΠ³Ρ€Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ². На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ я Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚Ρ€Π°Π·ΠΈΠ» Π΄Π΅Π»ΡŒΡ‚Ρ‹ 1 ΠΈ 2, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ измСнСния ΠΌΠ΅ΠΆΠ΄Ρƒ состояниями (A)-(B), ΠΈ (A)-Β© соотвСтствСнно. Зная состояния (A), (B) ΠΈ Β© Π΄Π΅Π»ΡŒΡ‚Ρ‹ 1 ΠΈ 2 ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ (вычислСны). ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»ΡŒΡ‚Ρ‹ 1 ΠΈ 2 ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Но для Π½Π°ΡˆΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ Π±ΡƒΠ΄Π΅ΠΌ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ всС Π΄Π΅Π»ΡŒΡ‚Ρ‹ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Ρ‹.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ состояниС (D), Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ ΠΆΠ΅ опСрация слияния пытаСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. БостояниС (D) Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой сочСтаниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсённых Π² Π²Π΅Ρ‚ΠΊΡƒ master ΠΈ beta соотвСтствСнно. Π’.Π΅. Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами сочСтаниС Π΄Π΅Π»ΡŒΡ‚ 1 ΠΈ 2. ИдСя проста Π½Π° повСрхности ΠΈ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° со стороны Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ особых случаСв ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΡŒΡ‚Ρ‹ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‚ наслаиваСмыС (ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ) части Ρ„Π°ΠΉΠ»Π°. Π’ Ρ‚Π°ΠΊΠΎΠΉ ситуации Π²Π°ΠΌ трСбуСтся ΠΏΠΎΠΌΠΎΡ‡ΡŒ машинС ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ (D), ΠΏΡƒΡ‚Ρ‘ΠΌ сравнСния Π΄Π΅Π»ΡŒΡ‚ 1 ΠΈ 2.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠžΡ‚Π»ΠΈΡ‡ΠΈΠΉ (Identifying the Differences)

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ измСнСния внСсённыС Π² ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ выглядит Π±Π°Π·Π° слияния, состояниС (A). Π‘Π°ΠΌΡ‹ΠΉ простой ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π±Π°Π·Π΅ слияния, это установка ΠΎΠΏΡ†ΠΈΠΈ merge.conflictstyle Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ diff3

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ посСрСдинС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ являСтся Π±Π°Π·ΠΎΠΉ слияния ΠΈΠ»ΠΈ состояниС (A). ИзмСнСния Π²ΠΈΠ΄Π½Ρ‹ ΠΊΠ°ΠΊ Π½Π° Π»Π°Π΄ΠΎΠ½ΠΈ: Π² Π²Π΅Ρ‚ΠΊΠ΅ beta (HEAD) чСловСчСскиС названия Ρ†Π²Π΅Ρ‚ΠΎΠ² Π±Ρ‹Π»ΠΈ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Π½Π° HTML ΠΊΠΎΠ΄Ρ‹, Π° Π² Π²Π΅Ρ‚ΠΊΡƒ master Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΊΠ°ΠΏΠΈΡ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ ΠΏΡƒΠ½ΠΊΡ‚ΡƒΠ°Ρ†ΠΈΡŽ. ΠžΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° этих знаниях, ΠΌΡ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π½Π°Π΅ΠΌ Ρ‡Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² сСбя ΠΊΠ°ΠΏΠΈΡ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠΏΡƒΠ½ΠΊΡ‚ΡƒΠ°Ρ†ΠΈΡŽ ΠΈ HTML ΠΊΠΎΠ΄Ρ‹ Ρ†Π²Π΅Ρ‚ΠΎΠ².

Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ Π½Π° этом ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ достигнут. Но Π΅ΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΡˆΠ΅.

ГрафичСскоС БлияниС (GUI Merging)

Π₯отя ΠΈ простоС тСкстовоС прСдставлСниС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° слияния Π΄Π΅Π»Π°Π΅Ρ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² простых случаях, Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π΄ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ слоТными. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ графичСскиС инструмСнты. Мой Π²Ρ‹Π±ΠΎΡ€ ΠΏΠ°Π» Π½Π° простой инструмСнт написанный Π½Π° Python ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ meld, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄ΠΎΠΉΡ‚ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ графичСский инструмСнт, способный ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ слияниС Π² Ρ‚Ρ€Ρ‘Ρ…-ΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅.

Для использования графичСского инструмСнта (ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн), послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ git поТаловался Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

ΠŸΠΎΡΠ»Π΅Π΄ΡƒΠ΅Ρ‚ вопрос ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ для слияния Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, просто Π²Π²Π΅Π΄ΠΈΡ‚Π΅ meld ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ (подразумСваСтся опция merge.conflictstyle Π½Π΅ Π±Ρ‹Π»Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π°):

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

НСсмотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ информация прСдставлСна Π±ΠΎΠΊ ΠΎ Π±ΠΎΠΊ, ΠΎΠ½Π° Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π² Listing 2. ΠœΡ‹ Π½Π΅ Π²ΠΈΠ΄ΠΈΠΌ здСсь Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° Π±Π°Π·Ρ‹ слияния (состояния (A)), Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ это Ρ„Π°ΠΉΠ» roses.txt.LOCAL.2760.txt Π² Π»Π΅Π²ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ ΠΈ Ρ„Π°ΠΉΠ» roses.txt.REMOTE.2760.txt Π² ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ ΠΈ Ρ„Π°ΠΉΠ» посСрСдинС это Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠ΅ слияниС. Π’.Π΅. ΠΏΠΎ сути Π½Π°ΠΌ прСдставили состояния (B), Β© ΠΈ Π½Π΅ΡΠΎΡΡ‚ΠΎΡΠ²ΡˆΠ΅Π΅ΡΡ состояниС (D), Π½ΠΎ состояниС (A) отсутствуСт.

ΠŸΡ€Π°Π²Π΄Π° отсутствуСт? Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ, Π² старом Π΄ΠΎΠ±Ρ€ΠΎΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅:

Π’ΠΈΠ΄ΠΈΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠΉ нас Ρ„Π°ΠΉΠ»: roses.txt.BASE.2760.txt. Π­Ρ‚ΠΎ ΠΈ Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» Π±Π°Π·Ρ‹ слияния. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ всСго лишь Π½Π°ΠΉΡ‚ΠΈ измСнСния внСсённыС Π² Π²Π΅Ρ‚ΠΊΠΈ master ΠΈ beta, ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Π±Π°Π·Π΅. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это двумя ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ meld:

(ΠšΡ‚ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ, ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ порядок Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ» Π±Π°Π·Ρ‹ находился Π² Π»Π΅Π²ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Π² ΠΎΠ±ΠΎΠΈΡ… случаях, Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ порядок сохраняСт ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Ρ‚Ρ€Ρ‘Ρ…-ΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±Π°Π·Π° остаётся ΠΏΠΎ сСрСдинС.) Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния β€” Π΄Π²Π° ΠΎΠΊΠ½Π° ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

ΠŸΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° справа Π½Π°Π»Π΅Π²ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, становится ясно ΠΊΠ°ΠΊ дСнь, ΠΊΠ°ΠΊΠΈΠ΅ измСнСния ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅. Π’Π°ΠΊ ΠΊΠ°ΠΊ meld любСзно подсвСтил всС измСнСния, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ практичСски Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΄Π°ΠΆΠ΅ ΠΌΠ΅Π»ΠΊΠΎ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΊΠΈ (ΠšΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠ³Π° «of» ΠΏΡ€ΠΈ просмотрС тСкстового прСдставлСния Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° Listing 1 ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Listing 2?)

Π’ΠΎΠΎΡ€ΡƒΠΆΠΈΠ²ΡˆΠΈΡΡŒ этими знаниями, ΠΌΡ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅ΠΌ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Ρ‚Ρ€Ρ‘Ρ…-ΠΊΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½ΠΎΠΌΡƒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ измСнСния. Моя стратСгия Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ слияния это Π²Π·ΡΡ‚ΡŒ вСсь тСкст ΠΈΠ· Π²Π΅Ρ‚ΠΊΠΈ с Π±ΠΎΠ»Π΅Π΅ вСсомыми измСнСниями (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС master/REMOTE Ρ‚.Π΅. beta), ΠΈ ΠΏΠΎΠ²Π΅Ρ€Ρ… Π½Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΊΠΈ, Ρ‚.Π΅. Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния сдСланныС Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ (master). Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ:

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ всё вмСстС (All Together Now)

И Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π² ваш

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π· Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git mergetool для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°, ΠΎΡ‚ΠΊΡ€ΠΎΡŽΡ‚ΡΡ всС Ρ‚Ρ€ΠΈ ΠΎΠΊΠ½Π°:

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

Бонус ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°

Для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ tmux ΠΈ n?vim, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ скрипт gitmerge:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Ссли Π²Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ эту ΠΎΠΏΡ†ΠΈΡŽ Π² своСм

/.tmux.conf, Ρ‚ΠΎ Π²Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Π² Π΄Π²ΡƒΡ… послСдних строках «$sn:1» Π½Π° «$sn:0»

БоотвСтствСнно Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π² ваш

Π’ΠΎΡ€ΠΊΡ„Π»ΠΎΡƒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

Пока ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌ вопрос (Was the merge successful [y/n]?) ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡΡ Π² сСссию ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ gitmerge (сочСтаниС TMUXPREFIX + s):

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

Π’ΠΈΠ΄ΠΈΠΌ нашС Ρ‚Ρ€Ρ‘Ρ…-ΠΎΠΊΠΎΠ½Π½ΠΎΠ΅ прСдставлСниС Π½Π° ΠΎΠ΄Π½ΠΎΠΌ экранС. Π¦ΠΈΡ„Ρ€Π°ΠΌΠΈ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Ρ‹ сплиты (panes) tmux’a, Π±ΡƒΠΊΠ²Π°ΠΌΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ состояния. Π”Π΅Π»Π°Π΅ΠΌ ΠΏΡ€Π°Π²ΠΊΠΈ для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°, Ρ‚.Π΅. Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ состояниС (D) ΠΈ сохраняСм. ПослС этого возвращаСмся ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ сСссию tmux’a ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅ΠΌ Ρ‡Ρ‚ΠΎ слияниС ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

git rebase master

Π›ΠΈΡ‡Π½ΠΎ я ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽ ΠΈ ΡΡ‡ΠΈΡ‚Π°ΡŽ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ сначала rebase master Π² Π²Π΅Ρ‚ΠΊΠ΅ beta, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС этого ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Π² master ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ git merge beta. Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ Π²ΠΎΡ€ΠΊΡ„Π»ΠΎΡƒ Π½Π΅ сильно отличаСтся, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Ρ€Ρ‘Ρ…-ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°.

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡΡ Π² сСссию gitmerge

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ состояния (B) ΠΈ Β© помСнялись мСстами:

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ push ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ всСм ΠΏΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒΡΡ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ рСпозитария хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° ΠΏΠΎ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ схСмС. Π›ΠΈΡ‡Π½ΠΎ я большС Π½Π΅ гадаю Π° Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ «Accept theirs» ΠΈΠ»ΠΈ «Accept yours».

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

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

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