π ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ git merge ΠΏΡΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ΅: ΠΏΡΠΎΡΡΡΠ΅ ΡΠ°Π³ΠΈ ΠΈ ΡΠΎΠ²Π΅ΡΡ
Π§ΡΠΎΠ±Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ git merge ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°, Π½ΡΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git merge --abort.
git merge --abort
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠΌΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΈ Π²Π΅ΡΠ½Π΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ Π½Π°ΡΠ°Π»Π° ΡΠ»ΠΈΡΠ½ΠΈΡ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ git merge ΠΏΡΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ΅?
ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ Git, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ (merge) Π²Π΅ΡΠΎΠΊ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ. ΠΠΎΠ½ΡΠ»ΠΈΠΊΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° Git Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΠΎΠΊ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ , ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ git merge ΠΈ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π΄ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ.
ΠΠ»Ρ ΠΎΡΠΌΠ΅Π½Ρ git merge ΠΏΡΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git merge --abort. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π΄ΠΎ Π½Π°ΡΠ°Π»Π° ΡΠ»ΠΈΡΠ½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
$ git merge branch_name
Auto-merging file.txt
CONFLICT (content): Merge conflict in file.txt
Automatic merge failed; fix conflicts and then commit the result.
$ git merge --abort
Aborting
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git merge branch_name Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ ΡΠ»ΠΈΡΠ½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅ file.txt. ΠΠ°ΡΠ΅ΠΌ, ΠΊΠΎΠΌΠ°Π½Π΄Π° git merge --abort ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ Π½Π°ΡΠ°Π»Π° ΡΠ»ΠΈΡΠ½ΠΈΡ.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΅ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ Π²ΡΡΡΠ½ΡΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠ±ΠΎΠΈΡ Π²Π΅ΡΠΎΠΊ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΡΠ°Π³Π°ΠΌΠΈ:
- ΠΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ»Ρ Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°ΠΌΠΈ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΈ Π½Π°ΠΉΡΠΈ ΠΌΠ΅ΡΡΠ°, Π³Π΄Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ.
- Π Π°Π·ΡΠ΅ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ, Π²ΡΠ±ΡΠ°Π² Π½ΡΠΆΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΠΎΠ±ΠΎΠΈΡ Π²Π΅ΡΠΎΠΊ ΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Π² Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄.
- Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΡΠ»Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ².
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git add Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎΡΠ»Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ².
- ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git commit Π΄Π»Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ².
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΡΡΡΠ½ΠΎΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ²:
$ git merge branch_name
Auto-merging file.txt
CONFLICT (content): Merge conflict in file.txt
Automatic merge failed; fix conflicts and then commit the result.
$ nano file.txt
# resolve conflicts manually
$ git add file.txt
$ git commit
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git merge branch_name Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ ΡΠ»ΠΈΡΠ½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅ file.txt. ΠΠ°ΡΠ΅ΠΌ, ΡΠ°ΠΉΠ» file.txt ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, nano), ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Π²ΡΡΡΠ½ΡΡ. ΠΠΎΡΠ»Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°, ΡΠ°ΠΉΠ» file.txt Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git add, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° git commit Π΄Π»Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ.
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ git merge ΠΏΡΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ΅. Π£Π΄Π°ΡΠΈ Π² Π²Π°ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ Ρ Git!