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

Π Π°Π±ΠΎΡ‚Π° с Git Ρ‡Π΅Ρ€Π΅Π· консоль β€” Π‘Π»ΠΎΠ³ HTML Academy

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΏΠΎ Git
  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² систСмы контроля вСрсий
  • Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° ΠΏΠΎ Git. РСшСниС основных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ
  • ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git

Π—Π°Π΄Π°Ρ‡Π°: Ρ„ΠΎΡ€ΠΊΠ½ΡƒΡ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π²Β GitHub, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ ΠΈΒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с кодом.

Π‘Ρ€Π°Π·Ρƒ появляСтся ΠΌΠ½ΠΎΠ³ΠΎ вопросов — Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ GitHub, ΠΊΠ°ΠΊΠΈΠ΅ для этого Π½ΡƒΠΆΠ½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π·Π°Ρ‡Π΅ΠΌ, Π°Β Π³Π»Π°Π²Π½ΠΎΠ΅, ΠΊΠ°ΠΊ всСм этим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ? Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрёмся.


Как Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сайты

Когда ΠΌΡ‹Β ΠΏΠΈΡˆΠ΅ΠΌ ΠΊΠΎΠ΄, мы постоянно Ρ‚ΡƒΠ΄Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ добавляСм, удаляСм, ΠΈΒ ΠΈΠ½ΠΎΠ³Π΄Π° всё ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΎΠΌΠ°Ρ‚ΡŒΡΡ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅Π΄ Π»ΡŽΠ±Ρ‹ΠΌΠΈ измСнСниями стоит ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ копию ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Если ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π²Β ΠΏΠ°ΠΏΠΊΠΈ с имСнами ΠΏΡ€ΠΎΠ΅ΠΊΡ‚1, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚1_Ρ„ΠΈΠ½Π°Π»ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚2_Π΄ΠΎΠ΄Π΅Π»ΠΊΠ°, вы быстро Π·Π°ΠΏΡƒΡ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΈΒ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ потСряСтС. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с кодом ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ систСмы контроля вСрсий.

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

GitΒ β€” самая популярная систСма контроля вСрсий. Π‘Β Git ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку (ΠΈΠ»ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»). Π’Β ΠΊΠ°ΠΆΠ΄ΠΎΠΉ систСмС своя встроСнная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с командной строкой. Π’Β Windows это PowerShell ΠΈΠ»ΠΈ cmd, Π°Β Π²Β Linux ΠΈΠ»ΠΈ macOSΒ β€” Terminal.

НуТно ли ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ для вёрстки

ВмСсто встроСнных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ Π΄Ρ€ΡƒΠ³ΡƒΡŽΒ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Git Bash Π²Β Windows ΠΈΠ»ΠΈ iTerm2 для macOS.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»: ΠΌΡ‹Β Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΒ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΎΡ‚Π²Π΅Ρ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Β β€” ΠΈΠ»ΠΈ всё ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, ΠΈΠ»ΠΈ Π³Π΄Π΅-Ρ‚ΠΎ ошибка, ΠΈΠ»ΠΈ Π½ΡƒΠΆΠ½ΠΎ ввСсти Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Ρ‘Β β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ большая Ρ‡Π°ΡΡ‚ΡŒ этой инструкции состоит ΠΈΠ·Β ΠΊΠΎΠΌΠ°Π½Π΄ для Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°. Π‘Π½Π°Ρ‡Π°Π»Π° Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎ, Π½ΠΎΒ Π²Π°ΠΌ понравится.

Но давайтС по порядку — установим Git Π½Π°Β ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€.

Π‘ΠΎΠ»ΡŒΡˆΠ΅ статСй ΠΎ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² Π°ΠΉΡ‚ΠΈ Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅.

ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ

УстанавливаСм и настраиваСм Git

Windows. Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ Git для Windows, запуститС exe-Ρ„Π°ΠΉΠ», слСдуйтС инструкциям.

macOS. Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ Git для macOS и запуститС dmg-Ρ„Π°ΠΉΠ». Если он нС запускаСтся, Π·Π°ΠΉΠ΄ΠΈΡ‚Π΅ в БистСмныС настройки — Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈΒ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Open anyway (Всё Ρ€Π°Π²Π½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ).

Linux. УстановитС Git Ρ‡Π΅Ρ€Π΅Π· встроСнный ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Если у вас Ubuntu, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ sudo apt-get install git. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для Π΄Ρ€ΡƒΠ³ΠΈΡ… дистрибутивов ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ здСсь.

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Git установился

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈΒ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

git --version

Если Git установлСн, Ρ‚ΠΎΒ Π²Ρ‹Β ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ вСрсии, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 2.35.1.

НастраиваСм Git

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ ввСсти имя и адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваши дСйствия Π²Β Git Π±Ρ‹Π»ΠΈ подписаны, Π°Β Π΅Ρ‰Ρ‘ для привязки ΠΊΒ GitHub.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ имя (Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ):

git config --global user. name "вашС имя"

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΡƒΡŽ ΠΏΠΎΡ‡Ρ‚Ρƒ (Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ email@example. com Π½Π°Β Π²Π°ΡˆΡƒ ΠΏΠΎΡ‡Ρ‚Ρƒ):

git config --global user.email [email protected]

