C merge: C Program for Merge Sort

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

git pull | Atlassian Git Tutorial

Команда git pull ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для извлСчСния ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ содСрТимого ΠΈΠ· ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория ΠΈ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ обновлСния локального рСпозитория этим содСрТимым. БлияниС ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰ΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ β€” это обычная Π·Π°Π΄Π°Ρ‡Π° Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ процСсса, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰Π°Ρ ΠΏΡ€ΠΈ совмСстной Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π° основС систСмы Git. Команда git pull Π½Π° самом Π΄Π΅Π»Π΅ прСдставляСт собой ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Π΄Π²ΡƒΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄: git fetch ΠΈ git merge. На ΠΏΠ΅Ρ€Π²ΠΎΠΌ этапС git pull выполняСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° git fetch, ограничСнная локальной Π²Π΅Ρ‚ΠΊΠΎΠΉ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ HEAD. Π‘Ρ€Π°Π·Ρƒ послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ содСрТимого ΠΊΠΎΠΌΠ°Π½Π΄Π° git pull выполняСт слияниС. Для слитого содСрТимого создаСтся Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ HEAD обновляСтся ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° этот Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚.

ИспользованиС git pull

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ дСйствий

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° git pull запускаСт ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git fetch для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ содСрТимого ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория. Π—Π°Ρ‚Π΅ΠΌ выполняСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° git merge, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π°Ρ ссылки ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ содСрТимого Π² Π½ΠΎΠ²Ρ‹ΠΉ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ слияния. Π§Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСсс извлСчСния ΠΈ слияния, рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ main ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ origin.

Π’ этом сцСнарии ΠΊΠΎΠΌΠ°Π½Π΄Π° git pull Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ всС измСнСния, начиная с Ρ‚ΠΎΠ³ΠΎ мСста, Π³Π΄Π΅ Ρ€Π°Π·ΠΎΡˆΠ»ΠΈΡΡŒ локальная ΠΈ главная Π²Π΅Ρ‚ΠΊΠΈ. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ это Ρ‚ΠΎΡ‡ΠΊΠ° E. Команда git pull ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΈΠ· отходящСй Π²Π΅Ρ‚ΠΊΠΈ (Ρ‚. Π΅. Ρ‚ΠΎΡ‡ΠΊΠΈ A‑B‑C). Π—Π°Ρ‚Π΅ΠΌ Π² процСссС запуска ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ pull Π±ΡƒΠ΄Π΅Ρ‚ создан Π½ΠΎΠ²Ρ‹ΠΉ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ слияния, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ содСрТимоС Π½ΠΎΠ²Ρ‹Ρ… ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈΠ· отходящСй Π²Π΅Ρ‚ΠΊΠΈ.

На Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ схСмС ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ H. Π­Ρ‚ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚ слияния, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ содСрТимоС ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² A‑B‑C ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ±Ρ‰Π΅Π΅ сообщСниС Π² ΠΆΡƒΡ€Π½Π°Π»Π΅. Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ дСмонстрируСт ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… стратСгий слияния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git pull. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π° Π½Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ слитого содСрТимого, ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git pull ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ --rebase. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ дСмонстрируСтся, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ pull. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ находимся Π² Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ нашСй ΠΏΠ΅Ρ€Π²ΠΎΠΉ схСмы ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git pull --rebase.

На этой схСмС Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ pull Π½Π΅ Π±Ρ‹Π» создан Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ H. ВмСсто этого ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ A‑B‑C Π±Ρ‹Π»ΠΈ скопированы ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Π² локальной Π²Π΅Ρ‚ΠΊΠ΅ origin/main ΠΏΠ΅Ρ€Π΅Π΄ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ E–F–G с ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒΡŽ послСдних.

РаспространСнныС ΠΎΠΏΡ†ΠΈΠΈ

gitΒ pullΒ <remote>

Π˜Π·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория копию Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ ΠΈ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΡΠ»ΠΈΡ‚ΡŒ Π΅Π΅ с локальной ΠΊΠΎΠΏΠΈΠ΅ΠΉ. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π΅ git fetch , послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ слСдуСт ΠΊΠΎΠΌΠ°Π½Π΄Π° git merge origin/.

