π§ ΠΠ°ΠΊ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ git merge: Π»Π΅Π³ΠΊΠ°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΠΠ»Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ° ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ Π² Git, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
- ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ²ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ:
git pull
- ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Π²Π΅ΡΠΊΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠ»ΠΈΡΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ:
git checkout Π²Π°ΡΠ°_Π²Π΅ΡΠΊΠ°
- ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ»ΠΈΡΠ½ΠΈΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ:
git merge Π²ΡΠΎΡΠ°Ρ_Π²Π΅ΡΠΊΠ°
- ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ, Git ΡΠΎΠΎΠ±ΡΠΈΡ Π²Π°ΠΌ ΠΎ Π½Π΅ΠΌ. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°ΠΌΠΈ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅ ΠΈΡ
Π²ΡΡΡΠ½ΡΡ.
<<<<<<< Π²Π°ΡΠ°_Π²Π΅ΡΠΊΠ°
ΠΊΠΎΠ΄ Π² Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅
=======
ΠΊΠΎΠ΄ Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ Π²Π΅ΡΠΊΠ΅
>>>>>>> Π²ΡΠΎΡΠ°Ρ_Π²Π΅ΡΠΊΠ°
- ΠΠΎΡΠ»Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ Π΄Π»Ρ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
git commit -m "Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ° ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ"
- Π, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:
git push
ΠΠΎΡ ΠΈ Π²ΡΠ΅! Π’Π΅ΠΏΠ΅ΡΡ Π²Π°Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ Π² Git Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½. Π£ΡΠΏΠ΅Ρ !
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ git merge
Git merge - ΡΡΠΎ ΠΌΠΎΡΠ½Π°Ρ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π² Π΄ΡΡΠ³ΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ git merge Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ, ΠΊΠΎΠ³Π΄Π° Git Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ»ΠΈΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΠΎΠΊ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ git merge.
Π¨Π°Π³ 1: ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ
git status
git checkout target-branch
git pull origin target-branch
git checkout source-branch
git pull origin source-branch
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ², Π²Π°ΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ ΠΈ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΎΠ±Π΅ Π²Π΅ΡΠΊΠΈ (ΡΠ΅Π»Π΅Π²Π°Ρ ΠΈ ΠΈΡΡ ΠΎΠ΄Π½Π°Ρ) ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
Π¨Π°Π³ 2: ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ git merge
git checkout target-branch
git merge source-branch
ΠΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΠΎΠΊ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π° ΡΠ΅Π»Π΅Π²ΡΡ Π²Π΅ΡΠΊΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git merge, ΡΠΊΠ°Π·Π°Π² Π²Π΅ΡΠΊΡ, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²Π·ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (ΠΈΡΡ ΠΎΠ΄Π½Π°Ρ Π²Π΅ΡΠΊΠ°).
Π¨Π°Π³ 3: Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ²
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ git merge ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ. Git Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ, ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ. Π§ΡΠΎΠ±Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
- ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ» Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅.
- ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΡΡΠ°ΡΡΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ.
- ΠΠ½Π΅ΡΠΈΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ.
- Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ» ΠΏΠΎΡΠ»Π΅ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ.
Π¨Π°Π³ 4: ΠΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
git add conflicted-file1 conflicted-file2
git commit -m "Resolved conflicts"
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ², Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΠΈΠ½Π΄Π΅ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git add ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ².
Π¨Π°Π³ 5: ΠΡΠΏΡΠ°Π²ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
git push origin target-branch
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git push, ΡΠΊΠ°Π·Π°Π² ΡΠ΅Π»Π΅Π²ΡΡ Π²Π΅ΡΠΊΡ.
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² git merge ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ, Π½ΠΎ Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠΌ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΠΎΠΊ. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Π²Π½ΠΎΡΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΡΠ°Π²ΠΊΠΈ.