ΠžΠΏΡ†ΠΈΡ --global Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ имя ΠΈΒ ΠΏΠΎΡ‡Ρ‚Π° Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для всСх Π²Π°ΡˆΠΈΡ… дСйствий Π²Β Git. Если Π²Ρ‹Β Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΌΠ΅Π½ΡΡ‚ΡŒ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚ΠΎΒ Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ эти ТС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π΅Π· ΠΎΠΏΡ†ΠΈΠΈ --global.

РСгистрируСмся Π½Π°Β GitHub

GitHub (ΠΈΠ»ΠΈ Π“ΠΈΡ‚Ρ…Π°Π±)Β β€” Π²Π΅Π±-сСрвис на основС Git, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ совмСстно Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ IT-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. На ГитхабС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽΡ‚ свой ΠΈΒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‚ Ρ‡ΡƒΠΆΠΎΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ и слСдят за новостями Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ Π½Π°Β Π“ΠΈΡ‚Ρ…Π°Π±Π΅ и всС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π²Β Π½Ρ‘ΠΌΒ β€” вашС ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, поэтому Π½ΡƒΠΆΠ½ΠΎ завСсти ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ, Ссли у вас Π΅Π³ΠΎ Π΅Ρ‰Ρ‘ Π½Π΅Ρ‚.

  1. Π—Π°ΠΉΠ΄ΠΈΡ‚Π΅ на сайт https://github. com ΠΈΒ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Sign up.
  2. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (понадобится в дальнСйшСй Ρ€Π°Π±ΠΎΡ‚Π΅), адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ (Ρ‚Π°ΠΊΠΎΠΉΒ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ настройкС Git) ΠΈΒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ.
  3. На почту ΠΏΡ€ΠΈΠ΄Ρ‘Ρ‚ ΠΊΠΎΠ΄ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈΒ β€” Π²Π²Π΅Π΄ΠΈΡ‚Π΅ на сайтС.
  4. ΠŸΠΎΡΠ²ΠΈΡ‚ΡΡ ΠΎΠΊΠ½ΠΎ с выбором Ρ‚Π°Ρ€ΠΈΡ„Π½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π°. Если Π²Ρ‹Β ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ Π“ΠΈΡ‚Ρ…Π°Π±ΠΎΠΌ для ΡƒΡ‡Ρ‘Π±Ρ‹, Ρ‚ΠΎΒ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для вас и вы студСнт.
  5. ΠžΠΏΡ€ΠΎΡΡ‹ ΠΈΒ Π²Ρ‹Π±ΠΎΡ€ интСрСсов ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.

На этом всё — Π²Ρ‹Β Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ и у вас Π΅ΡΡ‚ΡŒ собствСнный ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ.

УстанавливаСм SSH-ΠΊΠ»ΡŽΡ‡ΠΈ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊΒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ Π½Π°Β GitHub со своСго ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈΒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±Π΅Π· постоянного Π²Π²ΠΎΠ΄Π° пароля, Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сСрвСр вас ΡƒΠ·Π½Π°Π²Π°Π». Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ SSH-ΠΊΠ»ΡŽΡ‡ΠΈ.

SSHΒ β€” ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» для бСзопасного соСдинСния ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ.

SSH-ΠΊΠ»ΡŽΡ‡ состоит ΠΈΠ·Β Π΄Π²ΡƒΡ… частСй — ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΈΒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ мы отправляСм на сСрвСр. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅Β ΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ от всСх ΠΈΒ Π½Π΅Β ΠΏΠ΅Ρ€Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π΅Π³ΠΎ ΡƒΠΊΡ€Π°Π΄Ρ‘Ρ‚, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π±Π΅Π· Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° он бСсполСзСн. А вот Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡Β β€” сСкрСтная Ρ‡Π°ΡΡ‚ΡŒ, доступ ΠΊΒ Π½Π΅ΠΌΡƒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ у вас. Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ.

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» RSA

ΠœΡ‹Β Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊΒ GitHub ΠΏΠΎΒ SSH. Π­Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ:

  1. Вы отправляСтС ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π°Β GitHub, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π½Π°Π΅Ρ‚ ваш ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡.
  2. GitHub ΠΏΠΎΒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌΡƒ ΠΊΠ»ΡŽΡ‡Ρƒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ вы это вы, и отправляСт Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Β ΠΎΡ‚Π²Π΅Ρ‚.
  3. Волько Π²Ρ‹Β ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΎΡ‚Π²Π΅Ρ‚, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ у вас Π΅ΡΡ‚ΡŒ подходящий Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡.

А чтобы ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊΒ GitHub ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SSH-ΠΊΠ»ΡŽΡ‡Π°, сначала Π½ΡƒΠΆΠ½ΠΎ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ SSH-ΠΊΠ»ΡŽΡ‡ΠΈ

ΠŸΠ΅Ρ€Π΅Π΄ созданиСм Π½ΠΎΠ²ΠΎΠ³ΠΎ SSH-ΠΊΠ»ΡŽΡ‡Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ, Π΅ΡΡ‚ΡŒΒ Π»ΠΈ Π½Π°Β ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡ΠΈ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ΠΈ Π»Π΅ΠΆΠ°Ρ‚ Π²Β ΠΏΠ°ΠΏΠΊΠ΅ с названиСм .ssh β€” поэтому посмотрим, Π΅ΡΡ‚ΡŒΒ Π»ΠΈ Π²Β Π½Π΅ΠΉ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Β Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅:

ls -al ~/.ssh

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Β Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Windows