gitΒ pullΒ --no-commitΒ <remote>

Подобно Π²Ρ‹Π·ΠΎΠ²Ρƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ содСрТимоС, Π½ΠΎ Π½Π΅ создаСт Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ со слитым содСрТимым.

gitΒ pullΒ --rebaseΒ <remote>

Аналогично ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ pull, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вмСсто ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git merge для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ с локальной Π²Π΅Ρ‚ΠΊΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° git rebase.

gitΒ pullΒ --verbose

Π’ΠΎ врСмя выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ pull Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΠΎΠΌ содСрТимом ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ слиянии.

ΠžΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅ git pull

ΠšΠΎΠΌΠ°Π½Π΄Ρƒ git pull ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Π²Π΅Ρ€ΡΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ svn update, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡƒΡŽ Π² систСмС Git. Π­Ρ‚ΠΎ простой способ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰ΠΈΠΌΠΈ измСнСниями. На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ Π½ΠΈΠΆΠ΅ Π΄Π°Π½Ρ‹ пояснСния ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΡˆΠ°Π³Ρƒ процСсса выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ pull.

Π‘Π½Π°Ρ‡Π°Π»Π° Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ваш Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ синхронизирован, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° git fetch ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСй ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ вСрсия origin Π²Π΅Ρ‚ΠΊΠΈ main Π±Ρ‹Π»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π°. Π—Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π° git merge сразу ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ main Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ.

Git pull ΠΈ синхронизация

Команда git pull β€” ΠΎΠ΄Π½Π° ΠΈΠ· мноТСства ΠΊΠΎΠΌΠ°Π½Π΄, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ… Π·Π° ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ содСрТимого. Команда git remote ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Π½Π° ΠΊΠ°ΠΊΠΈΡ… ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ синхронизации. Команда git push ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ содСрТимого Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

ΠšΠΎΠΌΠ°Π½Π΄Ρƒ git fetch ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΡƒΡ‚Π°Ρ‚ΡŒ с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git pull. ОбС ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ содСрТимого, Π½ΠΎ ΠΏΡ€ΠΈ этом git pull ΠΈ git fetch Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΡƒΡ€ΠΎΠ²Π½ΡŽ бСзопасности. ΠšΠΎΠΌΠ°Π½Π΄Ρƒ git fetch ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ «бСзопасным» Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ, Π° git pull β€” «нСбСзопасным». Команда git fetch Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ содСрТимоС, Π½ΠΎ Π½Π΅ измСняСт состояниС локального рСпозитория, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ git pull Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ содСрТимоС ΠΈ сразу пытаСтся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ состояниС локального рСпозитория, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ соотвСтствовало этому содСрТимому. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ возникновСнию Π½Π΅ΠΏΡ€Π΅Π΄ΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ pull ΠΈ rebase

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ --rebase ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π»ΠΈΠ½Π΅ΠΉΠ½ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² слияния. МногиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π° Π½Π΅ слияниС, ΠΊΠ°ΠΊ Π±Ρ‹ заявляя: Β«Π― Ρ…ΠΎΡ‡Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΈ измСнСния добавились ΠΏΠΎΠ²Π΅Ρ€Ρ… всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…Β». Π’ этом смыслС ΠΊΠΎΠΌΠ°Π½Π΄Π° git pull с Ρ„Π»Π°Π³ΠΎΠΌ --rebase большС ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ svn update, Ρ‡Π΅ΠΌ Π½Π° ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git pull.

На самом Π΄Π΅Π»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° pull с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ --rebase ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ процСссС Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ часто, Ρ‡Ρ‚ΠΎ для Π½Π΅Π΅ сущСствуСт выдСлСнная опция ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:

gitΒ configΒ --globalΒ branch.autosetuprebaseΒ always

ПослС выполнСния этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git pull Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git rebase, Π° Π½Π΅ git merge.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования git pull

Π’ Π½ΠΈΠΆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git pull Π² ΠΎΠ±Ρ‰ΠΈΡ… сцСнариях.

ПовСдСниС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

gitΒ pull

