πŸ”₯ Как ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ слияния Π² Git ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ свой ΠΊΠΎΠ΄ бСзопасным

Git прСдоставляСт нСсколько инструмСнтов для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² слияния. Π’ΠΎΡ‚ нСсколько шагов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ слияния Π² Git: 1. ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ свою Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ копию рСпозитория Git с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git pull. 2. Π£Π·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git status. 3. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ с ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌΠΈ Π² тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅. 4. Π˜ΡΠΏΡ€Π°Π²ΡŒΡ‚Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹, сохранитС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€. 5. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git add, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ исправлСнныС Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠ°ΠΊ Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Π΅. 6. ЗапуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git commit, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ измСнСния. 7. Π—Π°Π²Π΅Ρ€ΡˆΠΈΡ‚Π΅ слияниС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git merge --continue. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ слияния:

        git pull
        git status
        # Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ с ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌΠΈ
        git add <Ρ„Π°ΠΉΠ»>
        git commit -m "Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° слияния"
        git merge --continue
    
УспСшноС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° слияния зависит ΠΎΡ‚ понимания ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ΄Π΅ ΠΈ ΡƒΡ‡Π΅Ρ‚Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсСнных Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ участниками ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’Π°ΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‡Π°Ρ‚ΡŒ с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² слияния Π² Git.

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

Как Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ слияния Π² git

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

Π¨Π°Π³ 1: ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ Π²Π΅Ρ‚ΠΊΡƒ

git pull

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ, ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ваша локальная Π²Π΅Ρ‚ΠΊΠ° находится Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ состоянии. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git pull, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ послСдниС измСнСния ΠΈΠ· ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория.

Π¨Π°Π³ 2: ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹

ПослС выполнСния git pull, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ git Π½Π΅ смог автоматичСски ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ измСнСния ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… Π²Π΅Ρ‚ΠΎΠΊ, ΠΈ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π—Π°Ρ‚Π΅ΠΌ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² вашСм любимом тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅.

ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ git, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° части ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π·Π²Π°Π»ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

<<<<<<< HEAD
    // ИзмСнСния ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ

    =======
    // ИзмСнСния ΠΈΠ· сливаСмой Π²Π΅Ρ‚ΠΊΠΈ

    >>>>>>> branch_name

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π½ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° измСнСния ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ ΠΈ сливаСмой Π²Π΅Ρ‚ΠΊΠΈ, ΠΈ Ρ€Π΅ΡˆΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ измСнСния ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΡ‚Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ.

Π¨Π°Π³ 3: Π£Π΄Π°Π»ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ git

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ Π²ΠΎ всСх ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ…, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΠΈ git, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π½Ρ‹Π΅ участки ΠΊΠΎΠ΄Π°. Π£Π΄Π°Π»ΠΈΡ‚Π΅ строки <<<<<<< HEAD, ======= ΠΈ >>>>>, оставляя Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ измСнСния Π² ΠΊΠΎΠ΄Π΅.

Π¨Π°Π³ 4: Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ измСнСния ΠΈ сдСлайтС ΠΊΠΎΠΌΠΌΠΈΡ‚

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠ»ΠΈ всС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ измСнСния Π² git ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

git add .
    git commit -m "Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° слияния"

Команда git add . Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ всС измСнСния Π² индСкс. Π—Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π° git commit фиксируСт измСнСния с сообщСниСм "Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° слияния".

Π¨Π°Π³ 5: ЗафиксируйтС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

ПослС ΠΊΠΎΠΌΠΌΠΈΡ‚Π° git Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ слияния Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹ΠΌ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с вашСй Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ слияниС с Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ ΠΏΡ€ΠΈ нСобходимости.

Π’ΠΎΡ‚ ΠΈ всС! Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ слияния Π² git. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π΄Π΅Π»Π°Π΅Ρ‚ мастСра, поэтому Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ с ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π£Π΄Π°Ρ‡ΠΈ Π²Π°ΠΌ!

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

Git: Π£Ρ€ΠΎΠΊ 10. БлияниС Π²Π΅Ρ‚ΠΎΠΊ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² слияния

7.1 Git - БлияниС - "Π˜ΡΡ‚ΠΈΠ½Π½ΠΎΠ΅" слияниС ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Π² git merge

Учимся Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ git ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹

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

πŸ”§ Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² git: простой ΠΈ понятный Π³ΠΈΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ”₯ Как ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ слияния Π² Git ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ свой ΠΊΠΎΠ΄ бСзопасным

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ EditorConfig ΠΈ Visual Studio Code: Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?

πŸš€ Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ UVicorn Π² PyCharm: простой ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ способ