Если у вас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ SSH-ΠΊΠ»ΡŽΡ‡, то в спискС Π±ΡƒΠ΄ΡƒΡ‚ Ρ„Π°ΠΉΠ»Ρ‹ с имСнами Π²Ρ€ΠΎΠ΄Π΅ id_rsa.pub, id_ecdsa.pub ΠΈΠ»ΠΈ id_ed25519.pub. А Ссли Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ругаСтся, Ρ‡Ρ‚ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ~/.ssh нС сущСствуСт, Π·Π½Π°Ρ‡ΠΈΡ‚, у вас Π½Π΅Ρ‚ SSH-ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. Π”Π°Π²Π°ΠΉΡ‚Π΅ это исправим.

Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ SSH-ΠΊΠ»ΡŽΡ‡

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» и скопируйтС Ρ‚ΡƒΠ΄Π° эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ. ΠΠ΅Β Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²Β ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΏΠΎΡ‡Ρ‚Ρƒ, Π½Π°Β ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹Β Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ Π½Π°Β Π“ΠΈΡ‚Ρ…Π°Π±Π΅.

ssh-keygen -t ed25519 -C "[email protected]"

ed25519 — это Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. Если ваша систСма Π½Π΅Β ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ

ed25519 (ΠΈΒ Π²Ρ‹Β ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ ΠΎΡˆΠΈΠ±ΠΊΡƒ), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ с алгоритмом rsa:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π» спросит, ΠΊΡƒΠ΄Π° ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡. Если Π½Π΅Β Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΌΠ΅Π½ΡΡ‚ΡŒ имя Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», просто Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter.

> Generating public/private имя-ΠΊΠ»ΡŽΡ‡Π° key pair.
> Enter a file in which to save the key (/c/Users/ваш-ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ/.ssh/id_имя-ΠΊΠ»ΡŽΡ‡Π°):*[Press enter]*

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ ваш ΠΊΠ»ΡŽΡ‡. Π­Ρ‚ΠΎ стоит ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΈΠ½Π°Ρ‡Π΅ в дальнСйшСм ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с настройкой, Π΄Π°Β ΠΈΒ Ρ‚Π°ΠΊ просто бСзопаснСС.

Π’Β Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ создаётся Π½ΠΎΠ²Ρ‹ΠΉ SSH-ΠΊΠ»ΡŽΡ‡, привязанный к вашСй элСктронной ΠΏΠΎΡ‡Ρ‚Π΅.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° по шагам:

ДобавляСм SSH-ΠΊΠ»ΡŽΡ‡ Π²Β ssh-agent

ssh-agent β€”Β ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для хранСния и управлСния SSH-ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ. Π”Π°Π²Π°ΠΉΡ‚Π΅ запустим Π΅Ρ‘Β ΠΈΒ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Ρ‚ΡƒΠ΄Π° наш SSH-ΠΊΠ»ΡŽΡ‡. ЗапускаСм ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ eval "$(ssh-agent -s)":

eval "$(ssh-agent -s)"

Если Π²Β ΠΎΡ‚Π²Π΅Ρ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ надпись Β«Agent pidΒ» и число — Π·Π½Π°Ρ‡ΠΈΡ‚, всё ок, Π°Π³Π΅Π½Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ наш ΠΊΠ»ΡŽΡ‡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.

ssh-add ~/.ssh/id_ed25519