Π’Ρ‹Π·ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git pull ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ эквивалСнтСн Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ git fetch origin HEAD ΠΈ git merge HEAD, Π³Π΄Π΅ HEAD β€” это ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ.

Команда git pull Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Π²Π΅Ρ‚ΠΊΠ°Ρ…

gitΒ checkoutΒ new_feature
gitΒ pullΒ <remoteΒ repo>

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ сначала создаСтся Π²Π΅Ρ‚ΠΊΠ° ΠΈ происходит ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π½Π΅Π΅. ПослС этого выполняСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° git pull, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ пСрСдаСтся ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ . Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ нСявной Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ (Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ pull) Π²Π΅Ρ‚ΠΊΠΈ newfeature ΠΈΠ· ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория . Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ, начинаСтся Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git merge.

ΠŸΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ git pull вмСсто слияния

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ с Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ main Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

gitΒ checkoutΒ main
gitΒ pullΒ --rebaseΒ origin

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ваши Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ измСнСния просто ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ²Π΅Ρ€Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… участников Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

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

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

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

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

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

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

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

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

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ слияния прСрываСтся Π² самом Π½Π°Ρ‡Π°Π»Π΅, Ссли Git ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚ измСнСния Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΈΠ»ΠΈ Ρ€Π°Π·Π΄Π΅Π»Π΅ проиндСксированных Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Git Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ слияниС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠ½Π°Ρ‡Π΅ эти ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΠ΅ измСнСния Π±ΡƒΠ΄ΡƒΡ‚ пСрСзаписаны Π½ΠΎΠ²Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ. Π’Π°ΠΊΠΎΠ΅ случаСтся ΠΈΠ·-Π·Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Π½Π΅ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, Π° с ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΠΌΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ измСнСниями. Π›ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ состояниС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΡ‚Π°Π±ΠΈΠ»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ git stash, git checkout, git commit ΠΈΠ»ΠΈ git reset. Если ΠΊΠΎΠΌΠ°Π½Π΄Π° слияния прСрываСтся Π² самом Π½Π°Ρ‡Π°Π»Π΅, выдаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ сообщСниС ΠΎΠ± ошибкС:

error:Β EntryΒ '<fileName>'Β notΒ uptodate. Β CannotΒ merge.Β (ChangesΒ inΒ workingΒ directory)

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

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

error:Β EntryΒ '<fileName>'Β wouldΒ beΒ overwrittenΒ byΒ merge.Β CannotΒ merge.Β (ChangesΒ inΒ stagingΒ area)

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

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

$Β mkdirΒ git-merge-test
$Β cdΒ git-merge-test
$Β gitΒ initΒ .
$Β echoΒ "thisΒ isΒ someΒ contentΒ toΒ messΒ with"Β >Β merge.txt
$Β gitΒ addΒ merge. txt
$Β gitΒ commitΒ -am"weΒ areΒ commitingΒ theΒ initalΒ content"
[mainΒ (root-commit)Β d48e74c]Β weΒ areΒ commitingΒ theΒ initalΒ content
1Β fileΒ changed,Β 1Β insertion(+)
createΒ modeΒ 100644Β merge.txt

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

  • БоздаСтся Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с ΠΈΠΌΠ΅Π½Π΅ΠΌ git-merge-test, выполняСтся ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² этот ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΈ инициализация Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΠΎΠ³ΠΎ рСпозитория Git.
  • БоздаСтся Π½ΠΎΠ²Ρ‹ΠΉ тСкстовый Ρ„Π°ΠΉΠ» merge.txt с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ содСрТимым.
  • Π’ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ добавляСтся Ρ„Π°ΠΉΠ» merge.txt ΠΈ выполняСтся ΠΊΠΎΠΌΠΌΠΈΡ‚.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ main ΠΈ нСпустым Ρ„Π°ΠΉΠ»ΠΎΠΌ merge.txt. Π”Π°Π»Π΅Π΅ создадим Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΈ слиянии.

$Β gitΒ checkoutΒ -bΒ new_branch_to_merge_later
$Β echoΒ "totallyΒ differentΒ contentΒ toΒ mergeΒ later"Β >Β merge.txt
$Β gitΒ commitΒ -am"editedΒ theΒ contentΒ ofΒ merge. txtΒ toΒ causeΒ aΒ conflict"
[new_branch_to_merge_laterΒ 6282319]Β editedΒ theΒ contentΒ ofΒ merge.txtΒ toΒ causeΒ aΒ conflict
1Β fileΒ changed,Β 1Β insertion(+),Β 1Β deletion(-)

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

  • Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ new_branch_to_merge_later ΠΈ выполняСт ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² Π½Π΅Π΅.
  • ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ содСрТимоС Ρ„Π°ΠΉΠ»Π° merge.txt.
  • ВыполняСт ΠΊΠΎΠΌΠΌΠΈΡ‚ Π½ΠΎΠ²ΠΎΠ³ΠΎ содСрТимого.

Π’ этой Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ new_branch_to_merge_later ΠΌΡ‹ создали ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ» содСрТимоС Ρ„Π°ΠΉΠ»Π° merge.txt.

gitΒ checkoutΒ main
SwitchedΒ toΒ branchΒ 'main'
echoΒ "contentΒ toΒ append"Β >>Β merge.txt
gitΒ commitΒ -am"appendedΒ contentΒ toΒ merge.txt"
[mainΒ 24fbe3c]Β appendedΒ contentΒ toΒ merge.tx
1Β fileΒ changed,Β 1Β insertion(+)

Π­Ρ‚Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ выполняСт ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ main, добавляСт содСрТимоС Π² Ρ„Π°ΠΉΠ» merge.txt ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚. ПослС этого Π² нашСм ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ находятся Π΄Π²Π° Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ β€” Π² Π²Π΅Ρ‚ΠΊΠ΅ main, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” Π² Π²Π΅Ρ‚ΠΊΠ΅ new_branch_to_merge_later. Π’Π΅ΠΏΠ΅Ρ€ΡŒ запустим ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git merge new_branch_to_merge_later ΠΈ посмотрим, Ρ‡Ρ‚ΠΎ ΠΈΠ· этого Π²Ρ‹ΠΉΠ΄Π΅Ρ‚!

$Β gitΒ mergeΒ new_branch_to_merge_later
Auto-mergingΒ merge.txt
CONFLICTΒ (content):Β MergeΒ conflictΒ inΒ merge.txt
AutomaticΒ mergeΒ failed;Β fixΒ conflictsΒ andΒ thenΒ commitΒ theΒ result.

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

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

Как ΠΌΡ‹ ΡƒΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡŒ Π½Π° выполняСмом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Git Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ нСбольшоС ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ сообщСниС ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠšΠžΠΠ€Π›Π˜ΠšΠ’Π. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git status.

$Β gitΒ status
OnΒ branchΒ main
YouΒ haveΒ unmergedΒ paths.
(fixΒ conflictsΒ andΒ runΒ "gitΒ commit")
(useΒ "gitΒ mergeΒ --abort"Β toΒ abortΒ theΒ merge)

UnmergedΒ paths:
(useΒ "gitΒ addΒ <file>. .."Β toΒ markΒ resolution)

bothΒ modified:Β Β Β merge.txt

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

$Β catΒ merge.txt
<<<<<<<Β HEAD
thisΒ isΒ someΒ contentΒ toΒ messΒ with
contentΒ toΒ append
=======
totallyΒ differentΒ contentΒ toΒ mergeΒ later
>>>>>>>Β new_branch_to_merge_later

Для просмотра содСрТимого Ρ„Π°ΠΉΠ»Π° merge.txt Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ cat. Π’ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π² Ρ„Π°ΠΉΠ»Π΅ появились Π½ΠΎΠ²Ρ‹Π΅ странныС дополнСния:

  • =======
  • >>>>>>> new_branch_to_merge_later

Π­Ρ‚ΠΈ Π½ΠΎΠ²Ρ‹Π΅ строки ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Β«Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°Β». Π‘Ρ‚Ρ€ΠΎΠΊΠ° ======= являСтся Β«Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠΌΒ» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°. ВсС содСрТимоС ΠΌΠ΅ΠΆΠ΄Ρƒ этим Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠΌ ΠΈ строкой находится Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠ΅ main, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ссылаСтся ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ HEAD. А всС содСрТимоС ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠΌ ΠΈ строкой >>>>>>> new_branch_to_merge_later являСтся содСрТимым Π²Π΅Ρ‚ΠΊΠΈ для слияния.

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

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

thisΒ isΒ someΒ contentΒ toΒ messΒ with
contentΒ toΒ append
totallyΒ differentΒ contentΒ toΒ mergeΒ later

ПослС рСдактирования Ρ„Π°ΠΉΠ»Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git add merge.txt, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ объСдинСнноС содСрТимоС Π² Ρ€Π°Π·Π΄Π΅Π» проиндСксированных Ρ„Π°ΠΉΠ»ΠΎΠ². Для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ слияния создайтС Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

gitΒ commitΒ -mΒ "mergedΒ andΒ resolvedΒ theΒ conflictΒ inΒ merge.txt"

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

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

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

gitΒ status

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

gitΒ logΒ --merge

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° --merge для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git log Π±ΡƒΠ΄Π΅Ρ‚ создан ΠΆΡƒΡ€Π½Π°Π» со списком ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… выполняСтся слияниС.

gitΒ diff

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

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

gitΒ checkout

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

gitΒ resetΒ --mixed

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

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

gitΒ mergeΒ --abort

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git merge с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ --abort процСсс слияния Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Ρ€Π²Π°Π½, Π° Π²Π΅Ρ‚ΠΊΠ° вСрнСтся ΠΊ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½Π° Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° слияния.

gitΒ reset

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

РСзюмС

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

БущСствуСт мноТСство способов Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² слияния. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли Π½Π΅ΠΌΠ°Π»ΠΎΠ΅ количСство инструмСнтов ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСдоставляСт Git. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± этих инструмСнтах см. Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… страницах для ΠΊΠΎΠΌΠ°Π½Π΄ git log, git reset, git status, git checkout ΠΈ git reset. Помимо этого ΠΌΠ½ΠΎΠ³ΠΈΠ΅ сторонниС инструмСнты Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌΠΈ слияния.

ΠŸΠΎΡΡ‚Ρ€ΠΎΠΉΡ‚Π΅ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ ΠΈ своСй ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρ‹

Π£Π½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ API-интСрфСйсы

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ возмоТностСй

ΠœΡ‹ создали Π£Π½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ API-интСрфСйс Merge, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΌΠΎΠ³Π»ΠΈ быстро ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·

ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΊ Ρ‚Π°Π»Π°Π½Ρ‚Π»ΠΈΠ²Ρ‹ΠΌ, ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ людям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚Π΄Π°ΡŽΡ‚ΡΡ Ρ€Π°Π±ΠΎΡ‚Π΅, создавая Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π”Π°Π²Π°ΠΉΡ‚Π΅ вмСстС ΠΏΠΎΡ€Π°Π΄ΡƒΠ΅ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² возмоТностями Merge.

Наши цСнности

Π₯Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ ΠΏΠ΅Ρ€Π΅Π΄ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΏΡ‹Ρ‚Π°

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

Make it Easy

ΠœΡ‹ ΠΏΡ€ΠΈΠ»Π°Π³Π°Π΅ΠΌ всС усилия, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Π΅Ρ‰ΠΈ простыми ΠΈ ΠΎΡ‚Π΄Π°Π΅ΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ быстрому Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° краткосрочныС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ слоТных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Бпроси Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, скаТи Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ

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

Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π§Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

ΠžΡ‚ Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° ΠΌΡ‹ внСдряСм ΠΈΠ½Π½ΠΎΠ²Π°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅. ΠœΡ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Ρ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ нас Π²ΠΏΠ΅Ρ€Π΅Π΄.

Π­Π½Ρ‚ΡƒΠ·ΠΈΠ°Π·ΠΌ β€” это двиТущая сила

ΠœΡ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚Π΄Π°Π΅ΠΌ сСбя Ρ€Π°Π±ΠΎΡ‚Π΅. ΠœΡ‹ смССмся Π½Π°Π΄ ΡˆΡƒΡ‚ΠΊΠ°ΠΌΠΈ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π° ΠΈ ΠΏΡ€Π°Π·Π΄Π½ΡƒΠ΅ΠΌ ΠΏΠΎΠ±Π΅Π΄Ρ‹ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°. Как энтузиасты API, наша энСргия исходит ΠΎΡ‚ возмоТности Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ вмСстС.

The Numbers

ОснованиС

2020

Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΈ

75

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ

170+

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° 9 0008

Π—Π΄Ρ€Π°Π²ΠΎΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅

НСограничСнный ΠΎΡ‚Π³ΡƒΠ»

ΠžΡ‚ΠΏΡƒΡΠΊ ΠΏΠΎ ΡƒΡ…ΠΎΠ΄Ρƒ Π·Π° Ρ€Π΅Π±Π΅Π½ΠΊΠΎΠΌ

401k

Π‘Π°Π½-Ѐранциско ΠΈ Нью-Π™ΠΎΡ€ΠΊ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±Ρ‹Π»ΠΈ Π±Π»ΠΈΠΆΠ΅

ΠœΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π»ΠΈΡ‡Π½ΠΎ Π² Π½Π°ΡˆΠΈΡ… прСкрасных офисах Π² Π‘Π°Π½-Ѐранциско ΠΈ Нью-Π™ΠΎΡ€ΠΊΠ΅.

ΠœΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΡΠ²Π»ΡΠ΅Ρ‚Π΅ΡΡŒ нСбольшим стартапом, совмСстноС ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ»ΡˆΠ΅Π±Π½Ρ‹Π΅ прСимущСства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ ваш ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π»ΡƒΡ‡ΡˆΠ΅, Π²Π°ΡˆΡƒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π²Ρ‹ΡˆΠ΅, Π° Π²Π°ΡˆΡƒ Тизнь Π±ΠΎΠ³Π°Ρ‡Π΅ благодаря тСсным связям.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ возмоТности

Блияния на слиянии

Β«ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ я Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°Π», ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΠ», Ρ‡Ρ‚ΠΎ Π² офисС Π±Ρ‹Π»ΠΎ ΡˆΡƒΠΌΠ½ΠΎ ΠΈ энСргично, ΠΈΠ΄Π΅ΠΈ свободно Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΠ»ΠΈΡΡŒ, Π° руководство Π±Ρ‹Π»ΠΎ синхронизировано».

Pritak Patel

Π’Π΅Π΄ΡƒΡ‰ΠΈΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ ΠΎΡ‚Π΄Π΅Π»Π° роста + Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ

Β«ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π΄ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π·Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚: это проявляСтся Π² качСствС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΈ качСствСнной Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹Β».

Аарон Π›Ρƒ

Π‘Ρ‚Π°Ρ€ΡˆΠΈΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠΎ ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³Ρƒ роста

Β«Π’ Merge я нашСл ярких ΠΈ ΠΏΠΎΠ»Π½Ρ‹Ρ… энтузиазма ΠΊΠΎΠ»Π»Π΅Π³ ΠΈ ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Ρƒ постоянного обучСния ΠΈ роста. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈ наставничСство, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ», Π±Ρ‹Π»ΠΈ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½Ρ‹ для ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ развития, ΠΈ я ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π΄ Π±Ρ‹Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, которая всСгда Ρ€Π°Π·Π΄Π²ΠΈΠ³Π°Π΅Ρ‚ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹Β».

Π’Π°Ρ€Π° ΠŸΠΈΡ‡ΡƒΠΌΠ°Π½ΠΈ

Π ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹

Π’Π°Ρˆ ΠΏΡƒΡ‚ΡŒ ΠΊ слиянию

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Π­ΠΊΡ€Π°Π½ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°

ВСхничСский экран

На мСстС

ВсС начинаСтся с ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ прилоТСния

НадСТная интСграция для

ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΊ нашСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

Π”ΡƒΠΌΠ°Π΅Ρ‚Π΅, это совпадСниС? НайдитС свой ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг Π² ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅.

Π”ΠΈΠ·Π°ΠΉΠ½

Π˜Π½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³

Ѐинансы

Ѐинансы ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Рост

ΠœΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³

ΠŸΠ΅Ρ€ΡΠΎΠ½Π°Π»

9 0007 ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°

ΠŸΠΎΡΠ»Π΅ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ½Ρ‹ΠΉ

ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚

Π”ΠΎΡ…ΠΎΠ΄

Π”ΠΎΡ…ΠΎΠ΄

ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ 90 154

ΠŸΠΎΠ΄Π°Ρ‚ΡŒ заявку

Π˜Π½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠ΅ Π΄Π΅Π»ΠΎ

Π¨Ρ‚Π°Ρ‚Π½Ρ‹ΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€-программист

ΠŸΠΎΠ΄Π°Ρ‚ΡŒ заявку

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°

Π˜Π½ΠΆΠ΅Π½Π΅Ρ€-ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€

ΠŸΠΎΠ΄Π°Ρ‚ΡŒ заявку

ΠœΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³

Π‘Ρ‚Π°Ρ€ΡˆΠΈΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠΎ ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³Ρƒ роста

ΠŸΠΎΠ΄Π°Ρ‚ΡŒ заявку

ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚

Π‘Ρ‚Π°Ρ€ΡˆΠΈΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρƒ

ΠŸΠΎΠ΄Π°Ρ‚ΡŒ заявку

Π’Ρ‹Ρ€ΡƒΡ‡ΠΊΠ°

Π’Π΅Π΄ΡƒΡ‰ΠΈΠΉ спСциалист ΠΏΠΎ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ°ΠΌ

ΠŸΠΎΠ΄Π°Ρ‚ΡŒ заявку

Π˜Π½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³

Π˜Π½ΠΆΠ΅Π½Π΅Ρ€-программист ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ стСка

ΠŸΠΎΠ΄Π°Ρ‚ΡŒ заявку

ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚

Π ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΎΡ‚Π΄Π΅Π»Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°

ΠŸΠΎΠ΄Π°Ρ‚ΡŒ заявку

Π”ΠΎΡ…ΠΎΠ΄ 9000 3

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ ΠΏΠΎ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ°ΠΌ

ΠŸΠΎΠ΄Π°Ρ‚ΡŒ заявку

ΠŸΠΎΡΠ»Π΅ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ½Ρ‹ΠΉ ΠΎΡ‚Π΄Π΅Π»

Π’Π΅Π΄ΡƒΡ‰ΠΈΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ

ΠŸΠΎΠ΄Π°Ρ‚ΡŒ заявку

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°

Π’Π΅Π΄ΡƒΡ‰ΠΈΠΉ спСциалист ΠΏΠΎ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ β€” HRIS

ΠŸΠΎΠ΄Π°Ρ‚ΡŒ заявку

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°

ΠŸΠ°Ρ€Ρ‚Π½Π΅Ρ€ΡΠΊΠΈΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€-ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€

ΠŸΠΎΠ΄Π°Ρ‚ΡŒ заявку

9 ΠŸΠΎΠ΄Π°Ρ‚ΡŒ заявку 0003

Π›ΡŽΠ΄ΠΈ

ΠžΡ„ΠΈΡ-ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€

ΠŸΠΎΠ΄Π°Ρ‚ΡŒ заявку

ΠœΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³

Π ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΎΡ‚Π΄Π΅Π»Π° формирования спроса ΠΈ роста

ΠŸΠΎΠ΄Π°Ρ‚ΡŒ заявку

ΠœΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³ΠΎΠ²ΠΎΠ΅ агСнтство ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° | ΠžΠ‘ΠͺΠ•Π”Π˜ΠΠ•ΠΠ˜Π•

ΠœΡ‹ сливаСм
для укрСплСния Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ,

богатство ΠΈ ΡΡ‡Π°ΡΡ‚ΡŒΠ΅

Π² ΠΌΠΈΡ€Π΅.

Π’ΠΎΠ²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ сСрдСц + ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠ΅ Π΄Π΅Ρ‚Π°Π»ΠΈ

ΠœΡ‹ объСдиняСм рассказываниС историй ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ β€” комбинация, которая ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ влияниС ΠΈ способствуСт устойчивому росту. Π˜ΡΡ‚ΠΎΡ€ΠΈΠΈ ΡΠ±Π»ΠΈΠΆΠ°ΡŽΡ‚ нас, Π° тСхнология сама ΠΏΠΎ сСбС являСтся историСй. Π’ MERGE наши поэты ΠΈ Π΄ΠΎΠΊΡ‚ΠΎΡ€Π° Π½Π°ΡƒΠΊ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ истории, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ эмоции, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΠΏΡ‹Ρ‚Ρƒ Π² области Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ привСсти ΠΈΡ… Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅. ЗадСйствуСм сСрдСчки ΠΈ соСдиняСм Π΄Π΅Ρ‚Π°Π»ΠΈ. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Ρ‚Ρ‹ Ρ€Π°ΡΡ‚Π΅ΡˆΡŒ. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ наши услуги

Β 

Наши ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ Π² области здравоохранСния

Π‘ΠΏΠ°ΡΠ°ΡŽΡ‚ ΠΆΠΈΠ·Π½ΠΈ

Наши финансовыС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹

Π˜Π·ΠΌΠ΅Π½ΡΡŽΡ‚ Тизнь

Наши ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹-ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ

Π”Π΅Π»Π°ΡŽΡ‚ Тизнь счастливСС 9 0267

Β 

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ отраслСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ обслуТиваСм

Для Π·Π½Π°ΠΊΠΎΠ²Ρ‹Ρ… Π±Ρ€Π΅Π½Π΄ΠΎΠ²

Для нас большая Ρ‡Π΅ΡΡ‚ΡŒ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€ΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π½Π° протяТСнии Π±ΠΎΠ»Π΅Π΅ дСсяти Π»Π΅Ρ‚ ΠΈ ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… успСху.

Π²Π°Ρƒ Ρ€Π°Π±ΠΎΡ‚Π°

ΠœΡ‹ всС распознаСм ΠΎΡ‚Π»ΠΈΡ‡Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΊΠΎΠ³Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ Π΅Π΅. ΠœΡ‹ чувствуСм это Ρ‚Π°ΠΊ сильно, Ρ‡Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ
Π£Π₯ Π’Π«!
Другая Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ эффСктивна, Ρ‡Ρ‚ΠΎ сильно Π±ΡŒΠ΅Ρ‚ ΠΏΠΎ бизнСсу
Π’ΠžΠ£!

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π‘Π΄Π΅Π»Π°Π½ΠΎ

ΠŸΠΎΡΡ‚Ρ‹ + Π΄ΠΎΠΊΡ‚ΠΎΡ€Π° философии

Наша модСль Β«ΠΎΡ‚ Ρ‚Π°Π»Π°Π½Ρ‚Π° ΠΊ Π·Π°Π΄Π°Ρ‡Π΅Β» прСдоставляСт ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ доступ ΠΊ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 700 Ρ‚Π°Π»Π°Π½Ρ‚Π°ΠΌ, ΠΎΡ‚ поэтов Π΄ΠΎ Π΄ΠΎΠΊΡ‚ΠΎΡ€ΠΎΠ² Π½Π°ΡƒΠΊ, со свСТим взглядом ΠΈ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ взглядами. ΠœΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎ, Π½ΠΎ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ считаСм, Ρ‡Ρ‚ΠΎ Π±Π»ΠΈΠ·ΠΎΡΡ‚ΡŒ ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π£ нас Π΅ΡΡ‚ΡŒ офисы Π² Нью-Π™ΠΎΡ€ΠΊΠ΅, Π§ΠΈΠΊΠ°Π³ΠΎ, БостонС, АтлантС, Канзас-Π‘ΠΈΡ‚ΠΈ, Π”Π΅Π½Π²Π΅Ρ€Π΅, Лос-АндТСлСсС ΠΈ ΠœΠΎΠ½Ρ€Π΅Π°Π»Π΅.

Π£Π·Π½Π°ΠΉΡ‚Π΅ ΠΎ Π½Π°ΡˆΠΈΡ… Π»ΡŽΠ΄ΡΡ…

Π‘ΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ, Π»ΠΎΠ²ΠΊΠΎΡΡ‚ΡŒ, ΡΠΊΡ€ΠΎΠΌΠ½ΠΎΡΡ‚ΡŒ

ΠšΡƒΠ»ΡŒΡ‚ΡƒΡ€Π° β€” это большС, Ρ‡Π΅ΠΌ просто слова Π½Π° страницС.