Если ΡƒΒ Π²Π°ΡˆΠ΅Π³ΠΎ ΠΊΠ»ΡŽΡ‡Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅ имя, Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ id_ed25519 ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π° ΡΒ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ (это ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ примСняСтся и дальшС в инструкции). Если вы устанавливали ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π½Π°Β ΠΊΠ»ΡŽΡ‡, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π΄Π²Π° Ρ€Π°Π·Π° послС Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ssh-add (Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» подскаТСт, ΠΊΠΎΠ³Π΄Π° это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли всё Ρ…ΠΎΡ€ΠΎΡˆΠΎ, появится надпись Identity addedΒ β€” Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ к добавлСнию ΠΊΠ»ΡŽΡ‡Π° Π½Π°Β GitHub.

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ SSH-ΠΊΠ»ΡŽΡ‡

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ Π½Π°Β GitHub, Π½ΡƒΠΆΠ½ΠΎ сначала Π΅Π³ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ из вашСго Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ clip. Π’Ρ‹Β Π½Π΅Β ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ»ΡŽΡ‡ на экранС, но он появится Π²Β Π±ΡƒΡ„Π΅Ρ€Π΅ ΠΎΠ±ΠΌΠ΅Π½Π°, ΠΈΒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π°Β Π“ΠΈΡ‚Ρ…Π°Π±.

clip < ~/. ssh/id_ed25519.pub

Команда clip ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅Β ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ на вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Ρ‚ΠΎΠ³Π΄Π° Π΅ΡΡ‚ΡŒ Π΄Π²Π° способа ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Β β€” простой и слоТный.

Π‘Π»ΠΎΠΆΠ½Ρ‹ΠΉ способ. НайдитС ΡΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ .ssh, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» id_ed25519.pub в тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ и скопируйтС Π΅Π³ΠΎ содСрТимоС.

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ способ. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½ΠΈΠΆΠ΅ ΠΈΒ ΠΊΠ»ΡŽΡ‡ появится прямо Π²Β Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅Β β€” Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Β Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°. ΠšΠ»ΡŽΡ‡ начинаСтся с ssh-ed22519 ΠΈΠ»ΠΈ ssh-rsa (ΠΈΠ»ΠΈ ΠΏΠΎΡ…ΠΎΠΆΠ΅ΠΉ строки)Β β€” поэтому ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ строку прямо с самого Π½Π°Ρ‡Π°Π»Π°.

~ cat ~/.ssh/id_ed25519.pub

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO63MT6VCFuZtCLhLj1J6I7dgEU2BsRdIsnvnr4ax+Fr [email protected]

НС копируйтС этот ΠΊΠ»ΡŽΡ‡ ΠΈΠ·Β ΡΡ‚Π°Ρ‚ΡŒΠΈΒ β€” ΠΎΠ½Β ΡƒΠΆΠ΅ Π½Π΅Β Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

ДобавляСм SSH-ΠΊΠ»ΡŽΡ‡ Π½Π°Β GitHub

Π­Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ GitHub вас ΡƒΠ·Π½Π°Π²Π°Π».

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ на страницу для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΡΒ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ в вашСм ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ Π½Π°Β GitHub ΠΈΒ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ New SSH key.

Π’Β ΠΏΠΎΠ»Π΅ Title Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°. НапримСр, Ссли Π²Ρ‹Β ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Mac, Π²Ρ‹Β ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Π·Π²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ MacBook Air, ΠΈΠ»ΠΈ, Ссли ΠΊΠ»ΡŽΡ‡ для курсов АкадСмии, Ρ‚ΠΎΒ Academy. ΠΒ ΠΊΠ»ΡŽΡ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вы скопировали Π½Π°Β ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ шагС, Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π²Β ΠΏΠΎΠ»Π΅ Key.

НС копируйтС ΠΊΠ»ΡŽΡ‡ ΡΠΎΒ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π°Β β€” ΠΎΠ½Β ΡƒΠΆΠ΅ Π½Π΅Β Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Add SSH keyΒ ΠΈ, Ссли потрСбуСтся, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ свой ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΎΡ‚Β GitHub, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ сохранСниС. Если всё сдСлано Π²Π΅Ρ€Π½ΠΎ, Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ появится в спискС на страницС https://github. com/settings/keys.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹Β ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с проСктом Π²Β Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉΒ β€” ΠΏΠ°ΠΏΠΊΠ° с файлами вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° на сСрвСрС GitHub. Π’Π°ΠΊ Π²Ρ‹Β ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с проСктом ΠΎΡ‚ΠΊΡƒΠ΄Π° ΡƒΠ³ΠΎΠ΄Π½ΠΎ, нС пСрСТивая, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΡ‚Π΅Ρ€ΡΡŽΡ‚ΡΡΒ β€” всС Π΄Π°Π½Π½Ρ‹Π΅ останутся Π²Β Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

Если Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ нСсколько программистов, сначала создаётся мастСр-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉΒ β€” это ΠΎΠ±Ρ‰ΠΈΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с рабочСй вСрсиСй ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. А каТдый программист Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с форком — Ρ‚ΠΎΒ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ мастСр-рСпозитория. Π’Β Ρ„ΠΎΡ€ΠΊΠ΅ Π²Ρ‹Β ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π±Π΅Π·Π½Π°ΠΊΠ°Π·Π°Π½Π½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΈΒ Π½Π΅Β Π±ΠΎΡΡ‚ΡŒΡΡ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ в основной вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π”Π΅Π»Π°Π΅ΠΌ Ρ„ΠΎΡ€ΠΊ мастСр-рСпозитория

Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π²Β Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈΒ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π°Β Β«Π²ΠΈΠ»ΠΊΡƒΒ» с надписью fork.

ΠŸΠΎΡΠ²ΠΈΡ‚ΡΡ ΠΎΠΊΠ½ΠΎ Create aΒ new forkΒ β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ он называСтся Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, ΠΈΒ ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Create fork. Π§Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Ρƒ сСкунд всё Π³ΠΎΡ‚ΠΎΠ²ΠΎ.

ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌ Ρ„ΠΎΡ€ΠΊ Π½Π°Β ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Β β€” git clone

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΊΒ β€” Π·Π½Π°Ρ‡ΠΈΡ‚ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с кодом на своём ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Π’ΡƒΡ‚ Π½Π°ΠΌ и пригодится SSH.

ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈΒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π²Β ΠΏΠ°ΠΏΠΊΡƒ с будущим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌΒ β€” для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

cd your-project. Если Π²Ρ‹Β Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π»Π΅ΠΆΠ°Π» Π²Β ΠΏΠ°ΠΏΠΊΠ΅ device, Π²Π²Π΅Π΄ΠΈΡ‚Π΅

cd device

Если Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ Π½Π°Β ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π½Π΅Ρ‚, то сначала Π²Π²Π΅Π΄ΠΈΡ‚Π΅ md your-project, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ эту ΠΏΠ°ΠΏΠΊΡƒ, Π°Β Π·Π°Ρ‚Π΅ΠΌ cd your-project. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΒ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ….

Когда ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘Ρ‚Π΅ Π²Β ΠΏΠ°ΠΏΠΊΡƒ, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git clone для клонирования рСпозитория:

git clone [email protected]:your-nickname/your-project.git

Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ your-nickname на вашС имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π°Β GitHub, Π° your-project β€” Π½Π°Β Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠŸΡ€ΠΎΡ‰Π΅ всСго ΠΈΡ…Β Π½Π°ΠΉΡ‚ΠΈ прямо Π½Π°Π²Π΅Ρ€Ρ…Ρƒ страницы рСпозитория.

Если Π²Ρ‹Β ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ настроили SSH-ΠΊΠ»ΡŽΡ‡ΠΈ, Git скопируСт Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ на ваш ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€.

➜  device git clone [email protected]:academy-student/1173761-device-34.git
ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Β«1173761-device-34»…
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 15 (delta 0), reused 15 (delta 0), pack-reused 0
ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²: 100% (15/15), 145.07 ΠšΠΈΠ‘ | 900.00 ΠšΠΈΠ‘/с, Π³ΠΎΡ‚ΠΎΠ²ΠΎ.

Если Π²Ρ‹Β Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ Error: Permission denied (publickey), скорСС всСго, Π²Ρ‹Β ΠΎΡˆΠΈΠ±Π»ΠΈΡΡŒ в настройкС SSH-ΠΊΠ»ΡŽΡ‡Π°.

Π’Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ в этот Ρ€Π°Π·Π΄Π΅Π» инструкции ΠΈΒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ процСсс настройки.

ΠšΡΡ‚Π°Ρ‚ΠΈ, Ссли Π²Ρ‹Β Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ с проСктом у вас Π½Π°Β ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°Π»ΠΎΡΡŒ ΠΎΡ‚Β ΠΈΠΌΠ΅Π½ΠΈ рСпозитория, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ клонирования, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π²Β ΠΊΠΎΠ½Ρ†Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅:

git clone [email protected]:_your-nickname_/_your-project_.git folder_name

Π’Π΅ΠΏΠ΅Ρ€ΡŒ на вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π²Β ΠΏΠ°ΠΏΠΊΠ΅ your_project ΠΈΠ»ΠΈ Π²Β Ρ‚ΠΎΠΉ, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹Β ΡƒΠΊΠ°Π·Π°Π»ΠΈ, находится полная копия рСпозитория cΒ GitHub.

Π’Β ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΎΠ΄Π½Π° основная Π²Π΅Ρ‚ΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ создаёт сам GitΒ β€” ΠΎΠ½Π° называСтся master. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π²Β Π½Π΅ΠΉ хранят ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Π΅Π· ошибок.

А Ссли Π²Ρ‹Β Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π²Β ΠΊΠΎΠ΄Π΅ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Β ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π½ΠΎΒ Π½Π΅Β Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ в основной Π²Π΅Ρ‚ΠΊΠ΅, Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΈΠ· master ΠΈΒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΠ·Β Π½Π΅Ρ‘. КаТдая Π²Π΅Ρ‚ΠΊΠ°Β β€” Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ второстСпСнной Π΄ΠΎΡ€ΠΎΠ³ΠΈ, которая Π·Π°Ρ‚Π΅ΠΌ снова соСдинится с основной.

Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ β€” git branch

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈΒ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

git branch

Она ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ список Π²Π΅Ρ‚ΠΎΠΊ, с которыми ΠΌΡ‹Β Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π²Β ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, и выдСляСт Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ. Если мы находимся Π² master , то создаём Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

git checkout -b имя-Π½ΠΎΠ²ΠΎΠΉ-Π²Π΅Ρ‚ΠΊΠΈ.
➜  1173761-device-34 git:(master) git checkout -b task1
ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π½Π° Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Β«task1Β»
➜  1173761-device-34 git:(task1)

Если тСкущая Π²Π΅Ρ‚ΠΊΠ° Π½Π΅ master, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π°Β Π½Π΅Ρ‘ ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ checkout. ПослС git checkout Π½Π°Π΄ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½ΡƒΠΆΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ.

git checkout master

ΠœΡ‹Β Π΄Π΅Π»Π°Π΅ΠΌ это, Ρ‡Ρ‚ΠΎΠ±Ρ‹ новая Π²Π΅Ρ‚ΠΊΠ° содСрТала ΡΠ²Π΅ΠΆΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Если Π²Ρ‹Β ΠΎΡˆΠΈΠ±Π»ΠΈΡΡŒ Π²Β Π½Π°Π·Π²Π°Π½ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, допустили ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΡƒ, Π²Ρ‹Β ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

git branch -m староС-имя-Π²Π΅Ρ‚ΠΊΠΈ Π½ΠΎΠ²ΠΎΠ΅-имя-Π²Π΅Ρ‚ΠΊΠΈ.

БохраняСм измСнСния — git add

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ вы создали Π²Π΅Ρ‚ΠΊΡƒ ΠΈΒ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π²Β Π½Π΅ΠΉ у сСбя Π½Π°Β ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ появился Π²Β Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΈΒ Π½Π΅Β ΠΏΡ€ΠΎΠΏΠ°Π».

Если Π²Ρ‹Β Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ измСнСния нС во всСх Ρ„Π°ΠΉΠ»Π°Ρ…, для Π½Π°Ρ‡Π°Π»Π° Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git status. Она ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС в вашСй Π²Π΅Ρ‚ΠΊΠ΅, Π°Β ΠΈΠΌΠ΅Π½Π½ΠΎ список с названиями ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Ссли ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ, ΠΈΒ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚ Π½Π°Β Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‚ записи и сохранСния (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹ красным Ρ†Π²Π΅Ρ‚ΠΎΠΌ).

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всС измСнСния Ρ€Π°Π·ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

git add -A

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ измСнСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΈΡ…Β ΠΈΠΌΠ΅Π½Π° Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. НапримСр, Ссли Π²Ρ‹Β ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ» index.html, Π²Π²Π΅Π΄ΠΈΡ‚Π΅

git add index.html

Если Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΡ‡Π΅Π½ΡŒ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅, Π²Ρ‹Β Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ Π΅Π³ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Tab ΠΈΒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» сам ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡƒΡ‚ΠΈ ΠΊΒ Ρ„Π°ΠΉΠ»Ρƒ.

Π”Π΅Π»Π°Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Β β€” git commit

Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Β β€” Π·Π½Π°Ρ‡ΠΈΡ‚ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС сохранённыС измСнСния ΠΈΒ Π΄Π°Ρ‚ΡŒ ΠΈΠΌΒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. Π­Ρ‚ΠΎ дСлаСтся ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ commit

git commit -m "вашС сообщСниС"

ВСкст сообщСния Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΌ и вмСстС с этим ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒ ΠΎΒ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚ (внСсённыС измСнСния). НапримСр,

  • ДобавляСт имя наставника Π²Β Readme
  • Π’Π²ΠΎΠ΄ΠΈΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ сортировки ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ
  • ΠŸΡ€Π°Π²ΠΈΡ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ в поискС Π³ΠΎΡ€ΠΎΠ΄ΠΎΠ² Π½Π°Β ΠΊΠ°Ρ€Ρ‚Π΅

ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌ измСнСния Π½Π°Β GitHubΒ β€” git push

Π‘ΠΎΡ…Ρ€Π°Π½Ρ‘Π½Π½Ρ‹Π΅ измСнСния ΠΏΠΎΠΊΠ° Π½Π΅Β Π²ΠΈΠ΄Π½Ρ‹ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ находятся в нашСм локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. НуТно ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π½Π°Β GitHub. Для этого Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

git push origin Π½Π°Π·Π²Π°Π½ΠΈΠ΅-Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ-Π²Π΅Ρ‚ΠΊΠΈ

Π“Π΄Π΅ origin ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π°Β ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Ρ‚ΠΎΒ Π΅ΡΡ‚ΡŒ ваш Ρ„ΠΎΡ€ΠΊ. Π‘Π»ΠΎΠ²ΠΎ origin β€” Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, нС мСняйтС это Π½Π°Π·Π²Π°Π½ΠΈΠ΅ на своё.

Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ пулрСквСст

ΠŸΡƒΠ»Ρ€Π΅ΠΊΠ²Π΅ΡΡ‚ (ΠΈΠ»ΠΈ PR)Β β€” это ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π²Β Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. PRΒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ администратор мастСр-рСпозитория — это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ»Π»Π΅Π³Π°-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Ρ‚Π΅Ρ…Π»ΠΈΠ΄ ΠΈΠ»ΠΈ наставник на курсС.

Если ΠΊΒ ΠΊΠΎΠ΄Ρƒ Π½Π΅Ρ‚ вопросов, пулрСквСст принимаСтся. Если Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΒ β€” отклоняСтся, и придётся ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ и снова ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ git add β€” git commit β€” git push. Если Π²Ρ‹Β ΠΈΒ Π΄Π°Π»ΡŒΡˆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π²Β Ρ‚ΠΎΠΉΒ ΠΆΠ΅ Π²Π΅Ρ‚ΠΊΠ΅, а пулрСквСст Π΅Ρ‰Ρ‘ нС принят, всС ваши измСнСния автоматичСски добавятся в пулрСквСст, созданный из этой Π²Π΅Ρ‚ΠΊΠΈ послС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git push origin Π½Π°Π·Π²Π°Π½ΠΈΠ΅-Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ-Π²Π΅Ρ‚ΠΊΠΈ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ пулрСквСст, Π·Π°ΠΉΠ΄ΠΈΡ‚Π΅ на страницу вашСго Ρ„ΠΎΡ€ΠΊΠ° Π½Π°Β GitHub. Π’Π²Π΅Ρ€Ρ…Ρƒ появилась плашка Compare &Β pull request, Π°Β Π΅Ρ‰Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΉΡ‚ΠΈ Π½Π°Β Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Pull Requests.

НаТмитС Π½Π°Β Π½Π΅Ρ‘ ΠΈΒ ΠΎΠΊΠ°ΠΆΠ΅Ρ‚Π΅ΡΡŒ на страницС открытия пулрСквСста. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ описаниС ΠΈΒ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Create pull request.

Π“ΠΎΡ‚ΠΎΠ²ΠΎ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΆΠ΄Ρ‘ΠΌ остаётся ΠΆΠ΄Π°Ρ‚ΡŒ одобрСния пулрСквСста ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΊΒ Π½Π΅ΠΌΡƒ.

Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, вы исправили ΠΊΠΎΠ΄, Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΈΠ»ΠΈ наставник ΠΎΠ΄ΠΎΠ±Ρ€ΠΈΠ» ваши ΠΏΡ€Π°Π²ΠΊΠΈ и принял пулрСквСст.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠΎΠ΄ в мастСр-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ обновился, а в вашСм Ρ„ΠΎΡ€ΠΊΠ΅ Π½Π΅Ρ‚, Π²Ρ‹Β Π²Π΅Π΄ΡŒ нС обновляли свою Π²Π΅Ρ€ΡΠΈΡŽ рСпозитория с тСх ΠΏΠΎΡ€, ΠΊΠ°ΠΊ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Сё сСбС Π½Π°Β ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. ΠŸΡ€ΠΈΠ²Π΅Π΄Ρ‘ΠΌ Ρ„ΠΎΡ€ΠΊ Π²Β Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ состояниС.

Π’Β Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡΡ Π½Π°Β Π²Π΅Ρ‚ΠΊΡƒ master.

git checkout master

Π—Π°Π±ΠΈΡ€Π°Π΅ΠΌ измСнСния ΠΈΠ·Β Π²Π΅Ρ‚ΠΊΠΈ master мастСр-рСпозитория

git pull [email protected]:academy-student/1173761-device-34.git master

ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌ измСнСния ΡƒΠΆΠ΅ из своСй Π²Π΅Ρ‚ΠΊΠΈ master в ваш Ρ„ΠΎΡ€ΠΊ Π½Π°Β GitHub ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

git push origin master

Π“ΠΎΡ‚ΠΎΠ²ΠΎ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ„ΠΎΡ€ΠΊ ΠΈΒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ находятся Π²Β Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ состоянии.

Π‘Π»ΠΎΠ²Π°Ρ€ΠΈΠΊ

БистСма контроля вСрсий — ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая Ρ…Ρ€Π°Π½ΠΈΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ вСрсии ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, позволяСт ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ, Π²Π½ΠΎΡΠΈΡ‚ΡŒ ΠΈΒ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния.

GitΒ β€” самая популярная систСма контроля вСрсий. Π‘Β Git ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π».

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»: ΠΌΡ‹Β Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΒ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΎΡ‚Π²Π΅Ρ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Β β€” ΠΈΠ»ΠΈ всё ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, ΠΈΠ»ΠΈ Π³Π΄Π΅-Ρ‚ΠΎ ошибка, ΠΈΠ»ΠΈ Π½ΡƒΠΆΠ½ΠΎ ввСсти Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Ρ‘.

GitHub (ΠΈΠ»ΠΈ Π“ΠΈΡ‚Ρ…Π°Π±)Β β€” Π²Π΅Π±-сСрвис, основанный Π½Π°Β Git, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ совмСстно Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ IT-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. На ГитхабС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽΡ‚ свой ΠΈΒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‚ Ρ‡ΡƒΠΆΠΎΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ и слСдят за новостями Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

SSH-ΠΊΠ»ΡŽΡ‡ Π½ΡƒΠΆΠ΅Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊΒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ Π½Π°Β GitHub со своСго ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈΒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±Π΅Π· постоянного Π²Π²ΠΎΠ΄Π° пароля, Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сСрвСр нас ΡƒΠ·Π½Π°Π²Π°Π».

ssh-agentΒ β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для хранСния и управлСния SSH-ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ.

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉΒ β€” ΠΏΠ°ΠΏΠΊΠ° с файлами вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° на сСрвСрС GitHub ΠΈΠ»ΠΈ у вас Π½Π°Β ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

ΠœΠ°ΡΡ‚Π΅Ρ€-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉΒ β€” это ΠΎΠ±Ρ‰ΠΈΠΉ для всСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с рабочСй вСрсиСй ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π€ΠΎΡ€ΠΊΒ β€” полная копия мастСр-рСпозитория, Π²Β ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹Β ΠΌΠΎΠΆΠ΅Ρ‚Π΅ бСзопасно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΊΒ β€” ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git clone, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с кодом на своём ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

ΠŸΡƒΠ»Ρ€Π΅ΠΊΠ²Π΅ΡΡ‚ (ΠΈΠ»ΠΈ PR)Β β€” ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π²Β Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. PRΒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ администратор мастСр-рСпозитория — это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ»Π»Π΅Π³Π°-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Ρ‚Π΅Ρ…Π»ΠΈΠ΄ ΠΈΠ»ΠΈ наставник на курсС.

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

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

Learn Git β€” руководства, Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Git

основы Git

Git β€” это бСсплатная систСма управлСния вСрсиями с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ созданная Линусом Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠΎΠΌ Π² 2005 Π³ΠΎΠ΄Ρƒ. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π±ΠΎΠ»Π΅Π΅ старых Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… систСм управлСния вСрсиями, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ SVN ΠΈ CVS, Git являСтся распрСдСлСнным: ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ своСго рСпозитория ΠΊΠΎΠ΄Π° локально. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСпозитория ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Π½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ фиксация, ΠΎΠ±Π²ΠΈΠ½Π΅Π½ΠΈΠ΅, сравнСниС, слияниС ΠΈ рСгистрация, Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‚ΡΡ.

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

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Git

Π’ΠΎΡ‚ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Git:

  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Β«Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉΒ» (ΠΏΡ€ΠΎΠ΅ΠΊΡ‚) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструмСнта хостинга git (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Bitbucket)
  2. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ (ΠΈΠ»ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅) Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° свой Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€
  3. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ„Π°ΠΉΠ» Π² локальноС Ρ€Π΅ΠΏΠΎ ΠΈ «зафиксируйтС» (сохранитС) измСнСния
  4. «ΠžΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅» ваши измСнСния Π² Π²Π°ΡˆΡƒ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ
  5. ВнСситС измСнСния Π² свой Ρ„Π°ΠΉΠ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструмСнта хостинга git ΠΈ зафиксируйтС
  6. «Π’ытянитС» измСнСния Π½Π° свой Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€
  7. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ «Π²Π΅Ρ‚ΠΊΡƒ» (Π²Π΅Ρ€ΡΠΈΡŽ), сдСлайтС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
  8. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Β«pull requestΒ» (ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ измСнСния Π² основной Π²Π΅Ρ‚ΠΊΠ΅)
  9. Β«ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΒ» Π²Π°ΡˆΡƒ Π²Π΅Ρ‚ΠΊΡƒ с основной Π²Π΅Ρ‚ΠΊΠΎΠΉ

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git

Git Download

Mac OS/X

Download InstallerHomebrewMacPortsSourcetreeBuild Git для Mac OS X

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ Git

Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Git с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Bitbucket CloudΠ£Π·Π½Π°ΠΉΡ‚Π΅ ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ ΠΊΠΎΠ΄Π° Π² Bitbucket CloudLearn Π’Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Bitbucket CloudLearn ΠžΡ‚ΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Bitbucket Cloud

Новичок

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсийЧто Ρ‚Π°ΠΊΠΎΠ΅ GitΠŸΠΎΡ‡Π΅ΠΌΡƒ Git для вашСй ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈΠ£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΠ² GitGit SSHGitΠ¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° GitOpsGit

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹

Настройка рСпозиторияБохранСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡΠžΡ‚ΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ истории

БовмСстная Ρ€Π°Π±ΠΎΡ‚Π°

БинхронизацияБозданиС запроса Π½Π° Π²Ρ‹Ρ‚ΡΠ³ΠΈΠ²Π°Π½ΠΈΠ΅Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π΅Ρ‚Π²Π΅ΠΉΠ‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов

ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΡ Π½Π° Git

SVN Π² Git β€” ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Git с SVNPerforce Π½Π° Git β€” Π·Π°Ρ‡Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΡ с Perforce Π½Π° Git

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ совСты

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ руководства ΠΏΠΎ GitБлияниС ΠΈ ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Reset, Checkout ΠΈ RevertΠ Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ ΠΆΡƒΡ€Π½Π°Π» GitGit HooksRefs ΠΈ ReflogΠŸΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΠΈ GitGit subtreeGit LFSGit gcGit pruneΠ‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π² GitGit bashКак Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π΅Ρ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹Git cherry pickGitKGit-show

0004 9009 ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС руководства0034 ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½Ρ‹Π΅ сообщСния

Π‘Π°Ρ€Π° Π“ΠΎΡ„Ρ„-Π”ΡŽΠΏΠΎΠ½

ΠŸΡΡ‚ΡŒ совСтов ΠΏΠΎ рСпозиториям Git, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ для CI

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ

ΠœΡΡ‚Ρ‚ Π¨Π΅Π»Ρ‚ΠΎΠ½

Git ΠΈΠ»ΠΈ SVN? Как Nuance Healthcare Π²Ρ‹Π±Ρ€Π°Π»Π° модСль вСтвлСния Git?

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ

ΠœΡΡ‚Ρ‚ Π¨Π΅Π»Ρ‚ΠΎΠ½

Π Π°Π±ΠΎΡ‚Π° с зависимостями Maven ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π½Π° Git

ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ

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

Π—Π½Π°Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹.

..

Π€ΠΈΠ»ΠΈΠ°Π»

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅:Β  Π€ΠΈΠ»ΠΈΠ°Π» прСдставляСт собой Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡƒΡŽ линию развития. Π’Π΅Ρ‚ΠΊΠΈ слуТат абстракциСй для процСссов рСдактирования/стадии/фиксации, описанных Π² Git Basics, ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ этой сСрии. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΊΠ°ΠΊ способ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΈ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. НовыС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ€Π°Π·Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΡŽ истории ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС ссылки

Git Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС

  • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»
  • ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ установку Git
  • НастройтС Git
  • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
  • ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
    • ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SSH
    • ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ HTTPS
      • ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΎΠΊΠ΅Π½Π°
    • ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ локального ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
      • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ
      • ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²
    • Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° послСдних ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅
  • Π€ΠΈΠ»ΠΈΠ°Π»Ρ‹
    • Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ
    • ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ
    • ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ отличия
    • ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ измСнСния
    • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ измСнСния
      • ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС измСнСния
    • ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ измСнСния Π½Π° GitLab. com
    • Π£Π΄Π°Π»ΠΈΡ‚ΡŒ всС измСнСния Π² Π²Π΅Ρ‚ΠΊΠ΅
    • ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ
    • ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ послСднюю Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ
    • ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ с Π²Π΅Ρ‚ΠΊΠΎΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ΅ использованиС Git Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку
  • Бинхронизация ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π°Π·Π²Π΅Ρ‚Π²Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ с исходным

Git β€” это распрСдСлСнная систСма управлСния вСрсиями с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. GitLab создан ΠΏΠΎΠ²Π΅Ρ€Ρ… Git.

МногиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Git ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ нСпосрСдствСнно Π² GitLab. Однако командная строка трСбуСтся для слоТных Π·Π°Π΄Π°Ρ‡, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, исправлСниС слоТных ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² слияния ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ°Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

Если Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² Git ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ, работая Π½Π°Π΄ собствСнным ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚.

Для быстрого ознакомлСния с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Git Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ памятку Git.

Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ прСимущСствах Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git ΠΈ GitLab: