Π Π°Π·Π½ΠΎΠ΅

G i t: Git — Downloading Package

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

Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΈ Π² Ρ‡Ρ‘ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π°

Из этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ Π±Ρ‹Π²Π°ΡŽΡ‚ систСмы контроля вСрсий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° измСнСниями Π² ΠΊΠΎΠ΄Π΅. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ посмотрим, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ GitHub ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π΅Ρ‰Ρ‘ Π΅ΡΡ‚ΡŒ сСрвисы для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ Π’Ρ‹ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Π½Π΅ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΉ Π½Π°ΠΌΠΈ ΡΡ‚Π°Ρ‚ΡŒΠΈ.

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git

Git β€” распрСдСлённая систСма контроля вСрсий, которая Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния Π² Ρ„Π°ΠΉΠ»Π°Ρ… ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ совмСстно с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ. Она Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π² 2005 Π³ΠΎΠ΄Ρƒ Линусом Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠΎΠΌ, создатСлСм Linux, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³Π»ΠΈ Π²Π½ΠΎΡΠΈΡ‚ΡŒ свой Π²ΠΊΠ»Π°Π΄ Π² ядро Linux. Git извСстСн своСй ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ, простым Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΠΎΠ»Π½ΠΎΠΉ Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ эффСктивно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с большими ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ.

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ Git ΠΊ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Π½Π°Π±ΠΎΡ€ снимков ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ сохраняСтС состояниС своСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Git, систСма Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚, ΠΊΠ°ΠΊ выглядит ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² этот ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΈ сохраняСт ссылку Π½Π° этот снимок.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Git:

  • БСсплатный ΠΈ open-source. МоТно бСсплатно ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈ Π²Π½ΠΎΡΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ измСнСния Π² исходный ΠΊΠΎΠ΄;
  • НСбольшой ΠΈ быстрый. ВыполняСт всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ локально, Ρ‡Ρ‚ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π΅Π³ΠΎ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Git локально сохраняСт вСсь Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² нСбольшой Ρ„Π°ΠΉΠ» Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ качСства Π΄Π°Π½Π½Ρ‹Ρ…;
  • Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Git эффСктивСн Π² Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ бэкапов, поэтому извСстно ΠΌΠ°Π»ΠΎ случаСв, ΠΊΠΎΠ³Π΄Π° ΠΊΡ‚ΠΎ-Ρ‚ΠΎ тСрял Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ использовании Git;
  • ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅. Π’ Π΄Ρ€ΡƒΠ³ΠΈΡ… систСмах контроля вСрсий созданиС Π²Π΅Ρ‚ΠΎΠΊβ€” ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΈ трудоёмкая Π·Π°Π΄Π°Ρ‡Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ вСсь ΠΊΠΎΠ΄ копируСтся Π² Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. Π’ Git ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ эффСктивнСС.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΡ€Π° Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ GitHub ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Git.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ GitHub ΠΈ Ρ‡Π΅ΠΌ ΠΎΠ½ отличаСтся ΠΎΡ‚ Git

Как ΠΌΡ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ Π²Ρ‹ΡˆΠ΅, Git β€” это инструмСнт, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΡƒΡŽ систСму контроля вСрсий.

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

Git-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ Π½Π° GitHub, доступСн с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ интСрфСйса ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Git ΠΈ Git-ΠΊΠΎΠΌΠ°Π½Π΄. Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: докумСнтация, запросы Π½Π° принятиС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (pull requests), история ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², интСграция со мноТСством популярных сСрвисов, email-увСдомлСния, эмодзи, Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ списки Π·Π°Π΄Π°Ρ‡, систСма @ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠΉ, похоТая Π½Π° Ρ‚Ρƒ, Ρ‡Ρ‚ΠΎ Π² Twitter, ΠΈ Ρ‚.Π΄.

ΠšΡ€ΠΎΠΌΠ΅ GitHub Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ сСрвисы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Git, β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Bitbucket ΠΈ GitLab. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Git-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° любом ΠΈΠ· Π½ΠΈΡ….

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Git эффСктивнСС, посмотритС ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΡƒ ΡˆΠΏΠ°Ρ€Π³Π°Π»ΠΎΠΊ: ΠΎΡ‚ основ Π΄ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с GitHub.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСма контроля вСрсий

Π§Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΡƒΠΆΠ½ΠΎ Π΅Ρ‰Ρ‘ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСма контроля вСрсий.

БистСмы контроля вСрсий (Π‘ΠšΠ’, VCS, Version Control Systems) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ всС измСнСния, внСсённыС Π² ΠΊΠΎΠ΄. ΠŸΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ просто ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π΄ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ состояния ΠΈ Π½Π΅ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ часы Π½Π° поиски ошибок.

Π‘ΠšΠ’ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ нСскольким Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ внСсённыС измСнСния нСзависимо Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. ΠŸΡ€ΠΈ этом ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ участник ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚, Π½Π°Π΄ Ρ‡Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ.

Π’ΠΈΠΏΡ‹ систСм контроля вСрсий

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСма контроля вСрсий. Однако ΠΎΠ½ΠΈ Ρ‚ΠΎΠΆΠ΅ Π±Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ. БущСствуСт Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° Π‘ΠšΠ’: локальная, цСнтрализованная ΠΈ распрСдСлённая.

Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ систСмы контроля вСрсий (Π›Π‘ΠšΠ’)

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ локальной систСмы контроля вСрсий

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

Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ систСмы контроля вСрсий (Π¦Π‘ΠšΠ’)

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ систСмы контроля вСрсий

Π¦Π‘ΠšΠ’ Π±Ρ‹Π»ΠΈ созданы для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ взаимодСйствия с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ. Π’Π°ΠΊΠΈΠ΅ систСмы ΠΈΠΌΠ΅ΡŽΡ‚ СдинствСнный сСрвСр, содСрТащий всС вСрсии Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ количСство ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· этого Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΈ Ρ‚Π°ΠΌ ΠΆΠ΅ ΠΈΡ… ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ‚ сущСствСнный нСдостаток β€” Π²Ρ‹Ρ…ΠΎΠ΄ сСрвСра ΠΈΠ· строя обСрнётся ΠΏΠΎΡ‚Π΅Ρ€Π΅ΠΉ всСх Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ,Β Π² Ρ‚Π°ΠΊΠΈΡ… систСмах ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π½Π° одноврСмСнная Ρ€Π°Π±ΠΎΡ‚Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ.

РаспрСдСлённыС систСмы контроля вСрсий (Π Π‘ΠšΠ’)

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ распрСдСлённой систСмы контроля вСрсий

НСдостаток Π¦Π‘ΠšΠ’ Π±Ρ‹Π» исправлСн Π² Π Π‘ΠšΠ’, ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ просто ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ снимок всСх Ρ„Π°ΠΉΠ»ΠΎΠ² (состояниС Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ), Π° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π΅ΡΡ‚ΡŒ копия всСго исходного ΠΊΠΎΠ΄Π° ΠΈ внСсённых ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π’ этом случаС, Ссли ΠΎΠ΄ΠΈΠ½ ΠΈΠ· сСрвСров Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ ΠΈΠ· строя, любой клиСнтский Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ скопирован Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСрвСр для продолТСния Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π•Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΈΠΌ прСимущСством Π Π‘ΠšΠ’ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с нСсколькими ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΌΠΈ рСпозиториями. Благодаря этому Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ нСсколькими ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ. ИмСнно поэтому Git сСйчас Ρ‚Π°ΠΊ популярСн.

НС смСшно? А здСсь смСшно: @ithumor

Написано Π½Π° основС ΡΡ‚Π°Ρ‚ΡŒΠΈ Β«Difference Between Git and GitHubΒ»

Git β€” Π’ΠΈΠΊΠΈΡƒΡ‡Π΅Π±Π½ΠΈΠΊ

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΈΠ· Π’ΠΈΠΊΠΈΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ°Β β€” ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΊΠ½ΠΈΠ³ для ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°

Π­Ρ‚ΠΎ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ справочник ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ git. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Ρ‘Π½Π½ΠΎΡΡ‚ΡŒ ΠΎΠ± ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ использовании rebase ΠΏΡ€ΠΈ синхронизации с ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ.

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ настройка[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

  • git config —global user. email your.name@domain
  • git config —global user.name «Your Name»
  • git config —global push.default current
  • git clone <url рСпозитория>

Π Π°Π±ΠΎΡ‚Π° с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

  • созданиС Π²Π΅Ρ‚ΠΊΠΈ
    git branch <имя Π²Π΅Ρ‚ΠΊΠΈ>
  • ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
    git checkout <имя Π²Π΅Ρ‚ΠΊΠΈ>
  • Π΄Π²Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ вмСстС
    git checkout -b <имя Π²Π΅Ρ‚ΠΊΠΈ>
  • ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΠΈ Π² своСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ
    git branch
  • ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΠΈ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ
    git branch -r
  • созданиС ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ (ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠ΅)
    git push -u origin <имя Π²Π΅Ρ‚ΠΊΠΈ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ локальноС>
  • ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ локальной Π²Π΅Ρ‚ΠΊΠΈ
  1. git branch -d <имя Π²Π΅Ρ‚ΠΊΠΈ>. Но Π² этом случаС git ΠΈΠ½ΠΎΠ³Π΄Π° Π½ΠΎΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρƒ вас Π²Π΅Ρ‚ΠΊΠ° Π½Π΅ слита с HEADΠΎΠΌ ΠΈΠ»ΠΈ upstream-branch.
  2. git branch -D <имя Π²Π΅Ρ‚ΠΊΠΈ>. Π’Π°ΠΊ ΠΎΠ½ ΡƒΠ΄Π°Π»ΠΈΡ‚ Π² любом случаС, Π²Π½Π΅ зависимости ΠΎΡ‚ merged status Π²Π΅Ρ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ.
  • cинхронизация с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ
—взятиС, Π±Π΅Π· Ρ„Π»Π°Π³Π° rebase Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ merge, Π° с этим Ρ„Π»Π°Π³ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ rebase
  1. git pull —rebase
  2. git pull Π±Π΅Π· —rebase ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π—ΠΠŸΠ Π•Π©Π•ΠΠž! — это создаст ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… rebase ΠΈ слиянии Π²Π΅Ρ‚ΠΎΠΊ.
Π’Π°ΠΊΠΆΠ΅ рСкомСндуСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ

git config branch.autosetuprebase always
Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ автоматичСски Π²ΠΎ врСмя git pull Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ„Π»Π°Π³ —rebase
—ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π½Π° сСрвСр. послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ push’a с Ρ„Π»Π°Π³ΠΎΠΌ -u достаточно ΠΏΠΈΡΠ°Ρ‚ΡŒ лишь git push

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: CлияниС Π²Π΅Ρ‚ΠΊΠΈ с master Ρ‡Π΅Ρ€Π΅Π· rebase с ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π²Π΅Ρ‚ΠΊΠΈ master[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

— обновляСм master

git checkout master

git pull —rebase

— Ρ€Π΅Π±Π΅ΠΉΠ·ΠΈΠΌ Π²Π΅Ρ‚ΠΊΠΈ Π½Π° master
git checkout <имя Π²Π΅Ρ‚ΠΊΠΈ>
git rebase master

  • master ΠΏΡ€ΠΈ этом Π½Π΅ мСняСтся, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ просто Π²Π»ΠΈΡ‚ΡŒ Π² Π’Π°ΡˆΡƒ Π²Π΅Ρ‚ΠΊΡƒ ΠΎΠ±Ρ‰ΠΈΠ΅ измСнСния, Π½Π° этом Π½Π°Π΄ΠΎ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ.
  • Волько Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ git pull —rebase(Π² своСй Π²Π΅Ρ‚ΠΊΠ΅) ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ git push —force origin <имя Π²Π΅Ρ‚ΠΊΠΈ>, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠ·-Π·Π° Ρ€Π΅Π±Π΅ΠΉΠ·Π° <имя Π²Π΅Ρ‚ΠΊΠΈ> ΠΈ origin/<имя Π²Π΅Ρ‚ΠΊΠΈ> Ρ€Π°Π·ΠΎΡˆΠ»ΠΈΡΡŒ. Π˜Π½Π°Ρ‡Π΅, Ссли ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ pull —rebase Ρ‚ΠΎ Π²Ρ‹ снова ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΊ своСй Π²Π΅Ρ‚ΠΊΠ΅ свои ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹.
  • возвращаСмся ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, Π΄Π΅Π»Π°Π΅ΠΌ fast-forward merge ΠΈ Π²Ρ‹Π»ΠΈΠ²Π°Π΅ΠΌ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

git checkout master

git merge <имя Π±Ρ€Π°Π½Ρ‡Π°> (Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ написано fast-forward)

git push

Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

  1. Π² любимом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅
  2. git mergetool [—tool=<tool>]
  3. сторонниС gui git прилоТСния (Π’Π°Π»Π΅Ρ€Π° ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ smartgit)
  • исправлСниС ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²
  • ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ ΡˆΡ‚ΡƒΠΊΠ°, Ссли Π²Ρ‹ сдСлали ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ Π³Π»ΡƒΠΏΠΎΡΡ‚ΡŒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠΌΠ΅Ρ€Π΄ΠΆΠΈΠ»ΠΈΡΡŒ случайно c master):
git reflog
Π’Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ список Π’Π°ΡˆΠΈΡ… послСдних дСйствий. К Π»ΡŽΠ±ΠΎΠΌΡƒ ΠΈΠ· Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ Π²ΠΏΠΎΠ»Π½Π΅ стандартным способом:

git reset —hard HEAD@{n}
  • слияниС ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²
    git rebase -i <start_point> (Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ€Π΅Π±Π΅ΠΉΠ· начинаСтся послС start point’a)
  • исправлСниС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°
    git commit —amend
ΠΎΡ‚ΠΊΠ°Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°

git reset HEAD~<n> (сами Ρ„Π°ΠΉΠ»Ρ‹ Π² working tree останутся)
git reset —hard HEAD~<n> (working tree Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ останутся)
ΠΎΡ‚ΠΊΠ°Ρ‚ ΠΈΠ· индСкса

git reset <file name>
ΠΎΡ‚ΠΊΠ°Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°

git checkout HEAD <file name>
git checkout — <file name> (2-ΠΉ способ начиная с вСрсии git 1.6.1)
взятиС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² свой Π±Ρ€Π°Π½Ρ‡

git cherry-pick <commit>
взятиС нСсколько подряд ΠΈΠ΄ΡƒΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

git cherry-pick <commit_from>. .<commmit_to>

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

git push origin —delete <имя Π²Π΅Ρ‚ΠΊΠΈ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ>

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅[ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ]

http://git-scm.com/book

ВозмоТная модСль Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ master ΠΈ develop

Git для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² (Ρ‡Π°ΡΡ‚ΡŒ 1) / Π₯Π°Π±Ρ€

Π§Π°ΡΡ‚ΡŒ 2

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½?

Git — это консольная ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°, для отслСТивания ΠΈ вСдСния истории измСнСния Ρ„Π°ΠΉΠ»ΠΎΠ², Π² вашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Π§Π°Ρ‰Π΅ всСго Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ для Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ². НапримСр, для ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ — ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ².

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Git-a Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ старой вСрсии, ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΡΠ»ΠΈΠ²Π°Ρ‚ΡŒ свои измСнСния Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ вашСго ΠΊΠΎΠ΄Π° ΠΈ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Git Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ локально ΠΈ всС ваши Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ хранятся Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΏΠΊΠ°Ρ… Π½Π° ТСстком дискС.

Π’Π°ΠΊ ΠΆΠ΅ ваши Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Ρ€ΠΈ сСрвиса:

КаТдая Ρ‚ΠΎΡ‡ΠΊΠ° сохранСния вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° носит Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ (commit). Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ commit-a Π΅ΡΡ‚ΡŒ hash (ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ id) ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ. Из Ρ‚Π°ΠΊΠΈΡ… commit-ΠΎΠ² собираСтся Π²Π΅Ρ‚ΠΊΠ°. Π’Π΅Ρ‚ΠΊΠ° — это история ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π΅ΡΡ‚ΡŒ своС Π½Π°Π·Π²Π°Π½ΠΈΠ΅. Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² сСбС нСсколько Π²Π΅Ρ‚ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π΅Ρ‚ΠΎΠΊ ΠΈΠ»ΠΈ Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Π½ΠΈΡ….

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

Если ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ, Ρ‚ΠΎ ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ Ρ‡ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΡ‰Π΅ с ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΡ€ΡƒΠΆΠΎΠΊ, это commit. Π‘Ρ‚Ρ€Π΅Π»ΠΎΡ‡ΠΊΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΈΠ· ΠΊΠ°ΠΊΠΎΠ³ΠΎ commit сдСлан ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ. НапримСр C3 сдСлан ΠΈΠ· Π‘2 ΠΈ Ρ‚. Π΄. ВсС эти commit находятся Π² Π²Π΅Ρ‚ΠΊΠ΅ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ main. Π­Ρ‚ΠΎ основная Π²Π΅Ρ‚ΠΊΠ°, Ρ‡Π°Ρ‰Π΅ всСго Π΅Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ master . ΠŸΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ main* ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π² ΠΊΠ°ΠΊΠΎΠΌ commit ΠΌΡ‹ сСйчас находимся, ΠΏΡ€ΠΎΡ‰Π΅ говоря ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ.

Π’ ΠΈΡ‚ΠΎΠ³Π΅ получаСтся ΠΎΡ‡Π΅Π½ΡŒ простой Π³Ρ€Π°Ρ„, состоящий ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ (main) ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… commit. ВсС это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π² Π±ΠΎΠ»Π΅Π΅ слоТный Π³Ρ€Π°Ρ„, состоящий ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π΅Ρ‚ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½Ρƒ.

Об этом ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ…. Для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ.

Установка

Основой интСрфСйс для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git-ΠΎΠΌ являСтся консоль/Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π». Π­Ρ‚ΠΎ Π½Π΅ совсСм ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², поэтому ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с графичСским интСрфСйсом (ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ, Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ ΠΈ Ρ‚.Π΄.). О Π½ΠΈΡ… я расскаТу Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅.

Но для Π½Π°Ρ‡Π°Π»Π°, всС ΠΆΠ΅ установим сам Git.

  • Windows. ΠŸΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ этой ссылкС, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΠΎΠ΄ Π²Π°ΡˆΡƒ ОБ (32 ΠΈΠ»ΠΈ 64 Π±ΠΈΡ‚Π½ΡƒΡŽ), скачиваСм ΠΈ устанавливаСм.

  • Для Mac OS. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ пишСм:

#Если установлСн Homebrew
brew install git

#Если Π½Π΅Ρ‚, Ρ‚ΠΎ Π²Π²ΠΎΠ΄ΠΈΠΌ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ. 
git --version
#ПослС этого появится ΠΎΠΊΠ½ΠΎ, Π³Π΄Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Command Line Tools (CLT).
#БоглашаСмся ΠΈ ΠΆΠ΄Π΅ΠΌ установки. ВмСстС с CLT ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΈ git
# Debian ΠΈΠ»ΠΈ Ubuntu
sudo apt install git

# CentOS
sudo yum install git

Настройка

Π’Ρ‹ установили сСбС Git ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ. Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅Π³ΠΎ настроим, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ создавали commit, указывался Π°Π²Ρ‚ΠΎΡ€, ΠΊΡ‚ΠΎ Π΅Π³ΠΎ создал.

ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» (Linux ΠΈ MacOS) ΠΈΠ»ΠΈ консоль (Windows) ΠΈ Π²Π²ΠΎΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

#Установим имя для вашСго ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
#ВмСсто <вашС_имя> ΠΌΠΎΠΆΠ½ΠΎ ввСсти, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Grisha_Popov
#ΠšΠ°Π²Ρ‹Ρ‡ΠΊΠΈ оставляСм
git config --global user.name "<вашС_имя>"

#Π’Π΅ΠΏΠ΅Ρ€ΡŒ установим email. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ‚ΠΎΡ‚ ΠΆΠ΅.
git config --global user.email "<адрСс_ΠΏΠΎΡ‡Ρ‚Ρ‹@email.com>"

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ рСпозитория

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ с Git локально Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ наш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Для этого ΠΏΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΏΠ°ΠΏΠΊΡƒ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

#Для Linux ΠΈ MacOS ΠΏΡƒΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ /Users/UserName/Desktop/MyProject
#Для Windows Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π‘://MyProject
cd <ΠΏΡƒΡ‚ΡŒ_ΠΊ_Π²Π°ΡˆΠ΅ΠΌΡƒ_ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ>

#Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ/созданиС рСпозитория
git init

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Git отслСТиваСт измСнСния Ρ„Π°ΠΉΠ»ΠΎΠ² вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Но, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ создали Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² Π½Π΅ΠΌ Π½Π΅Ρ‚ вашСго ΠΊΠΎΠ΄Π°. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ commit.

#Π”ΠΎΠ±Π°Π²ΠΈΠΌ всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Π½Π°ΠΌ Π±ΡƒΠ΄ΡƒΡŽΡ‰ΠΈΠΉ commit
git add .
#Или Ρ‚Π°ΠΊ
git add --all

#Если Ρ…ΠΎΡ‚ΠΈΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ
git add <имя_Ρ„Π°ΠΉΠ»Π°> 

#Π’Π΅ΠΏΠ΅Ρ€ΡŒ создаСм commit. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ.
#И Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ ΠΏΡ€ΠΎ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ
git commit -m "<ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ>"

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ. Π’Ρ‹ создали свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ commit.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git

НС стоит послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСнСния Ρ„Π°ΠΉΠ»Π° Π΄Π΅Π»Π°Ρ‚ΡŒ commit. Π§Π°Ρ‰Π΅ всСго ΠΈΡ… ΡΠΎΠ·Π΄Π°ΡŽΡ‚, ΠΊΠΎΠ³Π΄Π°:

  • Π‘ΠΎΠ·Π΄Π°Π½ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Π±Π»ΠΎΠΊ Π½Π° вСрсткС

  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ ошибки ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ

  • Π’Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ дСнь ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄

Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π²Π°ΡˆΡƒ Π²Π΅Ρ‚ΠΊΠΈ Π² чистотС ΠΈ порядкС. Π’Π΅ΠΌ самым, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ нововвСдСнию Π² вашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Π° Π½Π΅ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ.

Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс

Как я ΠΈ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ» Ρ€Π°Π½Π΅Π΅, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для облСгчСния использования Git. НСкоторыС тСкстовыС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Π΅ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡƒΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ.

Но ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с Git. ΠœΠΎΠ³Ρƒ ΠΏΠΎΡΠΎΠ²Π΅Ρ‚ΠΎΠ²Π°Ρ‚ΡŒ эти:

Π― Π½Π΅ Π±ΡƒΠ΄Ρƒ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с этим ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Π²Ρ‹ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅ΠΌ Π½Π° GitHub

Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Visual Studio Code (VS Code).

ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° GitHub.

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ, Π³Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Если такая ΠΏΠ°ΠΏΠΊΠ° ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ, Ρ‚ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π½Π΅ Π½Π°Π΄ΠΎ.

ПослС ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ VS Code .

  1. УстановитС сСбС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ ΠΊΠΎΠ΄Π° для JavaScript ΠΈ PHP

  2. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π²Π°ΡˆΡƒ ΠΏΠ°ΠΏΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ создали Ρ€Π°Π½Π΅Π΅

ПослС этого Ρƒ вас появится Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ интСрфСйс

  1. Π—Π΄Π΅ΡΡŒ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ всС Ρ„Π°ΠΉΠ»Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

  2. Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Git-ΠΎΠΌ

  3. Кнопка для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°

  4. Кнопка для создания новой папки

Если ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ пустой, ΠΊΠ°ΠΊ Ρƒ мСня, Ρ‚ΠΎ создайтС Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈ Π½Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ Π΅Π³ΠΎ index. html . ПослС этого откроСтся ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ этого Ρ„Π°ΠΉΠ»Π°. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² Π½Π΅ΠΌ ! ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Tab . АвтоматичСски Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ скСлСт пустой HTML страницы. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π½Π°ΠΆΠ°Ρ‚ΡŒ ctrl+s Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ» сохранился.

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Π²ΠΎ Π²ΠΊΠ»Π°Π΄Ρƒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git-ΠΎΠΌ.

ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ:

  1. Кнопка для ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° GitHub

  2. ПослС наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ 1 , появится Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ. НуТно Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈΠ»ΠΈ Ρ‚Π°ΠΌ Π³Π΄Π΅ присутствуСт Ρ„Ρ€Π°Π·Π° ...public repository

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСрвис, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Initialize Repository . ПослС этого, Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ сСрвис ΠΊΡƒΠ΄Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ «ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ Π½Π° GitHub ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ» (ΠΏΡƒΠ½ΠΊΡ‚ 2), ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ Π²Π°ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ commit. ΠŸΡ€ΠΎΡΡ‚Π°Π²Π»ΡΠ΅ΠΌ Π³Π°Π»ΠΎΡ‡ΠΊΠΈ Ρƒ всСх Ρ„Π°ΠΉΠ»ΠΎΠ², Ссли Π½Π΅ проставлСны ΠΈ ΠΆΠΌΠ΅ΠΌ ОК . Вас ΠΏΠ΅Ρ€Π΅ΠΊΠΈΠ½Π΅Ρ‚ Π½Π° сайт GitHub, Π³Π΄Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ Π²Ρ…ΠΎΠ΄ Π² Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚.

Π’Ρ‹ создали ΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° GitHub.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ сдСлаСм измСнСния Π² ΠΊΠΎΠ΄Π΅ ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΈΡ… снова ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ„Π°ΠΉΠ», Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π½Π°ΠΆΠ°Ρ‚ΡŒ crtl+s (Windows) ΠΈΠ»ΠΈ cmd+s (MacOS), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ». Π’Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π²ΠΎ Π²ΠΊΠ»Π°Π΄Ρƒ управлСния Git.

Если ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π·Π½Π°Ρ‡ΠΎΠΊ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Git, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ†ΠΈΡ„Ρ€Ρƒ 1 Π² синСм ΠΊΡ€ΡƒΠΆΠΊΠ΅. Она ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, сколько Ρ„Π°ΠΉΠ»ΠΎΠ² Ρƒ нас ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ ΠΈ Π½Π΅Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‡Π΅Π½ΠΎ. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠΌ ΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌ:

  1. Кнопка для просмотра ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Π΅. ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ, ΡƒΠΊΠ°Π·Π°Π» для справки

  2. ДобавляСм наш Ρ„Π°ΠΉΠ» для Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ commit

  3. ПишСм ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

  4. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ commit

  5. ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌ наш commit Π² GitHub

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ, Π²Ρ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ commit ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΅Π³ΠΎ Π² GitHub!

Π˜Ρ‚ΠΎΠ³

Π­Ρ‚ΠΎ пСрвая вводная ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ Git. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ рассмотрСли:

  • Как Π΅Π³ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ

  • Как Π΅Π³ΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ

  • Как ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ commit Ρ‡Π΅Ρ€Π΅Π· консоль

  • Как Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ VS Code, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ свой ΠΊΠΎΠ΄ Π½Π° GitHub

ЗабСгая Π²ΠΏΠ΅Ρ€Π΅Π΄, ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ Π²Π°ΠΌ ΠΏΠΎΠ³ΡƒΠ³Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

git help # справка ΠΏΠΎ всСм ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ
git clone
git status
git branch
git checkout
git merge
git remote
git fetch
git push
git pull

P.S. Для облСгчСния обучСния, ΠΎΡΡ‚Π°Π²Π»ΡŽ Π²Π°ΠΌ ссылку Π½Π° бСсплатный Ρ‚Ρ€Π΅Π½Π°ΠΆΠ΅Ρ€ ΠΏΠΎ Git.

https://learngitbranching.js.org/

Π’ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ ΠΊΠ°Π½Π°Π»Π΅ Step by Step , я ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽ Π΅Ρ‰Π΅ большС ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° ΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠΆΡƒ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ стримы, для всСх ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΡ….

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ GIT Π² VisualΒ Studio | Microsoft Docs



  • Π§Ρ‚Π΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 9Β ΠΌΠΈΠ½

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅

Π’Π΅ΠΏΠ΅Ρ€ΡŒ GIT являСтся интСрфСйсом систСмы управлСния вСрсиями ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² VisualΒ Studio 2019.Git is now the default version control experience in Visual Studio 2019. Начиная с вСрсии 16.6 ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ созданиСм Π½Π°Π±ΠΎΡ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π° основС Π²Π°ΡˆΠΈΡ… ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ².Since version 16.6, we’ve worked on building out the feature set and iterating on it based on your feedback. Новый интСрфСйс Git ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ для всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… выпуск вСрсии 16.8.The new Git experience is turned on by default for everyone with the release of version 16.8.

Π‘ΠΎΠ²Π΅Ρ‚

GITΒ β€” это Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ соврСмСнная систСма управлСния вСрсиями, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ, Ρ‚Π°ΠΊ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.Git is the most widely used modern version control system, so whether you’re a professional developer or if you’re learning how to code, Git can be very useful to you. Если Π²Ρ‹ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с GIT, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ с Π²Π΅Π±-сайта https://git-scm.com/.If you are new to Git, the https://git-scm.com/ website is a good place to start. На Π½Π΅ΠΌ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ памятки, ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΡƒΡŽ ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΏΠΎ основам GIT.There, you’ll find cheat sheets, a popular online book, and Git Basics videos.

ИспользованиС GIT в Visual StudioHow to use Git in Visual Studio

ΠœΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расскаТСм Π²Π°ΠΌ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ интСрфСйс Git Π² Visual StudioΒ 2019. Однако Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΌ ΠΎΠ±Π·ΠΎΡ€ΠΎΠΌ, посмотритС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π²ΠΈΠ΄Π΅ΠΎ:We’ll walk you through how to use the new Git experience in Visual Studio 2019, but if you’d like to take a quick tour first, check out the following video:

Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎ: 05:27Β ΠΌΠΈΠ½.Video length: 5.27 minutes

БущСствуСт Ρ‚Ρ€ΠΈ способа Π½Π°Ρ‡Π°Ρ‚ΡŒ использованиС Git Π² Visual Studio для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ:There are three ways to start using Git with Visual Studio to be more productive:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Начиная с вСрсии 16.8 Visual StudioΒ 2019 Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ интСрфСйс для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡƒΡ‡Π΅Ρ‚Π½Ρ‹ΠΌΠΈ записями GitHub.Starting also with version 16.8, Visual Studio 2019 includes a fully integrated GitHub account experience. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ записи GitHub ΠΈ GitHub Enterprise.You can now add both GitHub and GitHub Enterprise accounts to your keychain. Π’Ρ‹ смоТСтС Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ записи ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ доступ ΠΊ рСсурсам GitHub Π² Visual Studio.You’ll be able to add and leverage them just as you do with Microsoft accounts, which means that you’ll have an easier time accessing your GitHub resources across Visual Studio. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π½Π° страницС Π Π°Π±ΠΎΡ‚Π° с ΡƒΡ‡Π΅Ρ‚Π½Ρ‹ΠΌΠΈ записями GitHub Π² Visual Studio.For more information, see the Work with GitHub accounts in Visual Studio page.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ рСпозитория GITCreate a new Git repository

Если ваш ΠΊΠΎΠ΄ Π½Π΅ связан с GIT, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ с создания Π½ΠΎΠ²ΠΎΠ³ΠΎ рСпозитория GIT. If your code is not associated with Git, you can start by creating a new Git repository. Для этого Π² строкС мСню Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ GIT > Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ GIT.To do so, select Git > Create Git Repository from the menu bar. Π—Π°Ρ‚Π΅ΠΌ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ рСпозитория GIT Π²Π²Π΅Π΄ΠΈΡ‚Π΅ свои Π΄Π°Π½Π½Ρ‹Π΅.Then, in the Create a Git repository dialog box, enter your information.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ рСпозитория GIT ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² GitHub.The Create a Git repository dialog box makes it easy to push your new repository to GitHub. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ являСтся частным. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ доступ ΠΊ Π½Π΅ΠΌΡƒ Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ вас.By default, your new repository is private, which means that you are the only one who can access it. Если ΡΠ½ΡΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π»Π°ΠΆΠΎΠΊ, Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ общСдоступным. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ любой ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π² GitHub смоТСт Π΅Π³ΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ.If you uncheck the box, your repository will be public, which means that anyone on GitHub can view it.

Π‘ΠΎΠ²Π΅Ρ‚

НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, являСтся Π»ΠΈ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ общСдоступным ΠΈΠ»ΠΈ частным, Π»ΡƒΡ‡ΡˆΠ΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½ΡƒΡŽ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию ΠΊΠΎΠ΄Π°, которая Π±ΡƒΠ΄Π΅Ρ‚ бСзопасно Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² GitHub, Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ сами ΠΏΠΎ сСбС.Whether your repository is public or private, it’s best to have a remote backup of your code stored securely on GitHub even if you are not working with a team. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ ΠΊΠΎΠ΄Ρƒ с любого ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.This also makes your code available to you no matter what computer you’re using.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ GIT, Π²Ρ‹Π±Ρ€Π°Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Волько Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ.You can choose to create a local-only Git repository by using the Local only option. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с Π»ΡŽΠ±Ρ‹ΠΌ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ пустым ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹ΠΌ Ρƒ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ поставщика GIT, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ. Or, you can link your repository with any existing empty remote repository on any other Git provider by using the Existing remote option.

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ рСпозитория GITClone an existing Git repository

Π’ Visual Studio процСсс клонирования прост.Visual Studio includes a straightforward clone experience. Если Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ URL-адрСс рСпозитория, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ РасполоТСниС рСпозитория, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ мСсто Π½Π° дискС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.If you know the URL of the repository that you would like to clone, you can paste the URL in the Repository location section and then choose the disk location you would like Visual Studio to clone to.

Если Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ URL-адрСс рСпозитория, Π² VisualΒ Studio ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ GitHub ΠΈΠ»ΠΈ Azure DevOps ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΅Π³ΠΎ.If you don’t know the repository URL, Visual Studio makes it easy to browse to and then clone your existing GitHub or Azure DevOps repository.

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ локального рСпозиторияOpen an existing local repository

ПослС клонирования ΠΈΠ»ΠΈ создания рСпозитория GIT Visual Studio ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ Π΅Π³ΠΎ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ Π² список Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π² мСню GIT.After you’ve cloned a repository or created one, Visual Studio detects the Git repository and adds it to your list of Local Repositories in the Git menu. Π’ Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ быстро ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ GIT ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ.From here, you can quickly access and switch between your Git repositories.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΎΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚Π΅Π»Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉView files in Solution Explorer

ΠŸΡ€ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ рСпозитория ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ локального рСпозитория VisualΒ Studio ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² этот контСкст GIT, сохраняя ΠΈ закрывая всС Ρ€Π°Π½Π΅Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹.When you clone a repository or open a local repository, Visual Studio switches you into that Git context by saving and closing any previously open solutions and projects. ΠžΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚Π΅Π»ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΏΠ°ΠΏΠΊΡƒ Π² ΠΊΠΎΡ€Π½Π΅ рСпозитория GIT ΠΈ провСряСт Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² прСдставлСний.Solution Explorer loads the folder at the root of the Git repository and scans the directory tree for any View files. К Π½ΠΈΠΌ относятся Ρ‚Π°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠ°ΠΊ CMakeLists.txt ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ SLN.These include files such as CMakeLists.txt or those with the .sln file extension.

Visual Studio настраиваСт прСдставлСниС Π² зависимости ΠΎΡ‚ Ρ„Π°ΠΉΠ»Π° прСдставлСния, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΎΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚Π΅Π»Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ.Visual Studio adjusts its View based on which View file you load in Solution Explorer:

  • ΠŸΡ€ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ рСпозитория, содСрТащСго ΠΎΠ΄ΠΈΠ½ SLN-Ρ„Π°ΠΉΠ», ΠΎΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚Π΅Π»ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ это Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.If you clone a repository that contains a single .sln file, then Solution Explorer directly loads that solution for you.
  • Если ΠΎΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚Π΅Π»ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ² SLN Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ½ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ прСдставлСниС ΠΏΠ°ΠΏΠΊΠΈ.If Solution Explorer doesn’t detect any .sln files in your repository, then by default it loads Folder View.
  • Если Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ содСрТит нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² SLN, Ρ‚ΠΎ ΠΎΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚Π΅Π»ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ список доступных прСдставлСний для Π²Ρ‹Π±ΠΎΡ€Π°.If your repository has more than one .sln file, then Solution Explorer shows you the list of available Views for you to choose from.

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ прСдставлСниСм ΠΈ списком прСдставлСний ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ прСдставлСния Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов обозрСватСля Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ.You can toggle between the currently open View and the list of Views by using the Switch Views button in the Solution Explorer toolbar.

Окно «Π˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΡ GIT»Git Changes window

GIT отслСТиваСт измСнСния Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ раздСляСт Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° Ρ‚Ρ€ΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ.Git tracks file changes in your repo as you work, and separates the files in your repo into three categories. Π­Ρ‚ΠΎ Ρ‚Π΅ ΠΆΠ΅ измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git status Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. These changes are equivalent to what you would see when you enter the git status command in the command line:

  • Π€Π°ΠΉΠ»Ρ‹ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ: эти Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСй фиксации.Unmodified files: These files haven’t changed since your last commit.
  • Π˜Π·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹: эти Ρ„Π°ΠΉΠ»Ρ‹ измСнились с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСй фиксации, Π½ΠΎ Π΅Ρ‰Π΅ Π½Π΅ Π±Ρ‹Π»ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ фиксации.Modified files: These files have changes since your last commit, but you haven’t yet staged them for the next commit.
  • ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹: эти Ρ„Π°ΠΉΠ»Ρ‹ содСрТат измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ.Staged files: These files have changes that will be added to the next commit.

Π’ процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ Visual Studio отслСТиваСт измСнСния Π² Ρ„Π°ΠΉΠ»Π°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ИзмСнСния ΠΎΠΊΠ½Π° ИзмСнСния GIT.As you do your work, Visual Studio keeps track of the file changes to your project in the Changes section of the Git Changes window.

Когда Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ измСнСния, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ + (плюс) для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ, ΠΈΠ»ΠΈ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚ ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ.When you are ready to stage changes, click the + (plus) button on each file you want to stage, or right-click a file and then select Stage. МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ всС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΎΠ΄Π½ΠΈΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всС» ( + ) Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части Ρ€Π°Π·Π΄Π΅Π»Π° ИзмСнСния.You can also stage all your modified files with one click by using the stage all + (plus) button at the top of the Changes section.

ΠŸΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ измСнСния Visual Studio создаСт Ρ€Π°Π·Π΄Π΅Π» ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ измСнСния. When you stage a change, Visual Studio creates a Staged Changes section. Волько измСнСния ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»Π° ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ измСнСния Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ фиксации, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ, Π²Ρ‹Π±Ρ€Π°Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅.Only changes in the Staged Changes section are added to the next commit, which you can do by selecting Commit Staged. ЭквивалСнтная ΠΊΠΎΠΌΠ°Π½Π΄Π° для этого дСйствия — git commit -m "Your commit message".The equivalent command for this action is git commit -m "Your commit message". МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ – Β (минус).Changes can also be unstaged by clicking the – (minus) button. ЭквивалСнтная ΠΊΠΎΠΌΠ°Π½Π΄Π° для этого дСйствия — git reset <file_path> для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ размСщСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ git reset <directory_path> для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ размСщСния всСх Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.The equivalent command for this action is git reset <file_path> to unstage a single file or git reset <directory_path> to unstage all the files in a directory.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², пропустив ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ.You can also choose not to stage your modified files by skipping the staging area. Π’ этом случаС VisualΒ Studio позволяСт Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ.In this case, Visual Studio allows you to commit your changes directly without having to stage them. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ сообщСниС ΠΎ фиксации ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС.Just enter your commit message and then select Commit All. ЭквивалСнтная ΠΊΠΎΠΌΠ°Π½Π΄Π° для этого дСйствия — git commit -a.The equivalent command for this action is git commit -a.

Visual Studio Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ ΠΈ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΎΠ΄Π½ΠΈΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ярлыков Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈ Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС ΠΈ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Visual Studio also makes it easy to commit and sync with one click by using the Commit All and Push and Commit All and Sync shortcuts. Если Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ любой Ρ„Π°ΠΉΠ» Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ИзмСнСния ΠΈΠ»ΠΈ ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ измСнСния, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ построчно ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Ρ„Π°ΠΉΠ»Π° с Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΉ.When you double-click any file in the Changes and the Staged changes sections, you can see a line-by-line comparison with the unmodified version of the file.

Π‘ΠΎΠ²Π΅Ρ‚

Если Π²Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ AzureΒ DevOps, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ элСмСнт AzureΒ DevOps с фиксациСй, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ символ #.You can associate an Azure DevOps work item with a commit by using the «#» character if you are connected to the Azure DevOps repository. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ AzureΒ DevOps, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Team Explorer > Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ.You can connect your Azure DevOps repository through Team Explorer > Manage Connections.

Π’Ρ‹Π±ΠΎΡ€ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π²Π΅Ρ‚Π²ΠΈSelect an existing branch

Π’ Visual Studio тСкущая Π²Π΅Ρ‚Π²ΡŒ отобраТаСтся Π² сСлСкторС Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части ΠΎΠΊΠ½Π° ИзмСнСния GIT.Visual Studio displays the current branch in the selector at the top of the Git Changes window.

ВСкущая Π²Π΅Ρ‚Π²ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ доступна Π² строкС состояния Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ VisualΒ Studio.The current branch is also available in the status bar on the bottom-right corner of the Visual Studio IDE.

Π’ ΠΎΠ±ΠΎΠΈΡ… мСстах ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΠΈΡΡ вСтвями.From both locations, you can switch between existing branches.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅Ρ‚Π²ΠΈCreate a new branch

МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ.You can also create a new branch. ЭквивалСнтная ΠΊΠΎΠΌΠ°Π½Π΄Π° для этого дСйствия — git checkout <branchname>.The equivalent command for this action is git checkout <branchname>.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Π΅Ρ‚Π²ΡŒ, достаточно ввСсти Π΅Π΅ имя ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ, Π½Π° основС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ создана данная.Creating a new branch is as simple as entering the branch name and basing it off an existing branch.

Π’ качСствС Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ.You can choose an existing local or remote branch as the base. Если Ρ„Π»Π°ΠΆΠΎΠΊ Π˜Π·Π²Π»Π΅Ρ‡ΡŒ Π²Π΅Ρ‚Π²ΡŒ установлСн, Π²Ρ‹ автоматичСски ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ послС Π΅Π΅ создания.The Checkout branch checkbox automatically switches you to the newly created branch. ЭквивалСнтная ΠΊΠΎΠΌΠ°Π½Π΄Π° для этого дСйствия — git checkout -b <new-branch><existing-branch>.The equivalent command for this action is git checkout -b <new-branch><existing-branch>.

Окно «Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ GIT»Git Repository window

Π’ Visual Studio имССтся Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ GIT, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ прСдставлСны всС свСдСния ΠΎ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ всС Π²Π΅Ρ‚Π²ΠΈ, ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ ΠΆΡƒΡ€Π½Π°Π»Ρ‹ фиксации.Visual Studio has a new Git Repository window, which is a consolidated view of all the details in your repository, including all of the branches, remotes, and commit histories. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ это ΠΎΠΊΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ· мСню GIT ΠΈΠ»ΠΈ Π’ΠΈΠ΄ Π»ΠΈΠ±ΠΎ нСпосрСдствСнно ΠΈΠ· строки состояния.You can access this window directly from either Git or View on the menu bar or from the status bar.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСтвямиManage branches

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Π² мСню GIT ΠΏΡƒΠ½ΠΊΡ‚Π° Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСтвями отобраТаСтся Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠ΅ прСдставлСниС Π²Π΅Ρ‚Π²Π΅ΠΉ Π² ΠΎΠΊΠ½Π΅ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ GIT.When you select Manage Branches from the Git menu, you’ll see the branches tree-view in the Git Repository window. Π’ Π»Π΅Π²ΠΎΠΉ области ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ контСкстноС мСню для извлСчСния, создания, объСдинСния Π²Π΅Ρ‚Π²Π΅ΠΉ, пСрСмСщСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ, ΠΎΡ‚Π±ΠΎΡ€Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… дСйствий.From the left pane, you can use the right-click context menu to checkout branches, create new branches, merge, rebase, cherry-pick, and more. Π©Π΅Π»ΠΊΠ½ΡƒΠ² Π²Π΅Ρ‚Π²ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Π΅ ΠΆΡƒΡ€Π½Π°Π» фиксаций Π² ΠΏΡ€Π°Π²ΠΎΠΉ области.When you click the branch, you can see a preview of its commit history in the right pane.

ВходящиС ΠΈ исходящиС фиксацииIncoming and outgoing commits

ΠŸΡ€ΠΈ принСсСнии Π²Π΅Ρ‚Π²ΠΈ Π² ΠΎΠΊΠ½Π΅ ИзмСнСния GIT ΠΏΠΎΠ΄ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌΡΡ списком Π²Π΅Ρ‚Π²Π΅ΠΉ отобраТаСтся ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ количСство фиксаций, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π±Ρ‹Π»ΠΈ вытянуты ΠΈΠ· ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ.When you fetch a branch, the Git Changes window has an indicator under the branch drop-down, which displays the number of unpulled commits from the remote branch. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ число Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… фиксаций, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π±Ρ‹Π»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹.This indicator also shows you the number of unpushed local commits.

Π˜Π½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚Π°ΠΊΠΆΠ΅ являСтся ссылкой, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΆΡƒΡ€Π½Π°Π»Ρƒ фиксаций этой Π²Π΅Ρ‚Π²ΠΈ Π² ΠΎΠΊΠ½Π΅ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ GIT.The indicator also functions as a link to take you to the commit history of that branch in the Git Repository window. Π’ Π½Π°Ρ‡Π°Π»Π΅ ΠΆΡƒΡ€Π½Π°Π»Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ свСдСния ΠΎΠ± этих входящих ΠΈ исходящих фиксациях.The top of the history now displays the details of these incoming and outgoing commits. Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Ρ‚ΡΠ½ΡƒΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ фиксации.From here, you can also decide to Pull or Push the commits.

БвСдСния ΠΎ фиксацииCommit Details

Если Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ, Π² VisualΒ Studio ΠΎΡ‚ΠΊΡ€ΠΎΡŽΡ‚ΡΡ свСдСния ΠΎ Π½Π΅ΠΉ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ инструмСнтов.When you double-click a Commit, Visual Studio opens its details in a separate tool window. Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ, ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π΅Π΅, ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ сообщСниС ΠΎ фиксации ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π΅Π³ для Π½Π΅Π΅.From here you can revert the commit, reset the commit, amend the commit message, or create a tag on the commit. Если Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² фиксации, Π² VisualΒ Studio откроСтся инструмСнт сравнСния, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ рядом Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ фиксация ΠΈ Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΎΠΊ.When you click a changed file in the commit, Visual Studio opens the side-by-side Diff view of the commit and its parent.

Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² слиянияHandle merge conflicts

Π’ΠΎ врСмя слияния ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹, Ссли Π΄Π²Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ строки Π² Ρ„Π°ΠΉΠ»Π΅ ΠΈ GIT нСизвСстно, ΠΊΠ°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ.Conflicts can occur during a merge if two developers modify the same lines in a file and Git doesn’t automatically know which is correct. Π’ этом случаС GIT ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ слияниС ΠΈ сообщаСт ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π½ΠΎΠΌ состоянии.Git halts the merge and informs you that you are in a conflicted state.

Π’ Visual Studio ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ слияния.Visual Studio makes it easy to identify and resolve a merge conflict. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части ΠΎΠΊΠ½Π° Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ GIT имССтся золотистая информационная панСль.First, the Git Repository window shows a gold info bar at the top of the window.

Π’ ΠΎΠΊΠ½Π΅ ИзмСнСния GIT Ρ‚Π°ΠΊΠΆΠ΅ выводится сообщСниС БлияниС выполняСтся с ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌΠΈ, ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹, слияниС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ Π±Ρ‹Π»ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ.The Git Changes window also displays a β€˜Merge is in progress with conflicts’ message, with the unmerged files in their separate section below it.

Но Ссли Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· этих ΠΎΠΊΠΎΠ½ Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ ΠΈ Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ с ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌΠΈ слияния, Π²Π°ΠΌ Π½Π΅ придСтся ΠΈΡΠΊΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ тСкст:But if you have neither of these windows open, and instead you go to the file that has merge conflicts, you won’t have to search for the following text:

    <<<<<<< HEAD
    =======
    >>>>>>> main

ВмСсто этого Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части страницы Π² VisualΒ Studio отобраТаСтся золотистая информационная панСль с сообщСниСм ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅.Instead, Visual Studio displays a gold info bar on the top of the page that indicates that the opened file has conflicts. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ссылку, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ слияния.Then, you can click the link to open the Merge Editor.

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ слиянияThe Merge Editor

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ слияния Π² Visual Studio позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ трСхстороннСС сравнСниС: Π² Π½Π΅ΠΌ приводятся входящиС измСнСния, Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ измСнСния ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ слияния.The Merge Editor in Visual Studio is a three-way merge tool that displays the incoming changes, your current changes, and the result of the merge. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов Π²Π²Π΅Ρ€Ρ…Ρƒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° слияния ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌΠΈ ΠΈ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ автоматичСского слияния Π² Ρ„Π°ΠΉΠ»Π΅.You can use the tool bar at the top level of the Merge Editor to navigate between conflicts and auto-merged differences in the file.

МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ для отобраТСния ΠΈ скрытия Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ, отобраТСния ΠΈ скрытия Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² словах ΠΈ настройки ΠΌΠ°ΠΊΠ΅Ρ‚Π°.You can also use the toggles to show/hide differences, show/hide word differences, and customize the layout. Π’Π²Π΅Ρ€Ρ…Ρƒ с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ стороны Π΅ΡΡ‚ΡŒ Ρ„Π»Π°ΠΆΠΊΠΈ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ пСрСнСсти всС измСнСния с ΠΎΠ΄Π½ΠΎΠΉ стороны Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ.There are checkboxes on the top of each side that you can use to take all the changes from one side or the other. Π§Ρ‚ΠΎΠ±Ρ‹ пСрСнСсти ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ измСнСния, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„Π»Π°ΠΆΠΊΠΈ слСва ΠΎΡ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΡ… строк с любой стороны.But to take individual changes, you can click the checkboxes to the left of the conflicting lines on either side. Π—Π°Π²Π΅Ρ€ΡˆΠΈΠ² Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ², Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ слияния ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠŸΡ€ΠΈΠ½ΡΡ‚ΡŒ слияниС.Finally, when you finish resolving the conflicts, you can select the Accept Merge button in the Merge Editor. ПослС этого Π½ΡƒΠΆΠ½ΠΎ ввСсти сообщСниС ΠΎ фиксации ΠΈ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ процСсс Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.You then write a commit message and commit the changes to complete the resolution.

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² GITPersonalize your Git settings

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ GIT Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ рСпозитория, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° глобальном ΡƒΡ€ΠΎΠ²Π½Π΅, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π² строкС мСню ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ GIT > ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈΠ»ΠΈ БСрвис > ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ > Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ исходным ΠΊΠΎΠ΄ΠΎΠΌ.To personalize and customize your Git settings at a repository level as well as at a global level, go to either Git > Settings on the menu bar, or to Tools > Options > Source Control on the menu bar. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.Then, choose the options you want.

ИспользованиС всСх возмоТностСй Team Explorer Π² VisualΒ StudioHow to use the full Team Explorer experience in Visual Studio

Новый интСрфСйс GIT β€” это систСма контроля вСрсий ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² VisualΒ Studio 2019 начиная с вСрсии 16.8.The new Git experience is the default version control system in Visual Studio 2019 from version 16.8 onwards. Однако ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ этот интСрфСйс ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ.However, if you want to turn it off, you can. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π² Team Explorer для Git, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ БрСдства > ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ > Π‘Ρ€Π΅Π΄Π° > Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ вСрсии ΠΈ снимитС Ρ„Π»Π°ΠΆΠΎΠΊ Новый ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс Git.Go to Tools > Options > Environment > Preview Features and then toggle the New Git user experience checkbox, which will switch you back to Team Explorer for Git.

Π§Ρ‚ΠΎ дальшС?What’s next

Π₯отя Π½ΠΎΠ²Ρ‹ΠΉ интСрфСйс GIT Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² VisualΒ Studio 2019 вСрсии 16.8, ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Π΅Π³ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡ.While the new Git experience is now on by default in Visual Studio 2019 version 16.8, we continue to add new features to enhance the experience. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π½ΠΎΠ²Ρ‹ΠΌΠΈ обновлСниями для интСрфСйса GIT Π² ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ вСрсии, скачайтС ΠΈ установитС Π΅Π΅ со страницы Visual Studio Preview.If you’d like to check out new updates to the Git experience in a Preview release, you can download and install it from the Visual Studio Preview page.

Π’Π°ΠΆΠ½ΠΎ!

Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΎΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ Π΅Π³ΠΎ Π½Π°ΠΌ.If you have a suggestion for us, please let us know! ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π΄Ρ‹ Π²Π°ΡˆΠ΅ΠΌΡƒ ΡƒΡ‡Π°ΡΡ‚ΠΈΡŽ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π° ΠΏΠΎΡ€Ρ‚Π°Π»Π΅ БообщСства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².We appreciate the opportunity to engage with you on design decisions via the Developer Community portal.

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π΄Π΅Π»See also

Git: руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. РазбираСмся с основными концСпциями систСмы контроля вСрсий

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ
Β«Git: The Beginner’s Guide to Understanding Core Version Control
ConceptsΒ».

Git это ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½Ρ‹ΠΉ инструмСнт Π²
арсСналС любого Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

НапримСр, Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π½Π° днях этот
инструмСнт ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» ΠΌΠ½Π΅ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ
Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ» Π²
ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½ (ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ моя Π²ΠΈΠ½Π°), ΠΈ
ΡƒΡˆΠ»ΠΎ Π½Π° это всСго 20 ΠΌΠΈΠ½ΡƒΡ‚. Π‘Π΅Π· Git исправлСниС
Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, вСроятно, заняло Π±Ρ‹
нСсколько днСй.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΡƒΠ΄Π΅Π»ΠΈΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π½ΡŒΠΊΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π²
основном Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅ Git: стСйдТингС ΠΈ
ΠΊΠΎΠΌΠΌΠΈΡ‚Π°Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚
Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΎ GitHub β€” стороннСм сСрвисС,
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΎΠ±Π»Π°ΠΊΠ΅. Git
Π»ΠΎΠΊΠ°Π»Π΅Π½, Π° GitHub это ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
Π­Ρ‚ΠΎ Π΄Π²Π° ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… инструмСнта,
нСсмотря Π½Π° ΠΎΠ±Ρ‰Π΅Π΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий?

Если Π²Ρ‹ достаточно взрослый Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ,
Π²Ρ‹, вСроятно, ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΌΠΈΡ€ Π΄ΠΎ появлСния
Google Drive/Docs/Sheets ΠΈ Π²Π°ΠΌ Π·Π½Π°ΠΊΠΎΠΌΡ‹ ситуации
Π²Ρ€ΠΎΠ΄Π΅ Ρ‚Π°ΠΊΠΎΠΉ, ΠΊΠ°ΠΊ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅:

Group_Paper_All_4_Members_Sections_Included_Final_Draft_Final_3πŸ˜”.docx

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ Π³Ρ€ΡƒΠΏΠΏΠΎΠ²Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ
нСсколько Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
нСсколько ΠΊΠΎΠΏΠΈΠΉ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°,
Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ получаСтся ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ².
Если Π΄Π²Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚
ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ
ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΈ ΡΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅
Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ.

РСального способа ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
Ρ€Π°Π·Π½Ρ‹Π΅ вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° просто Π½Π΅
сущСствовало. Π­Ρ‚ΠΎ Π±Ρ‹Π» Π”ΠΈΠΊΠΈΠΉ Π—Π°ΠΏΠ°Π΄.

Git Ρ€Π΅ΡˆΠ°Π΅Ρ‚ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄ для Π½ΠΎΠ²ΠΎΠ³ΠΎ
Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° Π² вашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅
Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π»ΠΎΠΌΠ°Π΅Ρ‚Π΅ Π² Π½Π΅ΠΌ β€” Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, прСкрасно
Ρ€Π°Π±ΠΎΡ‚Π°Π²ΡˆΠ΅Π΅ Ρ€Π°Π½Π΅Π΅. Π’Ρ‹ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚Π΅
прСдставлСния, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ прячСтся Π±Π°Π³
ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ. И Π²Ρ‹ ΡƒΠΆΠ΅ Π·Π°ΠΊΡ€Ρ‹Π»ΠΈ
Ρ„Π°ΠΉΠ» Π² вашСм Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅
просто ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ послСдниС дСйствия. Π’
Ρ‚Π°ΠΊΠΈΡ… ситуациях Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Git.

Π›Π°Π΄Π½ΠΎ, Π° ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Git ΠΌΠΎΠΆΠ΅Ρ‚
ΠΏΠΎΠΌΠΎΡ‡ΡŒ?

Основная функция Git β€” созданиС Ρ‚ΠΎΡ‡Π΅ΠΊ
сохранСния Π² Π²Π°ΡˆΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ…. МнС нравится
ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ это Π² Π²ΠΈΠ΄Π΅ Ρ‚ΠΎΡ‡Π΅ΠΊ сохранСния
Π² Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€Π°Ρ…: Π²Ρ‹ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚Π΅ Π΄ΠΎ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ
уровня, ΡΠΎΡ…Ρ€Π°Π½ΡΠ΅Ρ‚Π΅ΡΡŒ, ΠΈ послС этого, Ρ‡Ρ‚ΠΎ
Π±Ρ‹ Π²Ρ‹ Π½ΠΈ сдСлали, Π²Ρ‹ всСгда ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто
Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Ρ‚ΠΎΡ‡ΠΊΠ΅ сохранСния, Π²Π°ΠΌ Π½Π΅
придСтся ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ всю ΠΈΠ³Ρ€Ρƒ Π·Π°Π½ΠΎΠ²ΠΎ.

Π£ Git Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… прСкрасных
аспСктов, Π½ΠΎ основной ΠΈΠΌΠ΅Π½Π½ΠΎ этот β€”
созданиС Ρ‚ΠΎΡ‡Π΅ΠΊ сохранСния Π² вашСм ΠΊΠΎΠ΄Π΅,
Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ
Π½ΠΈΠΌ ΠΏΠΎΠ·ΠΆΠ΅.

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

Π­Ρ‚ΠΎΡ‚ основной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Git Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚
Π² Π΄Π²Π° этапа:

  1. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ
    Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π·ΠΎΠ½Ρƒ стСйдТинга, Ρ‚.Β Π΅.,
    ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° этих Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ
    (ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ)
  2. БобствСнно сохранСниС ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ…
    Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠΎΠ΄Π° (ΠΊΠΎΠΌΠΌΠΈΡ‚).

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ аналогия

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

Ну Π»Π°Π΄Π½ΠΎ, я Π½Π΅ ΠΠΠ‘Π’ΠžΠ›Π¬ΠšΠž стар.

Π‘Π½Π°Ρ‡Π°Π»Π° Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ ΠΊΡƒΡ‡Ρƒ снимков
своСй ΠΊΠ°ΠΌΠ΅Ρ€ΠΎΠΉ. Когда Π²Ρ‹ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ
Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ€ΡƒΠ΅Ρ‚Π΅, это Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ влияСт Π½Π°
ваш Ρ„ΠΎΡ‚ΠΎΠ°Π»ΡŒΠ±ΠΎΠΌ. Π’Ρ‹ всСгда ΠΌΠΎΠΆΠ΅Ρ‚Π΅ сначала
ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚Π΅,
ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ
Π² альбомС. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ снимки Π²Π°ΠΌ
Π½Π΅ понравятся ΠΈ Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΡΠ½ΡΡ‚ΡŒ
Π·Π°Π½ΠΎΠ²ΠΎ.

Π”Π°Π»Π΅Π΅ Π²Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ· снятых
Ρ„ΠΎΡ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Ρ„ΠΎΡ‚ΠΎΠ°Π»ΡŒΠ±ΠΎΠΌ.
ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡƒΠΆΠ΅ распСчатали
свои снимки Ρ€Π°Π·Π»ΠΎΠΆΠΈΠ»ΠΈ ΠΈΡ… рядом с пустой
страницСй альбома. Π­Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ Π·ΠΎΠ½Ρ‹
стСйдТинга: Π²Ρ‹ Π΅Ρ‰Π΅ Π½Π΅ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΠ»ΠΈ снимки
Π² альбом, Π½ΠΎ Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅ΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это.

НаконСц, ΠΊΠΎΠ³Π΄Π° всС Π³ΠΎΡ‚ΠΎΠ²ΠΎ, Π²Ρ‹
Π½Π°Π΄Π΅ΠΆΠ½ΠΎ прикрСпляСтС Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Π½Π°
страницу Ρ„ΠΎΡ‚ΠΎΠ°Π»ΡŒΠ±ΠΎΠΌΠ°. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ для создания
Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ альбома Π²Π°ΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΊ
фотографиям ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ подписи ΠΈΠ»ΠΈ
названия, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ события Π½Π° Ρ„ΠΎΡ‚ΠΎ.

ΠŸΡ€ΠΎΠ΄Π΅Π»Π°Π² всС Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅, Π²Ρ‹
всСгда смоТСтС Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ этой страницС
вашСго Ρ„ΠΎΡ‚ΠΎΠ°Π»ΡŒΠ±ΠΎΠΌΠ° ΠΈ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ всС
Π±Ρ‹Π»ΠΎ Π² Ρ‚ΠΎΡ‚ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ вашСй ΠΆΠΈΠ·Π½ΠΈ.

КакоС это ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ
Git?

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ эту аналогию ΠΊ Git.

  • Π‘Π°ΠΌ процСсс Ρ„ΠΎΡ‚ΠΎΡΡŠΠ΅ΠΌΠΊΠΈ β€” Π°Π½Π°Π»ΠΎΠ³
    внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
    (написаниС ΠΊΠΎΠ΄Π°, созданиС ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅
    Ρ„Π°ΠΉΠ»ΠΎΠ²).
  • Π’Ρ‹Π±ΠΎΡ€ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅
    ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² альбом, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅
    ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π·ΠΎΠ½Ρƒ стСйдТинга.
  • ΠŸΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ Π½Π° страницу
    альбома это ΠΊΠΎΠΌΠΌΠΈΡ‚ β€” сохранСниС
    ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ всС это ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Π€ΠΎΡ‚ΠΎΡΡŠΠ΅ΠΌΠΊΠ° Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Когда Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ снимки, это ΠΏΠΎΡ…ΠΎΠΆΠ΅
Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ вноситС измСнСния Π² ваш
ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ β€” ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄, добавляСтС
изобраТСния, удаляСтС старыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ
Ρ‚.Β Π΄. Π’Ρ‹ создаСтС ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²
ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π²
Git-ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ (Β«Ρ‚ΠΎΡ‡ΠΊΠ΅ сохранСния»). Π Π°Π±ΠΎΡ‚Π°
Π΅Ρ‰Π΅ Π½Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π°, Π½ΠΈΡ‡Ρ‚ΠΎ ΠΈΠ· созданного
ΠΏΠΎΠΊΠ° Π½Π΅ сохранСно, поэтому Π²Ρ‹ всСгда
ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ΅, ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ
староС, ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎ своСму
ТСланию.

ЕдинствСнноС, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Git Π½Π° этом
этапС, β€” слСдит Π·Π° вашими дСйствиями,
Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π½Π°Ρ‚ΡŒ, помСнялось Π»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ со
Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Если Π²Ρ‹
Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ строку ΠΊΠΎΠ΄Π°, Π° Π·Π°Ρ‚Π΅ΠΌ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ
Π΅Π΅, с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Git Π² Ρ†Π΅Π»ΠΎΠΌ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅
измСнилось. Если Π²Ρ‹ Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ 500 строк
ΠΊΠΎΠ΄Π° Π² дСсяткС Ρ„Π°ΠΉΠ»ΠΎΠ², Git Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎ
Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ строки Π² ΠΊΠ°ΠΊΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ… Π±Ρ‹Π»ΠΈ
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹. ВсС эти измСнСния Π±ΡƒΠ΄ΡƒΡ‚
ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² Π΅Π³ΠΎ памяти. Он Π½ΠΈΡ‡Π΅Π³ΠΎ
Π½Π΅ сохранит Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠΎΠΊΠ°
Π²Ρ‹ Π½Π΅ скаТСтС ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это, Π½ΠΎ ΠΎΠ½ ΠΏΡ€ΠΈΡΡ‚Π°Π»ΡŒΠ½ΠΎ
слСдит Π·Π° Π²Π°ΠΌΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ процСссС, ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΎΡ‚ сохранСния Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° ТСстком дискС. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ тСкстовыС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ваш ΠΊΠΎΠ΄ СТСсСкундно, Π½ΠΎ ΠΌΡ‹ Π½Π΅ это здСсь Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌ. Когда я Π³ΠΎΠ²ΠΎΡ€ΡŽ ΠΎ сохранСнии Π² Git, я имСю Π² Π²ΠΈΠ΄Ρƒ созданиС ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сохраняСт ваши измСнСния Π² истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

РаспСчатка (ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°)
Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ внСсСнных Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
Π² Π·ΠΎΠ½Ρƒ стСйдТинга

Π’ Git эта Ρ„Π°Π·Π° ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ созданию
Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Π‘Π°ΠΌ процСсс называСтся
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π² стСйдТинг. ΠŸΡ€ΠΈ этом ΠΊΠΎΠΌΠΌΠΈΡ‚
Π½Π΅ создаСтся, это лишь ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ
ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ.

ПослС добавлСния ΠΊΠ°ΠΊΠΈΡ…-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ²
Π² стСйдТинг, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π΅Ρ‰Π΅
Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. Никаких ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ!
ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Git Π΅Ρ‰Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠΎ сути Π½Π΅
сохранил, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² стСйдТинг
ΠΈ Π½ΠΎΠ²Ρ‹Π΅ измСнСния, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ΠΈ внСсСны
Π² Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„Π°ΠΉΠ», Ρ‡Ρ‚ΠΎ ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅. Как Π±ΡƒΠ΄Ρ‚ΠΎ Π²Ρ‹
Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΡΠ½ΡΡ‚ΡŒ ΠΈ Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ нСсколько
Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… Π²
альбом.

ΠŸΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ Π½Π°
страницС альбома Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚
ΠΊΠΎΠ΄Π°

Π­Ρ‚ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ (ΠΈ послСдний) этап создания
Β«Ρ‚ΠΎΡ‡ΠΊΠΈ сохранСния» (ΠΊΠΎΠΌΠΌΠΈΡ‚Π°). ΠŸΡ€ΠΈ создании
ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅:
Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ сообщСниС
ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Π’ Ρ„ΠΎΡ‚ΠΎΠ°Π»ΡŒΠ±ΠΎΠΌΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅
ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ,
ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ
альбом, ΠΌΠΎΠ³ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ эти снимки Π·Π½Π°Ρ‡Π°Ρ‚
для вас. Π’ Git Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ сообщСниС, Ρ‡Ρ‚ΠΎΠ±Ρ‹
ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π΅ измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹
сохраняСтС Π² вашСй ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅.

Если Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠ»ΠΎΡ…ΠΈΠ΅ сообщСния ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², просмотр истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ вашСго ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ бСсполСзСн для любого читатСля, Π² Ρ‚ΠΎΠΌ числС ΠΈ для вас. (Π§Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ Π² сообщСнии «ВнСсСны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ измСнСния», Ссли Π²Ρ‹ понятия Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ это Π·Π° измСнСния? ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π² альбомС Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡŽ с подписью Β«Π—Π΄Π΅ΡΡŒ сняты ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ люди»).

Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ сСбС ΠΈ своим ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ: всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅, ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ сообщСния ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ‡Π΅Ρ‚ΠΊΠΎ ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Π²Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ внСсли.

Π Π°Π±ΠΎΡ‚Π° с Git

Но достаточно Π°Π½Π°Π»ΠΎΠ³ΠΈΠΉ, ΠΈΠ΄Π΅ΠΌ дальшС!

Установка

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Git Ρƒ вас ΡƒΠΆΠ΅
установлСн. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» (ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ
строку) ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ
git --version. Если высвСтится Π½ΠΎΠΌΠ΅Ρ€ вСрсии,
пропускайтС шаг установки ΠΈ Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅
дальшС. Если ваш Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‚ΡŒ,
Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΠΌΠ΅Π»ΠΈ Π² Π²ΠΈΠ΄Ρƒ ΠΏΠΎΠ΄ словом Β«gitΒ»,
Π·Π½Π°Ρ‡ΠΈΡ‚, Π΅Π³ΠΎ Π΅Ρ‰Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ. Для
установки git Π² вашСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС
слСдуйтС этим
инструкциям.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ рСпозитория

Git отслСТиваСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹,
ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ Π² качСствС
Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π². Если ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ всС Ρ‚Ρƒ ΠΆΠ΅
аналогию с фотографиями, ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ
ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»ΡΡ‚ΡŒ снимки Π² Ρ„ΠΎΡ‚ΠΎΠ°Π»ΡŒΠ±ΠΎΠΌ, Ссли
Ρƒ нас Π½Π΅Ρ‚ Ρ„ΠΎΡ‚ΠΎΠ°Π»ΡŒΠ±ΠΎΠΌΠ°.

Когда Π²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚,
ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π²Π°ΡˆΠΈΡ… шагов (послС
создания ΠΏΠ°ΠΏΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π²
Π½Π΅Π΅) Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ запуск ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

git init

Благодаря этой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Git сразу Π½Π°Ρ‡Π½Π΅Ρ‚
ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅
Π²Ρ‹ внСсСтС Π² этот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Если Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ
ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚, ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ этом Π² ΠΏΠ°ΠΏΠΊΠ΅
ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° создаСтся новая скрытая ΠΏΠ°ΠΏΠΊΠ°
.git, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ содСрТится всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅
для отслСТивания ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π—Π°Π³Π»ΡΠ΄Ρ‹Π²Π°Ρ‚ΡŒ
Π² эту ΠΏΠ°ΠΏΠΊΡƒ Π²Π°ΠΌ вряд Π»ΠΈ понадобится, Π·Π°
ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ случаСв, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅
ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ Ρ‚ΠΎΠ½ΠΊΡƒΡŽ настройку, Ρ‚Π°ΠΊ
Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ° оставим Π΅Π΅, ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ.

ВнСсСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

Π’ этом руководствС я ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ
всС ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‰Π΅. Π’ ΠΏΠ°ΠΏΠΊΠ΅ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
(которая ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ являСтся
Git-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ) Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ» Π²
Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ΅ markdown β€” README.md. Если Π²Π°ΠΌ это
ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ любоС
вносимоС ΠΌΠ½ΠΎΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² этом Ρ„Π°ΠΉΠ»Π΅
это Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ
дСсятков строк ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Π’Π°ΠΊ всС
Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π²Π½ΡƒΡˆΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

git status

Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° работоспособности
β€” ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ, ΠΏΠΎ мнСнию Git,
происходит сСйчас Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Π’ΠΎ Π΅ΡΡ‚ΡŒ,
ΠΊΠ°ΠΊΠΈΠ΅ измСнСния ΠΎΠ½ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ», всС Π»ΠΈ
Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈ Ρ‚.Β ΠΏ.

Git Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ я Π½Π°Ρ…ΠΎΠΆΡƒΡΡŒ Π² Π²Π΅Ρ‚ΠΊΠ΅
master (ΠΎ Π²Π΅Ρ‚ΠΊΠ°Ρ… я Π½Π°ΠΏΠΈΡˆΡƒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΡΡ‚Π°Ρ‚ΡŒΡŽ),
Ρ‡Ρ‚ΠΎ Ρƒ мСня ΠΏΠΎΠΊΠ° Π½Π΅Ρ‚ осущСствлСнных
ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈ сСйчас Π½Π΅Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅
ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, Git Π½Π΅
Π²ΠΈΠ΄ΠΈΡ‚ Π² этой ΠΏΠ°ΠΏΠΊΠ΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎ
ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ).

БСйчас я добавлю ΠΌΠΎΠΉ Ρ„Π°ΠΉΠ» README.md ΠΈ снова
Π·Π°ΠΏΡƒΡ‰Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git status:

Команда touch это Ρ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ способ быстро ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ пустой Ρ„Π°ΠΉΠ».

Git ΡƒΠ²ΠΈΠ΄Π΅Π», Ρ‡Ρ‚ΠΎ я Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π²
свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚! ΠšΡ€ΡƒΡ‚ΠΎ. Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ
создадим Ρ‚ΠΎΡ‡ΠΊΡƒ сохранСния β€” Π½Π° всякий
случай, вСдь Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΆΠ°Π»ΠΊΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ
ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π·Π°Π½ΠΎΠ²ΠΎ!

git add

Команда git add ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ Π² стСйдТинг.
Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ распСчатка сдСланных Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ
ΠΏΠ΅Ρ€Π΅Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΡ… Π² альбом. Но ΠΊΠΎΠΌΠ°Π½Π΄Π΅
Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ внСсти
Π² стСйдТинг. Π― ΡƒΠΊΠ°ΠΆΡƒ свой Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ».

git add README.md
git status

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git status, ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ
Π² стСйдТингС появился Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» (Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ
ΠΎΠ½ Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π°).

Π§Ρ‚ΠΎ ΠΆΠ΅ я фактичСски сдСлал, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ²
ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git add README.md? Π― сказал Git, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‡Ρƒ
Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ всС измСнСния,
внСсСнныС ΠΌΠ½ΠΎΠΉ Π² Ρ„Π°ΠΉΠ» README.md со Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

Но Π²Π½ΠΎΡΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ,
особСнно Ссли ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ часто
Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ со ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ
Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ
ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ», с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ
автоматичСски Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² стСйдТинг всС
Ρ„Π°ΠΉΠ»Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ внСсСны измСнСния.
Π― ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для этого
Ρ„Π»Π°Π³ -А:

git add -A

Π€Π»Π°Π³ -А Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² стСйдТинг
всС Ρ„Π°ΠΉΠ»Ρ‹ с измСнСниями.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π’Ρ‹ навСрняка Π½Π΅ Ρ€Π°Π· ΡΡ‚ΠΎΠ»ΠΊΠ½Π΅Ρ‚Π΅ΡΡŒ с Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ git add . с Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ†Π΅Π»ΡŒΡŽ (добавлСния всСх ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² стСйдТинг). Π­Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, Π½ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ»Π° всС измСнСния, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π΅ΠΏΡ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Ρ‚ΠΎΡ‡ΠΊΠ° ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли Π²Ρ‹ ΠΏΠ΅Ρ€Π΅ΡˆΠ»ΠΈ Π² ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, Π° Ρ„Π°ΠΉΠ» с измСнСниями находится Π²Π½Π΅ этой Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² git add ., Π²Ρ‹ пропуститС этот Ρ„Π°ΠΉΠ». А ΠΊΠΎΠΌΠ°Π½Π΄Π° git add -A касаСтся всСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΈ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚.

git commit

Когда Π²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ свои
измСнСния, Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ это ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ
ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git commit. Но Π²Ρ‹ ΠΆΠ΅ Π½Π΅ Π·Π°Π±Ρ‹Π»ΠΈ, Ρ‡Ρ‚ΠΎ
Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ сообщСниС ΠΊΠΎΠΌΠΌΠΈΡ‚Π°? Если
Π²Ρ‹ просто запуститС git commit ΠΈ Π½Π°ΠΆΠΌΠ΅Ρ‚Π΅
Enter, Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ откроСтся ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°
(Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Vi ΠΈΠ»ΠΈ Nano), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ смоТСтС
Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ сообщСниС ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

Но ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ сообщСниС сразу,
Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ„Π»Π°Π³ -m с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ
тСкстом сообщСния Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ
Ρ‚Π°ΠΊ:

git commit -m "Added some really important information to the
README"

Если Π΄ΠΎ сих ΠΏΠΎΡ€ всС Π±Ρ‹Π»ΠΎ Π² порядкС, Ρ‚ΠΎ
Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ сохранили свой ΠΊΠΎΠ΄ Π²
Git! Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΠ°, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹
всСгда смоТСтС Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ, Ссли Π²
дальнСйшСм Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π΅Ρ‰Π΅ Ρ€Π°Π· посмотрим Π½Π° вСсь этот
процСсс Π² Π³ΠΈΡ„ΠΊΠ΅:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π² Π³ΠΈΡ„ΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ git
add
, Π½ΠΎ ΠΌΠ½Π΅ стоило ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ git add -A для
большСй точности. Ну, ΠΈ сообщСния ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²
Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Ρƒ мСня!

git log

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ своих
ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², запустив ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git log. Π§Ρ‚ΠΎΠ±Ρ‹
ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΠΎ Π»ΠΎΠ³Ρƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅
стрСлки Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅. Π’ Π»ΠΎΠ³Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅
Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π΄Π°Ρ‚Ρ‹ ΠΈ сообщСния ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π°
Ρ‚Π°ΠΊΠΆΠ΅ Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² (людСй, ΡΠ΄Π΅Π»Π°Π²ΡˆΠΈΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚).
ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ…ΡΡˆ β€” Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ
ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ID, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ
ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ ΠΏΡ€ΠΈ нСобходимости.

ΠŸΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΈΠ΅ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

Β«Π’Ρ‹ всС врСмя Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Git позволяСт
ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π²ΠΏΠ΅Ρ€Π΅Π΄-Π½Π°Π·Π°Π΄ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.
А ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ это происходит?Β»

git checkout

Π’Π΅Ρ€ΠΌΠΈΠ½ checkout ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ процСсс ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ
с ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ
ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ID (Ρ…ΡΡˆ)?
Π― ΠΌΠΎΠ³Ρƒ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ свою ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²,
Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· этих ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ…ΡΡˆΠ΅ΠΉ
ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git checkout.
Если ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ,
ΠΈΠΌΠ΅Π΅Ρ‚ Ρ…ΡΡˆ Π°2 (Π½Π° самом Π΄Π΅Π»Π΅ Ρ…ΡΡˆΠΈ Π³ΠΎΡ€Π°Π·Π΄ΠΎ
Π΄Π»ΠΈΠ½Π½Π΅Π΅, это скорСС Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅
0c9b8f7c23dea4cf0a0285f14211124b6d5891e9), я ΠΌΠΎΠ³Ρƒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ
ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

git checkout a2

И послС этого вся моя кодовая Π±Π°Π·Π°
откатываСтся Π½Π°Π·Π°Π΄ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ всС Π²
Π½Π΅ΠΉ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ выглядит, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ сразу
послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡƒΠ³Π°Ρ‚ΡŒ,
ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ каТСтся, Π±ΡƒΠ΄Ρ‚ΠΎ всС измСнСния
со Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΡƒΡ‚Ρ€Π°Ρ‡Π΅Π½Ρ‹, Π½ΠΎ Π½Π΅
Π²ΠΎΠ»Π½ΡƒΠΉΡ‚Π΅ΡΡŒ! Они всС сохранСны ΠΈ ΠΆΠ΄ΡƒΡ‚
вас… Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ!

Π’ΠΎΡ‚ этот процСсс Π² Π³ΠΈΡ„ΠΊΠ΅:

Π˜ΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈ всС измСнСния Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ находятся Π² ΠΏΠΎΠ»Π½ΠΎΠΉ сохранности. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊ Π½Π΅ΠΌΡƒ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git checkout a3 ΠΈΠ»ΠΈ (Π±ΠΎΠ»Π΅Π΅ распространСнный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚) git checkout master.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Π²Π΅Ρ€Π½ΡƒΠ²ΡˆΠΈΡΡŒ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅
сообщСниС ΠΎΡ‚ Git. Π§Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ:

Note: checking out 'a2'.
 You are in 'detached HEAD' state. You can look around, make experimental
 changes and commit them, and you can discard any commits you make in this
 state without impacting any branches by performing another checkout.
 If you want to create a new branch to retain commits you create, you may
 do so (now or later) by using -b with the checkout command again. Example:
 git checkout -b 
 HEAD is now at a2 Another Message

На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ‹ большС Π½Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ
Π² Π²Π΅Ρ‚ΠΊΠ΅ master. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π½ΠΎΡΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ
ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ измСнСния ΠΈ Π΄Π°ΠΆΠ΅
ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, ΠΈ всС это Π½Π΅
Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅Ρ‚ ΠΊΠΎΠ΄ Π² Π²Π΅Ρ‚ΠΊΠ΅ master (Π² Π³ΠΈΡ„ΠΊΠ΅ это
ΠΊΠΎΠΌΠΌΠΈΡ‚ с Ρ…ΡΡˆΠ΅ΠΌ Π°3).

Π’Π΅Ρ‚ΠΊΠΈ ΠΌΡ‹ ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ.
На послСднСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ я лишь Ρ…ΠΎΡ‚Π΅Π»
ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Π½Π° Ρ‡Ρ‚ΠΎ способСн Git, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ
касаСтся сохранСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… вСрсий
вашСго кода.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ мноТСство ΠΊΠΎΠΌΠ°Π½Π΄
для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git, Π½ΠΎ Π±Π΅Π· понимания основных
ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ ΠΎΠ½ навсСгда останСтся для
вас Ρ‡Π΅Ρ€Π½Ρ‹ΠΌ ящиком.

Если ΠΆΠ΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π° самом Π΄Π΅Π»Π΅
Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² этом инструмСнтС ΠΈ
ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π½ΠΈΠΌ ΠΏΠΎΠ±Π»ΠΈΠΆΠ΅, Π»ΡƒΡ‡ΡˆΠΈΠΉ
способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это β€” ΠΏΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒΡΡ ΠΈ
ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π― всСгда Π³ΠΎΠ²ΠΎΡ€ΡŽ
своим студСнтам, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠΈΠΉ способ
ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ β€” ΠΈΠ΄Ρ‚ΠΈ слоТным ΠΏΡƒΡ‚Π΅ΠΌ.

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ
сСбя Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅Ρ‡Ρ‚ΠΎ большСС, Ρ‡Π΅ΠΌ просто
Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΠΈ Π² Π½Π°Π΄Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ.
Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² пустой
ΠΏΠ°ΠΏΠΊΠ΅, Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ‚ΡƒΠ΄Π° Ρ„Π°ΠΉΠ»Ρ‹,
ΠΏΠΎΡ‡Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ git status ΠΈ git log, Ρ‡Ρ‚ΠΎΠ±Ρ‹
ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ всС Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ.

Когда Π²Ρ‹ ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π΅Ρ‚Π΅ ΠΊΡ€ΠΈΠ²ΡƒΡŽ обучСния Git, Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π°ΠΆΠ΅ странно, ΠΊΠ°ΠΊ Π²Ρ‹ Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ!

Π‘ Ρ‡Π΅Π³ΠΎ начинаСтся git

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

На днях я ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚Π°.Как ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, я ΠΎΡ‚ΠΊΡ€Ρ‹Π» консоль, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π²Π΅Ρ‚ΠΊΠΈ ΠΈ всС Π»ΠΈ ΠΏΡ€Π°Π²ΠΊΠΈ Π·Π°ΠΊΠΎΠΌΠΈΡ‡Π΅Π½Ρ‹ (ΠΎΡ‚ слова commit — Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ). Однако Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΈΠ· этого я Π½Π΅ ΡƒΠ·Π½Π°Π» β€” ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π΅ содСрТал .git рСпозитория.Π­Ρ‚Π° ситуация Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Ρ€Π°Π· заставила Π·Π°Π΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π΄ΠΎ сих ΠΏΠΎΡ€ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния Π² Ρ„Π°ΠΉΠ»Π°Ρ… с исходным ΠΊΠΎΠ΄ΠΎΠΌ. А ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈ вовсС Π½Π΅ Π·Π½Π°ΡŽΡ‚ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅, ΠΈ ΠΊΠ°ΠΊ этим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ систСму контроля вСрсий

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ прСимущСства:

  • одноврСмСнная Ρ€Π°Π±ΠΎΡ‚Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ
  • Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ быстро ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ΠΈ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ, всС Π½Π΅ зафиксированныС измСнСния
  • Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ быстро ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹Π΅, ΡƒΠΆΠ΅ зафиксированныС, измСнСния
  • история всСх ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Ρ‚Ρ‹ ΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΎΠ²
  • Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ процСсс развития ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git

git β€” распрСдСлСнная систСма контроля вСрсий Ρ„Π°ΠΉΠ»ΠΎΠ².«РаспрСдСлСнная» Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ содСрТит всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΈ ΠΈΠ· Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ копию ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ ΠΈ понятия ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с систСмой Git

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉΒ β€” Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.ПослС создания Π½ΠΎΠ²ΠΎΠ³ΠΎ рСпозитория Π΄Π΅Ρ€Π΅Π²ΠΎ содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ‚ΠΊΡƒ β€” master. Π’Π΅Ρ‚ΠΊΠ° состоит ΠΈΠ· ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², располоТСнных Π² хронологичСском порядкС. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π² Π²Π΅Ρ‚ΠΊΠ΅ master находятся ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ ΠΈ протСстированныС измСнСния.

Π’Π΅Ρ‚ΠΊΠ°Β β€” ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚.  На ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ нСсколько Π²Π΅Ρ‚ΠΎΠΊ. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ это случаСтся ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ. НапримСр для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² Π½Π΅ΠΉ Π½ΠΎΠ²ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. По ΠΌΠ΅Ρ€Π΅ добавлСния ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² β€” Π²Π΅Ρ‚ΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ расходится Π² Ρ€Π°Π·Π½Ρ‹Π΅ стороны.

ΠšΠΎΠΌΠΌΠΈΡ‚Β (ΠΎΡ‚ слова commit — Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ) β€” логичСская Π΅Π΄ΠΈΠ½ΠΈΡ†Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ID ΠΈ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ². МоТно Β«ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΒ» (ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ) измСнСния любого ΠΈΠ· ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ². Для любого ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΈΠ· истории ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ.Β 

Π˜Π½Π΄Π΅ΠΊΡΒ β€” измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ зафиксированы ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅.ΠŸΡ€ΠΈ этом, Π²ΠΎ врСмя ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ измСнСния, Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Π² индСкс β€” ΠΎΠ½ΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‡Π΅Π½Ρ‹. Π˜Ρ… Π½Π°Π΄ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² индСкс ΠΈ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π²Π½ΠΎΡΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΎΠΌ, всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… логичСскими Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ.

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ врСмя Π²Π°ΠΌ понадобятся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ основныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΈΡ…:

  • init β€” создаСт Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
  • status β€” ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ список ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ…, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²
  • branch β€” ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ список Π²Π΅Ρ‚ΠΎΠΊ ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ срСди Π½ΠΈΡ…
  • add β€” добавляСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² индСкс
  • reset β€” удаляСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· индСкса
  • commit β€” фиксируСт Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Π½Ρ‹Π΅ Π² индСкс измСнСния
  • checkout β€” ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ; отмСняСт Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Π² индСкс измСнСния
  • merge β€” ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ с Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ
  • log β€” Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ список послСдних ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² (ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ количСство ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ для тСстового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.Β 

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π³ΠΈΡ‚ΠΎΠΌ, Π½Π°Π΄ΠΎ Π΅Π³ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ β€” ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ консоль, ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΠΊΠΎΡ€Π½Π΅Π²ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

$ git init

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° создаст Π½ΠΎΠ²Ρ‹ΠΉ пустой Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. ΠŸΡ€ΠΎΡ‰Π΅ говоря, появится ΠΏΠ°ΠΏΠΊΠ° .git с ΠΊΠ°ΠΊΠΈΠΌΠΈ-Ρ‚ΠΎ нСпонятными Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ.Β ΠŸΡ€ΠΈΡ‡Π΅ΠΌ Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΠ΅Π½ΡΡ‚ΡŒ β€” называСтся Β«Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉΒ». Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΅Ρ‰Π΅ «внСшниС ΠΊΠΎΠΏΠΈΠΈΒ» ΠΈΠ»ΠΈ bare-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΠΈΠ»ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ….

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния.

Бписок ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

$ git status

Π’ консоли появится список ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹, измСнСния Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ:

$ git add file_name_a.php

Π€Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π». ВсС Ρ„Π°ΠΉΠ»Ρ‹ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΠΈ Π΅Π΅ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ°Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

$ git add .

Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹, эта ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² индСкс. Добавятся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ старыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅. НовыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ явно ΡƒΠΊΠ°Π·Π°Π² имя.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ всС Π½ΠΎΠ²Ρ‹Π΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

$ git add -A

ИзмСнСния стоит Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ логичСскими Π±Π»ΠΎΠΊΠ°ΠΌΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ связанныС с Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ошибки ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ.

Если Π²Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ» ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ логичСского Π±Π»ΠΎΠΊΠ°, ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ Π΅Π³ΠΎ ΠΈΠ· индСкса ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

$ git reset file_name_b.php

ЗафиксируйтС эти измСнСния Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅. Π’Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΏΡ€ΠΈ просмотрС истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΎΡ‚ΠΌΠ΅Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

Если Π²Ρ‹ случайно ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π½Π΅ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» — Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ Π΅Π³ΠΎ ΠΊ послСднСму зафиксированному ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

$ git checkout file_name_c.php

ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ измСнСния всСх, Ρ€Π°Π½Π΅Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ…, Ρ„Π°ΠΉΠ»Π°Ρ… Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΏΠΊΠ°Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

$ git checkout -- .

НСнуТныС Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ достаточно просто ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ. Или это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

$ git reset --hard HEAD

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΊ послСднСму зафиксированному ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ.

$ git commit

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

fix| order price
now price includes vat

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° английском языкС, Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, консоль ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρƒ ΠΈ вмСсто описания Π±ΡƒΠ΄ΡƒΡ‚ кракозяблики.

ΠŸΠ΅Ρ€Π²Π°Ρ строка самая ваТная ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΡΡƒΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… словах. Π”Π°Π»ΡŒΡˆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ ΠΆΠ°Π»Π΅Ρ‚ΡŒ строк ΠΈ Ρ€Π°ΡΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ‡Ρ‚ΠΎ, Π·Π°Ρ‡Π΅ΠΌ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ (Ρ€Π΅Ρ‡ΡŒ ΠΏΡ€ΠΎ Π»ΠΎΠ³ΠΈΠΊΡƒ, Π° Π½Π΅ ΠΏΡ€ΠΎ Ρ„Π°ΠΉΠ»Ρ‹).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ваш ΠΊΠΎΠΌΠΌΠΈΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π² Π½Π΅ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒΡΡ:

$ git log

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π½ΠΈΡ‡Π΅Π³ΠΎ слоТного.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ это Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всС, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π³ΠΈΡ‚, Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ этого ΠΌΠ½Π΅ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π»ΠΎ Π² своС врСмя для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ систСмой контроля вСрсий.

НовыС вопросы с ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ [git]


Git — распрСдСлённая систСма контроля вСрсий Ρ„Π°ΠΉΠ»ΠΎΠ². Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ эту ΠΌΠ΅Ρ‚ΠΊΡƒ для вопросов ΠΎ git. Вопросы, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°ΠΉΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ (git-pull, git-push, git-merge ΠΈ Ρ‚.ΠΏ.).

regex поиск ΠΏΠΎ всСй истории git ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°


Π•ΡΡ‚ΡŒ git ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π² Π½Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ всС элСктронныС адрСса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π² Π½Π΅ΠΌ сущСствовали. Поиск выполняСтся рСгулярным Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ сСйчас это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ:
ΠŸΠΎΠ»ΡƒΡ‡Π°ΡŽ список всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² …


Π·Π°Π΄Π°Π½ 1 час Π½Π°Π·Π°Π΄

Π Π°Π±ΠΎΡ‚Π° с GitLab


НС Ρ€Π°Π±ΠΎΡ‚Π°Π» с GitLab Π΅Ρ‰Π΅ ΠΏΠΎΠΊΠ°, Π½ΠΎ Π΅ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Π°, порядок Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠ½ΡΡ‚ΡŒ (ΠΌΠ°Π½ΡƒΠ°Π»Ρ‹ Ρ‡ΠΈΡ‚Π°Π»). Бмысл Π·Π°Π΄Π°Ρ‡ΠΈ — Π·Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² GitLab.
НСобходимо ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‚.ΠΊ. Ρƒ мСня …


Π·Π°Π΄Π°Π½ Π²Ρ‡Π΅Ρ€Π°

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π΅ΠΊΠ°ΠΏΠΎΠ² ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΈ ΠΌΠ΅Ρ€ΠΆΠ΅


Π•ΡΡ‚ΡŒ такая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΌΠ΅Ρ€ΠΆΠ΅ Π΄Π²ΡƒΡ… Π²Π΅Ρ‚ΠΎΠΊ Ρƒ мСня создаСтся ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я Ρ€Π΅ΡˆΠ°ΡŽ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. И Π±Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ случай, Ρ‡Ρ‚ΠΎ я Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠ» ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΈΠ· ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Π² ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ Ρ„Π°ΠΉΠ»Π΅ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. …


задан 2 дня назад

Minebot


66211 Π·ΠΎΠ»ΠΎΡ‚ΠΎΠΉ Π·Π½Π°ΠΊ55 сСрСбряных Π·Π½Π°ΠΊΠΎΠ²1515 Π±Ρ€ΠΎΠ½Π·ΠΎΠ²Ρ‹Ρ… Π·Π½Π°ΠΊΠΎΠ²

Как Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ смСрдТСны ΠΌΠ΅Ρ€Π΄ΠΆ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ


Как Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΏΠΎ ΠΌΠ΅Ρ€Π΄ΠΆ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ смСрдТСны с Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π±Ρ€Π°Π½Ρ‡Π°?
На ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅ зСлСная Π²Π΅Ρ‚ΠΊΠ° эта master, Ρƒ мСня Π΅ΡΡ‚ΡŒ SHA ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 1 Π½ΠΎ Π½Π΅Ρ‚ названия Π²Π΅Ρ‚ΠΊΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Π»ΠΈΠ²Π°Π»ΠΈ Π° …


Π·Π°Π΄Π°Π½ 16 ΠΌΠ°Ρ€ Π² 7:52

J Mas


1,94455 Π·ΠΎΠ»ΠΎΡ‚Ρ‹Ρ… Π·Π½Π°ΠΊΠΎΠ²2121 сСрСбряный Π·Π½Π°ΠΊ5454 Π±Ρ€ΠΎΠ½Π·ΠΎΠ²Ρ‹Ρ… Π·Π½Π°ΠΊΠ°

Command failed: heroku login


Начал ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Django. По ссылкС Π³Π»Π°Π²Π° Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ застрял: https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Deployment.
ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ‘heroku create’ …


Π·Π°Π΄Π°Π½ 13 ΠΌΠ°Ρ€ Π² 7:13

Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ubuntu Π½Π° virtualBox


с Π½Π΅Π΄Π°Π²Π½Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ пСрСстал Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ubuntu. ΠŸΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°ΡŽ, Ρ‡Ρ‚ΠΎ это связанно с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ я установил git ΠΈ docker. Π”ΡƒΠΌΠ°ΡŽ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Π½Ρ‘ΠΌ. Π’Π°ΠΊΠΆΠ΅ скачивал с [https://docs.microsoft.com/ru-ru/windows/wsl/…


Π·Π°Π΄Π°Π½ 9 ΠΌΠ°Ρ€ Π² 14:28

brenin


111 Π±Ρ€ΠΎΠ½Π·ΠΎΠ²Ρ‹ΠΉ Π·Π½Π°ΠΊ

Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ npm i послС запроса ssh


ΠŸΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ npm i Π² react-native ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ появляСтся ошибка

Ilya Shevtsov@DESKTOP-86UQNMD MINGW64 /c/androidprojects/ProjectApp/StudyDesk (master)
$ npm i
npm ERR! code 129
npm ERR! command …


Π·Π°Π΄Π°Π½ 5 ΠΌΠ°Ρ€ Π² 15:52

ΠžΡ‚ΠΌΠ΅Π½Π° git rebase -i


Π‘Ρ‹Π»ΠΎ Ρƒ мСня 2 ΠΊΠΎΠΌΠΈΡ‚Π° «Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ» ΠΈ «Π‘ΠΌΠ΅Π½ΠΈΠ» описаниС Π² ReleaseNotes»,

Ρ€Π΅ΡˆΠΈΠ» ΠΈΡ… ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ. Они объСдинились ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ «Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ». Но Π² …


Π·Π°Π΄Π°Π½ 5 ΠΌΠ°Ρ€ Π² 15:52

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ git со всСй историСй Π² Intelij Idea


ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° моя Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ я Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π·Π°Π»ΠΈΠ»Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС настройки Π³ΠΈΡ‚Π° Π² ΠΈΠ½Ρ‚Π΅Π»ΠΈΠΆ Π°ΠΉΠ΄ΠΈΠ° ΠΈ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π½ΠΎΠ²ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Π·Π°Π»ΠΈΡ‚ΡŒ? Если Π΄Π° Ρ‚ΠΎ ΠΊΠ°ΠΊ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ?


Π·Π°Π΄Π°Π½ 4 ΠΌΠ°Ρ€ Π² 16:50

Π•Π½ΠΎΡ‚


5977 Π±Ρ€ΠΎΠ½Π·ΠΎΠ²Ρ‹Ρ… Π·Π½Π°ΠΊΠΎΠ²

etckeeper ΠΈ Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ доступа


Π£ мСня Π΅ΡΡ‚ΡŒ установлСнный etckeeper Π½Π° дСсяти сСрвСрах с Centos 6 ΠΈ Centos 7.
Он Π²Ρ‹Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ /etc с сСрвСра Π² ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π³ΠΈΡ‚-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сСрвСра ΠΎΠ½ свой). Мой Π³ΠΈΡ‚ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ Π½Π° основС …


Π·Π°Π΄Π°Π½ 4 ΠΌΠ°Ρ€ Π² 9:51

Git — ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ графичСского интСрфСйса

  • SourceTree

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Mac, Windows
    Π¦Π΅Π½Π°: БСсплатно
    ЛицСнзия: БобствСнная

  • GitHub Desktop

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Mac, Windows
    Π¦Π΅Π½Π°: БСсплатно
    ЛицСнзия: MIT

  • TortoiseGit

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Windows
    Π¦Π΅Π½Π°: БСсплатно
    ЛицСнзия: GNU GPL

  • Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Git

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Linux, Mac, Windows
    Π¦Π΅Π½Π°: БСсплатно
    ЛицСнзия: GNU GPL

  • GitKraken

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Linux, Mac, Windows
    Π¦Π΅Π½Π°: БСсплатно / 29 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² БША / 49 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² БША.
    ЛицСнзия: БобствСнная

  • Magit

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Linux, Mac, Windows
    Π¦Π΅Π½Π°: БСсплатно
    ЛицСнзия: GNU GPL

  • SmartGit

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Linux, Mac, Windows
    Π¦Π΅Π½Π°: 79 $ / ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ / БСсплатно для нСкоммСрчСского использования.
    ЛицСнзия: БобствСнная

  • Π‘Π°ΡˆΠ½Ρ

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Mac, Windows
    Π¦Π΅Π½Π°: 79 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² БША Π·Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (30-днСвная бСсплатная пробная вСрсия)
    ЛицСнзия: БобствСнная

  • GitUp

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Mac
    Π¦Π΅Π½Π°: БСсплатно
    ЛицСнзия: GNU GPL

  • GitEye

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Linux, Mac, Windows
    Π¦Π΅Π½Π°: БСсплатно
    ЛицСнзия: БобствСнная

  • ΠΌΠ΅Ρ€Π·Π°Π²Π΅Ρ†

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Linux, Windows
    Π¦Π΅Π½Π°: БСсплатно
    ЛицСнзия: GNU GPL

  • ΡƒΠ½Π³ΠΈΡ‚

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Linux, Mac, Windows
    Π¦Π΅Π½Π°: БСсплатно
    ЛицСнзия: MIT

  • ΠΌΠ΅Ρ€Π·Π°Π²Π΅Ρ†

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Linux, Mac, Windows
    Π¦Π΅Π½Π°: БСсплатно
    ЛицСнзия: GNU GPL

  • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Cycligent Git

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Linux, Mac, Windows
    Π¦Π΅Π½Π°: БСсплатно
    ЛицСнзия: БобствСнная

  • Ρ…ΠΈΡ…ΠΈΠΊΠ°Ρ‚ΡŒ

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Linux
    Π¦Π΅Π½Π°: БСсплатно
    ЛицСнзия: GNU GPL

  • Gitbox

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Mac
    Π¦Π΅Π½Π°: 14 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ².99
    ЛицСнзия: БобствСнная

  • Aurees

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Linux, Mac, Windows
    Π¦Π΅Π½Π°: БСсплатно
    ЛицСнзия: БобствСнная

  • Π’ΠΈΠ»ΠΊΠ°

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Mac, Windows
    Π¦Π΅Π½Π°: 49 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ².99, бСсплатная ΠΎΡ†Π΅Π½ΠΊΠ°
    ЛицСнзия: БобствСнная

  • Рабочая копия

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: iOS
    Π¦Π΅Π½Π°: БСсплатно с ΠΏΠΎΠΊΡƒΠΏΠΊΠ°ΠΌΠΈ ΠΈΠ· прилоТСния
    ЛицСнзия: БобствСнная

  • CodeReview

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Linux, Mac, Windows
    Π¦Π΅Π½Π°: БСсплатно
    ЛицСнзия: GNU GPL

  • мастСр

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Windows
    Π¦Π΅Π½Π°: Π‘Π΅Ρ‚Π° / БСсплатно для нСкоммСрчСского использования
    ЛицСнзия: БобствСнная

  • Git2Go

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: iOS
    Π¦Π΅Π½Π°: БСсплатно с ΠΏΠΎΠΊΡƒΠΏΠΊΠ°ΠΌΠΈ ΠΈΠ· прилоТСния
    ЛицСнзия: БобствСнная

  • GitAhead

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Linux, Mac, Windows
    Π¦Π΅Π½Π°: БСсплатно
    ЛицСнзия: MIT

  • ΠšΠ°Ρ€ΠΌΠ°Π½Π½Ρ‹ΠΉ Git

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Android
    Π¦Π΅Π½Π°: 1.99 €
    ЛицСнзия: БобствСнная

  • GitDrive

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: iOS
    Π¦Π΅Π½Π°: БСсплатно с ΠΏΠΎΠΊΡƒΠΏΠΊΠ°ΠΌΠΈ ΠΈΠ· прилоТСния
    ЛицСнзия: БобствСнная

  • GitX-dev

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Mac
    Π¦Π΅Π½Π°: БСсплатно
    ЛицСнзия: GNU GPL

  • GitBlade

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Linux, Mac, Windows
    Π¦Π΅Π½Π°: БСсплатная вСрсия Lite, 59 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ².99 Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Π³ΠΎΠ΄ для вСрсии PRO
    ЛицСнзия: БобствСнная

  • Π“ΠΈΡ‚Π°Ρ€Π°

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Linux, Mac, Windows
    Π¦Π΅Π½Π°: БСсплатно
    ЛицСнзия: GNU GPL

  • RepoZ

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Mac, Windows
    Π¦Π΅Π½Π°: БСсплатно
    ЛицСнзия: MIT

  • Конг

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Windows
    Π¦Π΅Π½Π°: БСсплатно
    ЛицСнзия: БобствСнная

  • Π’ΠΎΠ·Π²Ρ‹ΡˆΠ΅Π½Π½ΠΎΠ΅ слияниС

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Linux, Mac, Windows
    Π¦Π΅Π½Π°: 99 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² БША Π·Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, годовая бизнСс-подписка 75 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² БША, бСсплатная пробная вСрсия.
    ЛицСнзия: БобствСнная

  • LazyGit

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Linux, Mac, Windows
    Π¦Π΅Π½Π°: БСсплатно
    ЛицСнзия: MIT

  • SnailGit

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Mac
    Π¦Π΅Π½Π°: 9 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ².99 / Lite вСрсия
    ЛицСнзия: БобствСнная

  • GitAtomic

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Windows
    Π¦Π΅Π½Π°: 15.00 €
    ЛицСнзия: БобствСнная

  • Gitfox

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Mac
    Π¦Π΅Π½Π°: € 3.99 / мСс. Или 24,99 € / Π³ΠΎΠ΄ Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
    ЛицСнзия: БобствСнная

  • GitFiend

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Linux, Mac, Windows
    Π¦Π΅Π½Π°: БСсплатно
    ЛицСнзия: БобствСнная

  • NitroGit

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Windows
    Π¦Π΅Π½Π°: 20 € / ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ / БСсплатно для нСкоммСрчСского использования
    ЛицСнзия: БобствСнная

  • GitFinder

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Mac
    Π¦Π΅Π½Π°: 24 Π΄ΠΎΠ»Π»Π°Ρ€Π°.95
    ЛицСнзия: БобствСнная

  • Π’Π΅Ρ€ΡˆΠ΄

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Linux, Mac, Windows
    Π¦Π΅Π½Π°: БСсплатно для Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ пользования, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС — 37 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ².
    ЛицСнзия: БобствСнная

  • GitUI

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: Linux, Mac, Windows
    Π¦Π΅Π½Π°: БСсплатно, Π½ΠΎ поТСртвования ΠΏΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ΡΡ.
    ЛицСнзия: MIT

  • PolyGit

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹: iOS
    Π¦Π΅Π½Π°: БСсплатно с ΠΏΠΎΠΊΡƒΠΏΠΊΠ°ΠΌΠΈ ΠΈΠ· прилоТСния
    ЛицСнзия: БобствСнная

  • GitHub для ΠΊΠΎΠΌΠ°Π½Π΄ Β· Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΊΠ°ΠΊ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° ΠΏΠ»Π°Π½Π΅Ρ‚Π΅ Β· GitHub

    GitHub для ΠΊΠΎΠΌΠ°Π½Π΄ Β· Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΊΠ°ΠΊ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° ΠΏΠ»Π°Π½Π΅Ρ‚Π΅ Β· GitHub

    GitHub для команд

    Благодаря CI / CD, Dependabot ΠΈ ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠ΅ΠΌΡƒ Π² ΠΌΠΈΡ€Π΅ сообщСству Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² GitHub Π΄Π°Π΅Ρ‚ вашСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для Π±ΠΎΠ»Π΅Π΅ быстрой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

    БотрудничСство

    УправляйтС всСм Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС

    ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ свои Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅ инструмСнты

    Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ способ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для вас, с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ всСх Π²Π°ΡˆΠΈΡ… ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Slack, Jira ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

    Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ свою ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΎΠ΄Π½ΠΈΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΈ

    Π›Π΅Π³ΠΊΠΎ обновляйтС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ добавляйтС Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ создания, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΈΠ»ΠΈ Π΄Π²ΡƒΡ… тысяч Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ.

    УскорСниС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ΄Π°

    ΠŸΠΎΠ²Ρ‹ΡΡŒΡ‚Π΅ качСство ΠΊΠΎΠ΄Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструмСнтов ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ваш Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс.

    ΠŸΠ»Π°Π½ΠΈΡ€ΡƒΠΉΡ‚Π΅ вмСстС

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

    «Как ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΌΡ‹ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ находимся Π² Π³Π°Ρ€ΠΌΠΎΠ½ΠΈΠΈ. ΠœΡ‹ всС ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π°ΡˆΡƒ Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΈ ΠΏΠ»Π°Π½ дСйствий Ρ‡Π΅Ρ€Π΅Π· GitHub Β».

    Π›ΠΈ Адкинс, Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΎΡ‚Π΄Π΅Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

    Пик дСнСг

    Автоматизация

    Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы CI / CD, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° вас

    ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ свой CI / CD

    Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅, тСстируйтС ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π² любой ОБ, языкС ΠΈΠ»ΠΈ ΠΎΠ±Π»Π°ΠΊΠ΅.

    Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ· тысяч дСйствий

    НайдитС созданныС сообщСством Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы GitHub Actions Π½Π° GitHub Marketplace ΠΈΠ»ΠΈ создайтС свои собствСнныС.

    ΠžΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° события GitHub

    Π’Ρ€ΠΈΠ³Π³Π΅Ρ€Π½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы Π½Π° основС событий GitHub, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ push, созданиС Π·Π°Π΄Π°Ρ‡, Π½ΠΎΠ²Ρ‹Π΅ выпуски ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

    БовмСстная Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌΠΈ процСссами

    Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅, Π΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ, ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΠΉΡ‚Π΅ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ дСйствия Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΊΠΎΠ΄.

    Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ дСйствия GitHub

    Β«Π‘ GitHub Actions Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ происходит Π½Π° 75 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² быстрСС — это Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ 10 ΠΌΠΈΠ½ΡƒΡ‚ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с 40 ΠΌΠΈΠ½ΡƒΡ‚Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΈΡΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.”

    ΠŸΡŒΠ΅Ρ€ Π›ΠΎΡ€Π°ΠΊ, тСхничСский Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ

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

    Π”ΠΎΠΌ ΠΌΠΈΡ€ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

    ΠŸΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ со своими Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ Ρ‚Π°ΠΌ, Π³Π΄Π΅ ΠΎΠ½ΠΈ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ. GitHub являСтся Π΄ΠΎΠΌΠΎΠΌ для Π±ΠΎΠ»Π΅Π΅ 40 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠ΅Π³ΠΎ Π² ΠΌΠΈΡ€Π΅ сообщСства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ПО с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ.

    Π“ΠΎΡ‚ΠΎΠ²Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ свою ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

    ?

    Команда GitHub

    Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ΅ сотрудничСство ΠΈ
    ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄

    Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ это дСйствиС Π² настоящСС врСмя.Π’Ρ‹ вошли Π² систСму с Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΎΠΉ ΠΈΠ»ΠΈ ΠΎΠΊΠ½ΠΎΠΌ. ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСанс.
    Π’Ρ‹ Π²Ρ‹ΡˆΠ»ΠΈ ΠΈΠ· систСмы Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΈΠ»ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΎΠΊΠ½Π΅. ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСанс.

    Enterprise Β· Π‘ΠΎΠ»Π΅Π΅ Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹ΠΉ способ совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Β· GitHub

    Enterprise Β· Π‘ΠΎΠ»Π΅Π΅ Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹ΠΉ способ совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Β· GitHub

    GitHub для прСдприятий
    • Π£Π²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ проявитСля.
    • Π—Π°Ρ‰ΠΈΡ‰Π°ΠΉΡ‚Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ шаг.
    • АвтоматизируйтС всС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы.
    • НовоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ сотрудничСства.
    • Нам Π΄ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ 50 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

    Π‘Π²ΡΠ·Π°Ρ‚ΡŒΡΡ с ΠΎΡ‚Π΄Π΅Π»ΠΎΠΌ ΠΏΡ€ΠΎΠ΄Π°ΠΆ

    ΠΠ°Ρ‡Π°Ρ‚ΡŒ Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ

    Π Π°ΡΡˆΠΈΡ€ΡŒΡ‚Π΅ возмоТности своСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

    ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠΉΡ‚Π΅ свой бизнСс.

    DevOps — это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡Π°Π»ΠΎ. Π’Π΅Π΄ΡƒΡ‰ΠΈΠ΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π½Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ трансформация Ρ‚Π°ΠΊΠΆΠ΅ зависит ΠΎΡ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Ρ‚Π°Π»Π°Π½Ρ‚ΠΎΠ², ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Ρ‹ ΠΈ процСссов.GitHub ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ прСдприятиям ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΈΡ… всС Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС.

    ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ

    НайдитС Π½ΡƒΠΆΠ½Ρ‹Ρ… Π²Π°ΠΌ экспСртов, Π° Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΈΡ… Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ сСбя ΠΊΠ°ΠΊ Π΄ΠΎΠΌΠ° с ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ ΠΈ процСссами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ Π·Π½Π°ΡŽΡ‚ ΠΈ Π»ΡŽΠ±ΡΡ‚.

    ΠŸΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с нашим сообщСством

    ΠžΡΡ‚Π°Π²Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° связи

    ΠŸΠΎΠ΄Π½ΠΈΠΌΠΈΡ‚Π΅ свой ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ Π² качСствС Π»ΠΈΠ΄Π΅Ρ€Π° Π² области ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ исходного ΠΊΠΎΠ΄Π° — ΠΈ ΠΏΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ своСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌ Π²Π°ΠΆΠ΅Π½.

    ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ GitHub Connect

    GitHub ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π½Π°ΠΌ всСгда Π±Ρ‹Ρ‚ΡŒ Π² курсС Π»ΡƒΡ‡ΡˆΠΈΡ… Π² отрасли инструмСнтов. ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ сотрудники Π·Π½Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ GitHub Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Π½Π°ΡˆΡƒ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ инструмСнтов, ΠΈ ΠΎΠ½ΠΈ Ρ€Π°Π΄Ρ‹ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π°ΠΌ.

    Π ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΎΡ‚Π΄Π΅Π»Π° Π½ΠΎΠ²Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ

    АмСриканскиС Π°Π²ΠΈΠ°Π»ΠΈΠ½ΠΈΠΈ

    ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ руководством Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

    ΠŸΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ своСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ своих Π½Π°Π²Ρ‹ΠΊΠΎΠ² Ρ‚Π°ΠΌ ΠΆΠ΅, Π³Π΄Π΅ ΠΎΠ½ΠΈ ΠΏΠΈΡˆΡƒΡ‚.

    Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ Learning Lab

    40%

    Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² *

    639%

    Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ инвСстиций Π·Π° 3 Π³ΠΎΠ΄Π° *

    45

    ΠœΠΈΠ½ΡƒΡ‚, сэкономлСнных Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Π² дСнь *

    * Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ основаны Π½Π° объСдинСнной ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ· 1800 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… GitHub Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Ρ… Π»Π΅Ρ‚.

    100 ΠΌΠ»Π½ +

    ЧастныС ΠΈ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ

    1000 с

    БообщСства с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ

    60%

    Компании из списка Fortune 500

    GitHub Enterprise

    НСобходимая Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, автоматизация ΠΈ совмСстная Ρ€Π°Π±ΠΎΡ‚Π° для Π²Π°ΡˆΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄.

    $ 21
    На ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ / Π² мСсяц

    • Π•Π΄ΠΈΠ½Ρ‹ΠΉ Π²Ρ…ΠΎΠ΄ SAML

    • 50 000 ΠΌΠΈΠ½ΡƒΡ‚ дСйствий Π² мСсяц
      БСсплатно для ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²

    • 50 Π“Π‘ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° GitHub Packages
      БСсплатно для ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²

    • Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Π°ΡƒΠ΄ΠΈΡ‚

    ΠΠ°Ρ‡Π°Ρ‚ΡŒ Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ

    Новый

    GitHub One

    Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° для ΠΈΠ½Π½ΠΎΠ²Π°Ρ†ΠΈΠΉ
    Π½Π° прСдприятии.

    • ВсС, Ρ‡Ρ‚ΠΎ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Enterprise

    • Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ сообщСства

    • 24/7 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°

    • НСпрСрывноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅

    Π‘Π²ΡΠ·Π°Ρ‚ΡŒΡΡ с ΠΎΡ‚Π΄Π΅Π»ΠΎΠΌ ΠΏΡ€ΠΎΠ΄Π°ΠΆ

    ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ со всСми нашими ΠΏΠ»Π°Π½Π°ΠΌΠΈ ΠΈ функциями

    Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ это дСйствиС Π² настоящСС врСмя.Π’Ρ‹ вошли Π² систСму с Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΎΠΉ ΠΈΠ»ΠΈ ΠΎΠΊΠ½ΠΎΠΌ. ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСанс.
    Π’Ρ‹ Π²Ρ‹ΡˆΠ»ΠΈ ΠΈΠ· систСмы Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΈΠ»ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΎΠΊΠ½Π΅. ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСанс.

    Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git: ΡΡ‚Π°Π½ΡŒΡ‚Π΅ профСссионалом Π² Git с этим руководством

    На сСгодняшний дСнь Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ соврСмСнной систСмой управлСния вСрсиями Π² ΠΌΠΈΡ€Π΅ являСтся Git. Git — Π·Ρ€Π΅Π»Ρ‹ΠΉ, Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Π² 2005 Π³ΠΎΠ΄Ρƒ Линусом Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠΎΠΌ, извСстным создатСлСм ядра ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Linux.ΠžΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² полагаСтся Π½Π° Git для контроля вСрсий, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ коммСрчСскиС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ с Git, Ρ…ΠΎΡ€ΠΎΡˆΠΎ прСдставлСны Π² ΠΏΡƒΠ»Π΅ доступных спСциалистов ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΈ ΠΎΠ½ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ спСктром ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм ΠΈ IDE (ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ).

    ИмСя Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, Git являСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ DVCS (ΠΎΡ‚ΡΡŽΠ΄Π° ΠΈ распрСдСлСнная систСма контроля вСрсий). ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ мСсто для ΠΏΠΎΠ»Π½ΠΎΠΉ истории вСрсий ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΊΠ°ΠΊ это часто Π±Ρ‹Π²Π°Π΅Ρ‚ Π² Π½Π΅ΠΊΠΎΠ³Π΄Π° популярных систСмах контроля вСрсий, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ CVS ΠΈΠ»ΠΈ Subversion (Ρ‚Π°ΠΊΠΆΠ΅ извСстная ΠΊΠ°ΠΊ SVN), Π² Git рабочая копия ΠΊΠΎΠ΄Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Ρ‚Π°ΠΊΠΆΠ΅ являСтся Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ. ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ всСх ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

    Помимо распространСния, Git Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, бСзопасности ΠΈ гибкости.

    ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

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

    Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для контроля вСрсий, Git Π½Π΅ обманываСтся ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΈ история вСрсий Π΄Π΅Ρ€Π΅Π²Π° Ρ„Π°ΠΉΠ»ΠΎΠ², вмСсто этого Git фокусируСтся Π½Π° самом содСрТимом Ρ„Π°ΠΉΠ»Π°. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², Ρ„Π°ΠΉΠ»Ρ‹ исходного ΠΊΠΎΠ΄Π° часто ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ, Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΈ ΠΏΠ΅Ρ€Π΅ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ. Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ„Π°ΠΉΠ»ΠΎΠ² рСпозитория Git ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Π΄Π΅Π»ΡŒΡ‚Π°-кодирования (сохранСниС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² содСрТимом), сТатия ΠΈ явно сохраняСт содСрТимоС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… вСрсии.

    РаспространСниС Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π°Π΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ прСимущСства Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

    НапримСр, скаТСм, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Алиса, вносит измСнСния Π² исходный ΠΊΠΎΠ΄, добавляя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для прСдстоящСго выпуска 2.0, Π° Π·Π°Ρ‚Π΅ΠΌ фиксируСт эти измСнСния с ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ сообщСниями. Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΈ Ρ‚ΠΎΠΆΠ΅ фиксируСт эти измСнСния. ЕстСствСнно, ΠΎΠ½ΠΈ хранятся ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ части Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² истории вСрсий. Π—Π°Ρ‚Π΅ΠΌ Алиса ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π½Π° Π²Π΅Ρ‚Π²ΡŒ вСрсии 1.3 Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ, которая Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ эту ΡΡ‚Π°Ρ€ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ. Π­Ρ‚ΠΎ сдСлано для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Алисы Π²Ρ‹ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ 1 с исправлСниСм ошибок.3.1, Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ²Π° вСрсия 2.0. Π—Π°Ρ‚Π΅ΠΌ Алиса ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π² Π²Π΅Ρ‚Π²ΡŒ 2.0, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ Π½ΠΎΠ²Ρ‹ΠΌΠΈ функциями для 2.0, ΠΈ всС это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ доступа ΠΊ сСти ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, быстро ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ. Она ΠΌΠΎΠ³Π»Π° ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π΄Π°ΠΆΠ΅ Π² самолСтС. Когда ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ²Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ всС ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ зафиксированныС измСнСния Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Алиса ΠΌΠΎΠΆΠ΅Ρ‚ Β«ΠΏΡ€ΠΎΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΒ» ΠΈΡ… ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.

    Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

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

    Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Git, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ подлинная история содСрТимого вашСго исходного ΠΊΠΎΠ΄Π°.

    НСкоторыС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ систСмы контроля вСрсий Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ сСкрСтного измСнСния Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ бСзопасности для любой ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, которая полагаСтся Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

    Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ

    Одна ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Git — Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ.Git Π³ΠΈΠ±ΠΎΠΊ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡΡ…: Π² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ² Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π² эффСктивности ΠΊΠ°ΠΊ Π² ΠΌΠ°Π»Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΈ Π² ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΈ ​​в совмСстимости со ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ систСмами ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ.

    Git Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ вСтвлСния ΠΈ тСгирования ΠΊΠ°ΠΊ пСрвоклассных Π³Ρ€Π°ΠΆΠ΄Π°Π½ (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ SVN), ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° Π²Π΅Ρ‚ΠΊΠΈ ΠΈ Ρ‚Π΅Π³ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, слияниС ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚), Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. НС всС систСмы контроля вСрсий ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ этот ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ отслСТивания.

    ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Git

    Git — Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π½Π° сСгодняшний дСнь. Π₯отя всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ собствСнный Π°Π½Π°Π»ΠΈΠ·, Π²ΠΎΡ‚ основныС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Git ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²:

    Git Ρ…ΠΎΡ€ΠΎΡˆ

    Git ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π­Ρ‚ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Git ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описаны Π²Ρ‹ΡˆΠ΅. ΠŸΡ€ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΌ сравнСнии с Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ² ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ находят Git ΠΎΡ‡Π΅Π½ΡŒ благоприятным.

    Git — стандарт Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ

    Git — Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ инструмСнт Π² своСм Ρ€ΠΎΠ΄Π΅. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Git ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ. Π’ Atlassian ΠΏΠΎΡ‡Ρ‚ΠΈ вСсь исходный ΠΊΠΎΠ΄ нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° управляСтся Π² Git.

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

    Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ прСимущСствам большого ΠΊΠ°Π΄Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π΅Π·Π΅Ρ€Π²Π° ΠΏΡ€Π΅ΠΎΠ±Π»Π°Π΄Π°Π½ΠΈΠ΅ Git Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ сторонниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ инструмСнты ΠΈ слуТбы ΡƒΠΆΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ с Git, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ IDE, ΠΈ наши собствСнныС инструмСнты, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ DVCS для Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ПК Sourcetree, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для отслСТивания ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Jira ΠΈ слуТба хостинга ΠΊΠΎΠ΄Π° Bitbucket.

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

    Git — качСствСнный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ

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

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

    ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄ сниТаСт Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²-Π»ΡŽΠ±ΠΈΡ‚Π΅Π»Π΅ΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Git Π±Π΅Π· ΠΎΠΏΠ»Π°Ρ‚Ρ‹. Для использования Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ Git, нСсомнСнно, являСтся ΠΏΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊΠΎΠΌ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΉ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Ρ… систСм управлСния вСрсиями с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, SVN ΠΈ CVS.

    ΠšΡ€ΠΈΡ‚ΠΈΠΊΠ° Git

    Git часто ΠΊΡ€ΠΈΡ‚ΠΈΠΊΡƒΡŽΡ‚ Π·Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ слоТно ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ.НСкоторая тСрминология Π² Git Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΎΠ²ΠΎΠΉ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² ΠΈ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм, тСрминология Git ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, revert Π² Git ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‡Π΅ΠΌ Π² SVN ΠΈΠ»ΠΈ CVS. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Git ΠΎΡ‡Π΅Π½ΡŒ эффСктивСн ΠΈ прСдоставляСт ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Π΅ возмоТности своим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту силу, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΡƒΡ‡Π΅Π½Π°, ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту силу для увСличСния скорости своСго развития.

    Для Ρ‚Π΅Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ ΠΈΠ· нСраспрСдСлСнной VCS, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ Π²Π΅Ρ‰ΡŒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½ΠΈ Π½Π΅ хотят Ρ‚Π΅Ρ€ΡΡ‚ΡŒ.Однако, хотя Git Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΊΠ°ΠΊ распрСдСлСнная систСма контроля вСрсий (DVCS), с Git Π²Ρ‹ всС Ρ€Π°Π²Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ каноничСский Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ всС измСнСния Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии. Благодаря Git, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½, ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Β«Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎΒ» сСрвСра. Π’ΠΎ врСмя простоСв ΠΈΠ»ΠΈ Π² Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Git являСтся Π³ΠΈΠ±ΠΊΠΈΠΌ ΠΈ распространяСмым, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ, Π½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ прСимущСства Git, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΎΡΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚.

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ дальшС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ прСимущСствах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Git ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ для всСй ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ.

    Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΈ ΠΊΠ°ΠΊ ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ

    Git — это распрСдСлСнная систСма управлСния вСрсиями с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ . Π’Π΅ΠΏΠ΅Ρ€ΡŒ это ΠΌΠ½ΠΎΠ³ΠΎ слов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Git.

    ΠŸΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈ ΠΏΠΎΡΡΠ½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΡƒ:

    • БистСма управлСния: Π­Ρ‚ΠΎ Π² основном ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Git — это срСдство отслСТивания ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°.Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Git ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для хранСния ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° — ΠΎΠ½ Π² основном ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния ΠΊΠΎΠ΄Π° ΠΈΠ·-Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ прСдоставляСт.
    • БистСма контроля вСрсий : Код, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ хранится Π² Git, постоянно мСняСтся ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ добавлСния Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, систСма контроля вСрсий ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с этим, сохраняя ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π΄ΡˆΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Git прСдоставляСт Ρ‚Π°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ Π²Π΅Ρ‚ΠΊΠΈ ΠΈ слияния, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… я расскаТу ΠΏΠΎΠ·ΠΆΠ΅.
    • РаспрСдСлСнная систСма контроля вСрсий : Git ΠΈΠΌΠ΅Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ хранится Π½Π° сСрвСрС, ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ хранится Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Π½Π΅ просто хранится Π½Π° Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΌ сСрвСрС, Π½ΠΎ полная копия ΠΊΠΎΠ΄Π° присутствуСт Π½Π° всСх ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Git — это распрСдСлСнная систСма контроля вСрсий, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΠ΄ присутствуСт Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. ПозТС Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я объясню ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π².

    Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° систСма контроля вСрсий, такая ΠΊΠ°ΠΊ Git

    Π’ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ нСсколько Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° систСма контроля вСрсий, такая ΠΊΠ°ΠΊ Git, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ отсутствиС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΊΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ.

    ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, трСбования Π² Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… часто ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, систСма контроля вСрсий позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π±ΠΎΠ»Π΅Π΅ старой вСрсии ΠΊΠΎΠ΄Π°.

    НаконСц, ΠΈΠ½ΠΎΠ³Π΄Π° нСсколько ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Π° концСпция вСтвлСния Π² Git.

    Π”Π°Π²Π°ΠΉΡ‚Π΅ приступим ΠΊ использованию Git сСйчас

    ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ сразу всС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ, я объясню ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Git Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ Π»Π΅Π³Ρ‡Π΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ.

    Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ git

    По этой ссылкС ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описано, ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Git Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах:
    https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

    ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ Git устанавливаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС:

      git --version  
    Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git

    Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½Π° своСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΏΠ°ΠΏΠΊΡƒ для вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. НазовСм ΠΏΠ°ΠΏΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° simple-git-demo .

    ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΏΠ°ΠΏΠΊΡƒ своСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

      cd simple-git-demo
    git init  

    Команда git init добавляСт Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git.

    Π”Π°Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ нСбольшой ΠΊΠΎΠ΄ сСйчас

    Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ demo.txt Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ тСкст:

      Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠ΅ содСрТимоС  

    Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ простой тСкст вмСсто Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ основноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ удСляСтся Git, Π° Π½Π΅ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ языку программирования.

    Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΈ фиксация ΠΊΠΎΠ΄Π°

    Ѐиксация — это процСсс, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠ΄ добавляСтся Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ .ΠŸΠ΅Ρ€Π΅Π΄ фиксациСй ΠΊΠΎΠ΄Π° ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ области . ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для отслСТивания всСх Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ зафиксированы.

    Π›ΡŽΠ±ΠΎΠΉ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ зафиксирован. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

    Staging

    Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для размСщСния Ρ„Π°ΠΉΠ»Π°:

      git add demo.txt  

    Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ², Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ:

    git add file1 file2 file3

    Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

      git add. 

    Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ это остороТно, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ добавляСт всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ Π² вашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ.

    Ѐиксация

    Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для фиксации Ρ„Π°ΠΉΠ»Π°:

      git commit -m Β«ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ фиксация»  

    Β«ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ фиксация» — это сообщСниС фиксации здСсь. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ сообщСниС фиксации, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ измСнСния ΠΊΠΎΠ΄Π° Π±Ρ‹Π»ΠΈ сдСланы Π² этой ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ фиксации.

    Git Status ΠΈ Git Log

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» demo.txt ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚:

      ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ содСрТимоС Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ содСрТимого  
    Status

    Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ git status , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ находятся Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ области — ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ ΠΏΠΎΠΊΠ° ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

    Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для просмотра статуса:

      git status  

    Бтатус ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ demo.txt ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ ΠΈ Π΅Ρ‰Π΅ Π½Π΅ находится Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ области.

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ demo.txt Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΈ зафиксируСм Π΅Π³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

      git add demo.txt git commit -m "Ρ„Π°ΠΉΠ» demo.txt ΠΈΠ·ΠΌΠ΅Π½Π΅Π½"  

    Log

    Use git log , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ всС сдСланныС Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹.

    Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°:
    git log

    Π’ ΠΆΡƒΡ€Π½Π°Π»Π΅ отобраТаСтся Π°Π²Ρ‚ΠΎΡ€ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ фиксации, Π΄Π°Ρ‚Π° фиксации ΠΈ сообщСниС фиксации.

    Π€ΠΈΠ»ΠΈΠ°Π»Ρ‹

    Π”ΠΎ сих ΠΏΠΎΡ€ ΠΌΡ‹ Π½Π΅ создавали Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π²Π΅Ρ‚ΠΎΠΊ Π² Git. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Git ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² Π²Π΅Ρ‚ΠΊΡƒ master .

    Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ„ΠΈΠ»ΠΈΠ°Π»?

    Π’Π΅Ρ‚Π²ΡŒ — это Π½Π΅ Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Git. Π˜Ρ‚Π°ΠΊ, Π² настоящСС врСмя наша основная Π²Π΅Ρ‚Π²ΡŒ являСтся ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° Π²Ρ‚ΠΎΡ€ΡƒΡŽ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ фиксации Β«.txt ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Β».

    Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ нСсколько Ρ„ΠΈΠ»ΠΈΠ°Π»ΠΎΠ²?

    Для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ нСсколько Π²Π΅Ρ‚Π²Π΅ΠΉ. Π‘ΠΌ. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½ΠΈΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π²Π΅Ρ‚ΠΊΠΈ.

    Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ фиксация 1 ΠΈ фиксация 2 Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ Π² Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅. ПослС фиксации 2 создаСтся новая Π²Π΅Ρ‚ΠΊΠ° с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«TestΒ», ΠΈ Π² Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ фиксация 3 ΠΈ фиксация 4.

    Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя Π² Π³Π»Π°Π²Π½ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ 3 ΠΈ 4. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ послС фиксации 2 Π΄Π²Π΅ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Π΄Π²ΡƒΡ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… вСтвях.

    Π—Π΄Π΅ΡΡŒ тСстовая Π²Π΅Ρ‚Π²ΡŒ ΠΈ основная Π²Π΅Ρ‚Π²ΡŒ Ρ€Π°Π·ΠΎΡˆΠ»ΠΈΡΡŒ ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ — ΠΊΠΎΠ΄ ΠΈΠ· тСстовой Π²Π΅Ρ‚ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ с Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅Ρ‚Π²ΡŒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ git merge . Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСно ΠΏΠΎΠ·ΠΆΠ΅.

    Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅

    Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ test , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

      git branch test  

    Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° создаСт Π²Π΅Ρ‚Π²ΡŒ test .

    ΠœΡ‹ всС Π΅Ρ‰Π΅ находимся Π² контСкстС Π²Π΅Ρ‚ΠΊΠΈ master.Для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° тСстируйтС Π²Π΅Ρ‚ΠΊΡƒ . ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

      git checkout test  

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ находимся Π² Π²Π΅Ρ‚ΠΊΠ΅ test .

    Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ всС Π²Π΅Ρ‚ΠΊΠΈ Π½Π° локальном ΡƒΡ€ΠΎΠ²Π½Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

      git branch  
    Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅

    Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ demo.txt , Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚:

      Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠ΅ содСрТимоС Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ содСрТимого Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ содСрТимого ΠΈΠ· тСстовой Π²Π΅Ρ‚Π²ΠΈ  

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ этап ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

      git add demo.txt git commit -m "Test Branch Commit"  

    Π­Ρ‚Π° фиксация Π±Ρ‹Π»Π° сдСлана Π² тСстовой Π²Π΅Ρ‚ΠΊΠ΅, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ тСстовая Π²Π΅Ρ‚Π²ΡŒ ΠΎΠΏΠ΅Ρ€Π΅ΠΆΠ°Π΅Ρ‚ Master Branch Π½Π° 1 Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ тСстовая Π²Π΅Ρ‚Π²ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ 2 фиксации ΠΈΠ· основной Π²Π΅Ρ‚ΠΊΠΈ.

    Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ фиксации Π² Test Branch, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ:

      git log  

    Merging

    Π’ настоящСС врСмя Test Branch ΠΎΠΏΠ΅Ρ€Π΅ΠΆΠ°Π΅Ρ‚ Master Π½Π° 1 Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ. Допустим, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вСсь ΠΊΠΎΠ΄ ΠΈΠ· тСстовой Π²Π΅Ρ‚Π²ΠΈ Π±Ρ‹Π» Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ Π² Π³Π»Π°Π²Π½ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ.Π—Π΄Π΅ΡΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½ git merge .

    Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΈΠ· тСстовой Π²Π΅Ρ‚ΠΊΠΈ Π² Π³Π»Π°Π²Π½ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

    Π‘Π½Π°Ρ‡Π°Π»Π° Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ Π² Π³Π»Π°Π²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ:

      git checkout master  

    Π—Π°Ρ‚Π΅ΠΌ запуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ merge :

      git merge test  

    ПослС выполнСния этих Π΄Π²ΡƒΡ… ΠΊΠΎΠΌΠ°Π½Π΄ слияниС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΌ. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ².

    Но Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΏΡ€ΠΈ слиянии Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹.Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° — это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ с ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ, поэтому, работая большС с Git, Π²Ρ‹ смоТСтС Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹.

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ запуститС git log , ΠΈ Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ мастСр Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ 3 фиксации.

    Π£Π΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git

    Π”ΠΎ сих ΠΏΠΎΡ€ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² своСм локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π½ΠΎ, Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², ΠΎΠ½ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ ΠΊΠΎΠ΄ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Когда ΠΊΠΎΠ΄ находится Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ этот ΠΊΠΎΠ΄.

    ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²

    GitHub

    Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GitHub для ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория.

    ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° https://github.com/ ΠΈ создайтС ΡƒΡ‡Π΅Ρ‚Π½ΡƒΡŽ запись.

    ПослС рСгистрации Π½Π° домашнСй страницС GitHub Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Start a Project , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git. Π”Π°ΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ имя ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉΒ».

    Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя ΠΊΠ°ΠΊ git-blog-demo .

    Π­Ρ‚ΠΎ создаст ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² GitHub, ΠΈ ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, откроСтся страница, подобная ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ Π½ΠΈΠΆΠ΅:

    URL-адрСс рСпозитория — это выдСлСнная Ρ‡Π°ΡΡ‚ΡŒ https: // github.com / aditya-sridhar / git-blog-demo.git

    Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ваш Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

      git remote add origin [url рСпозитория]  

    Git Push

    Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ вСсь ΠΊΠΎΠ΄ ΠΈΠ· локального рСпозитория Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

      git push -u origin master  

    Π­Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚ ΠΊΠΎΠ΄ ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π² главная Π²Π΅Ρ‚ΠΊΠ° Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

    Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

    Git Pull

    git pull ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для извлСчСния послСдних ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ. Код ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория постоянно обновляСтся Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, поэтому Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ git pull :

      git pull origin master  
    Git Clone

    git clone ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для клонирования ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория Π½Π° ваш ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°:

      git clone [URL-адрСс рСпозитория]  

    ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ основы использования Git, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ ΠΈ исслСдуйтС большС!

    Π― скоро ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΎ Π±ΠΎΠ»Π΅Π΅ слоТных концСпциях Git.Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π½Π° связи!

    Об Π°Π²Ρ‚ΠΎΡ€Π΅

    Π― люблю Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ слСТу Π·Π° ΠΈΡ… Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ. МнС Ρ‚Π°ΠΊΠΆΠ΅ нравится ΠΏΠΎΠΌΠΎΠ³Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ свои знания Π² области Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ.

    НС ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΡΠ²ΡΠ·Π°Ρ‚ΡŒΡΡ со ΠΌΠ½ΠΎΠΉ Π² ΠΌΠΎΠ΅ΠΉ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи LinkdIn https://www.linkedin.com/in/aditya1811/

    Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° мСня Π² Twitter https://twitter.com/adityasridhar18

    Мой Π²Π΅Π±-сайт: https : //adityasridhar.com/

    Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΠΈ сообщСния

    Как эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Git

    Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Git ΠΈ GitHub для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… (Π£Ρ‡Π΅Π±Π½ΠΈΠΊ)

    Π’ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π² git? Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒΡΡ с внСсСниСм ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π±Π°Π·Ρƒ ΠΊΠΎΠ΄Π°, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ запроса Π½Π° вытягиваниС (PR) ΠΈ слияниСм ΠΊΠΎΠ΄Π° с основной Π²Π΅Ρ‚Π²ΡŒΡŽ.ВсС Π²Π°ΠΆΠ½Ρ‹Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ git ΠΈ GitHub Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹ ΠΆΠΈΡ€Π½Ρ‹ΠΌ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ со ссылками Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ справочныС ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ git.

    Π¨Π°Π³ 0: УстановитС git ΠΈ создайтС ΡƒΡ‡Π΅Ρ‚Π½ΡƒΡŽ запись GitHub

    ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ git ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ ΡƒΡ‡Π΅Ρ‚Π½ΡƒΡŽ запись GitHub.

    Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ инструкциям здСсь, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ git (Ссли ΠΎΠ½ Π΅Ρ‰Π΅ Π½Π΅ установлСн). ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² этом руководствС ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ git Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. Π₯отя Π΅ΡΡ‚ΡŒ нСсколько ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… графичСских интСрфСйсов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ git (графичСскиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ интСрфСйсы), я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ сначала ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ git, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ спСцифичСскиС для git ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ графичСский интСрфСйс git, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ ΠΎΡΠ²ΠΎΠΈΡ‚Π΅ΡΡŒ с этой ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: 95% Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ½Π»Π°ΠΉΠ½-рСсурсов ΠΈ обсуТдСний git Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для интСрфСйса ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

    Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ это сдСлаСтС, создайтС здСсь ΡƒΡ‡Π΅Ρ‚Π½ΡƒΡŽ запись GitHub.

    Git ΠΈ GitHub

    НСбольшоС отступлСниС: git ΠΈ GitHub — это , Π° Π½Π΅ . Git — это инструмСнт управлСния вСрсиями с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, созданный Π² 2005 Π³ΠΎΠ΄Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ Π½Π°Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой Linux; GitHub — компания, основанная Π² 2008 Π³ΠΎΠ΄Ρƒ, которая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ с git. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ΅Π½ GitHub для использования git, Π½ΠΎ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GitHub Π±Π΅Π· использования git.Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ² GitHub, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ GitLab, BitBucket, ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ размСщСния, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ gogs ΠΈ gittea. ВсС ΠΎΠ½ΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² git-speak Β«ΠΏΡƒΠ»ΡŒΡ‚Π°ΠΌΠΈΒ» ΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡƒΠ»ΡŒΡ‚ для использования git, Π½ΠΎ это упростит ΠΎΠ±ΠΌΠ΅Π½ вашим ΠΊΠΎΠ΄ΠΎΠΌ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ.

    Π¨Π°Π³ 1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git

    ΠŸΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ git Π²Ρ‹ сначала создаСтС Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (ΠΈΠ»ΠΈ, часто, для краткости, Β«Ρ€Π΅ΠΏΠΎΒ»).

    Для использования git ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π». Если Ρƒ вас Π½Π΅Ρ‚ большого ΠΎΠΏΡ‹Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ ΠΈ основными ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с этим руководством (Ссли Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ / Π½Π΅ Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅ΡΡŒ Π² ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠΊΠ΅ истории, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ ΡˆΠ°Π³Ρƒ 3).

    Для Π½Π°Ρ‡Π°Π»Π° ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Ρ‚ΡƒΠ΄Π°, Π³Π΄Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ cd (ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³). НапримСр, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΏΠ°ΠΏΠΊΠ° Β«ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹Β» Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅:

    Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Π² ΠΊΠΎΡ€Π½Π΅ ΠΏΠ°ΠΏΠΊΠΈ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git init:

    Π¨Π°Π³ 2. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² Ρ€Π΅ΠΏΠΎ

    Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ любого тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π°ΠΌ нравится, ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сСнсорной ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.`touch newfile.txt` просто создаСт ΠΈ сохраняСт пустой Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ newfile.txt.

    ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΏΠ°ΠΏΠΊΠ΅, содСрТащСй Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git, git Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» сущСствуСт Π²Π½ΡƒΡ‚Ρ€ΠΈ рСпозитория. Но git Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ», Ссли Π²Ρ‹ явно Π½Π΅ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ это. Git сохраняСт / управляСт измСнСниями Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ„Π°ΠΉΠ»Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ отслСТиваСт , поэтому Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π°, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ git отслСТивал наш Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ».

    ПослС создания Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git status, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ извСстны git.

    По сути, здСсь говорится: Β«Π­ΠΉ, ΠΌΡ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ создали Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ mnelson.txt, Π½ΠΎ, Ссли Π²Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ‘git add’, ΠΌΡ‹ Π½Π΅ собираСмся Π½ΠΈΡ‡Π΅Π³ΠΎ с Π½ΠΈΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒΒ».

    Π˜Π½Ρ‚Π΅Ρ€Π»ΡŽΠ΄ΠΈΡ: промСТуточная срСда, фиксация ΠΈ Π²Ρ‹

    Одна ΠΈΠ· самых Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹Ρ… частСй, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΈΠ·ΡƒΡ‡Π°Π΅Ρ‚Π΅ git, — это концСпция ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ срСды ΠΈ Π΅Π΅ связь с фиксациСй.

    ΠšΠΎΠΌΠΌΠΈΡ‚ — это запись Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ измСнСния Π²Ρ‹ внСсли с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.По сути, Π²Ρ‹ вноситС измСнСния Π² своС Ρ€Π΅ΠΏΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, добавляСтС Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ измСняСтС Π΅Π³ΠΎ), Π° Π·Π°Ρ‚Π΅ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ git, Ρ‡Ρ‚ΠΎΠ±Ρ‹ эти измСнСния Π±Ρ‹Π»ΠΈ внСсСны Π² ΠΊΠΎΠΌΠΌΠΈΡ‚.

    ΠšΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΡΡƒΡ‚ΡŒ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΡ€ΠΈ любом Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅.

    Π˜Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ git, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠΌΠΌΠΈΡ‚? ИмСнно здСсь Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ промСТуточная срСда ΠΈΠ»ΠΈ индСкс. Как Π²ΠΈΠ΄Π½ΠΎ Π½Π° шагС 2, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ вноситС измСнСния Π² своС Ρ€Π΅ΠΏΠΎ, git Π·Π°ΠΌΠ΅Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½, Π½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ с Π½ΠΈΠΌ Π½ΠΈΡ‡Π΅Π³ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, добавляя Π΅Π³ΠΎ Π² ΠΊΠΎΠΌΠΌΠΈΡ‚).

    Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» Π² ΠΊΠΎΠΌΠΌΠΈΡ‚, Π²Π°ΠΌ сначала Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ срСду. Для этого Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git add (см. Π¨Π°Π³ 3 Π½ΠΈΠΆΠ΅).

    ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ использовали ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git add для добавлСния всСх Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ срСду, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ git ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² ΠΊΠΎΠΌΠΌΠΈΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git commit.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Π°Ρ срСда, Ρ‚Π°ΠΊΠΆΠ΅ называСмая «промСТуточная», являСтся Π½ΠΎΠ²Ρ‹ΠΌ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠΌ для этого, Π½ΠΎ Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° называСтся «индСкс».

    Π¨Π°Π³ 3. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ„Π°ΠΉΠ» Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ срСду

    Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ„Π°ΠΉΠ» Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ срСду с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git add.

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

    ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽ, Π² Ρ„Π°ΠΉΠ»Π΅ , Π° Π½Π΅ , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Ρ‰Π΅ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² ΠΊΠΎΠΌΠΌΠΈΡ‚, Π½ΠΎ Π²ΠΎΡ‚-Π²ΠΎΡ‚ добавятся.

    Π¨Π°Π³ 4. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ

    ΠŸΠΎΡ€Π° ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚!

    Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git commit -m Β«Π’Π°ΡˆΠ΅ сообщСниС ΠΎ фиксации»

    Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½Ρ†Π΅ фиксации Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° содСрТит — ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, это новая функция, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ исправлСниС ошибки, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, просто исправлСниС ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ.НС ΠΏΠΎΠΌΠ΅Ρ‰Π°ΠΉΡ‚Π΅ сообщСния Ρ‚ΠΈΠΏΠ° Β«asdfadsfΒ» ΠΈΠ»ΠΈ Β«foobarΒ». Π­Ρ‚ΠΎ ΠΎΠ³ΠΎΡ€Ρ‡Π°Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… людСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ видят ваш ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠžΡ‡Π΅Π½ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠ΅Ρ‡Π°Π»ΡŒΠ½ΠΎ. ΠšΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΆΠΈΠ²ΡƒΡ‚ Π²Π΅Ρ‡Π½ΠΎ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ (тСхничСски Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΡ…, Ссли Π²Π°ΠΌ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ, Π½ΠΎ это бСспорядочно), поэтому, Ссли Π²Ρ‹ оставитС Ρ‡Π΅Ρ‚ΠΊΠΎΠ΅ объяснСниС своих ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… программистов (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ!) ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρ‡Π΅Ρ€Π΅Π· Π³ΠΎΠ΄Ρ‹ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ измСнСния.

    Π¨Π°Π³ 5: Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ сдСлали Π½ΠΎΠ²ΡƒΡŽ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠ΅.

    Допустим, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚Π΅ΡΡŒ ΠΎ внСсСнии ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² основной ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π—Π΄Π΅ΡΡŒ ΠΈ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π΅Ρ‚ΠΊΠΈ git.

    Π’Π΅Ρ‚Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π°ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ «состояниями» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ git ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ Π²Π΅Ρ‚ΠΊΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Β«Π’Π΅Ρ‚Π²ΡŒ Π² Git — это просто Π»Π΅Π³ΠΊΠΈΠΉ ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· этих ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²Β». НапримСр, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ страницу Π½Π° свой Π²Π΅Π±-сайт, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для этой страницы. Π½Π΅ затрагивая ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚Π΅ со страницСй, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ свои измСнСния ΠΈΠ· своСй Π²Π΅Ρ‚ΠΊΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. Когда Π²Ρ‹ создаСтС Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, Git отслСТиваСт, ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ваша Π²Π΅Ρ‚ΠΊΠ° Β«ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½Π°Β», поэтому ΠΎΠ½ Π·Π½Π°Π΅Ρ‚ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ всСх Ρ„Π°ΠΉΠ»ΠΎΠ².

    Допустим, Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π² основной Π²Π΅Ρ‚ΠΊΠ΅ ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ своСй Π²Π΅Π±-страницы. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π²Ρ‹ сдСлаСтС: ЗапуститС git checkout -b <имя ΠΌΠΎΠ΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ>. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° автоматичСски создаст Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, Π° Π·Π°Ρ‚Π΅ΠΌ Β«ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ вас», Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ git пСрСмСстит вас Π² эту Π²Π΅Ρ‚ΠΊΡƒ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ основной Π²Π΅Ρ‚ΠΊΠΈ.

    ПослС выполнСния ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git branch, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ваша Π²Π΅Ρ‚ΠΊΠ° Π±Ρ‹Π»Π° создана:

    Имя Π²Π΅Ρ‚ΠΊΠΈ со Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠΎΠΉ рядом с Π½Π΅ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Π² ΠΊΠ°ΠΊΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΊ названиям Ρ„ΠΈΠ»ΠΈΠ°Π»ΠΎΠ²

    По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ пСрвая Π²Π΅Ρ‚Π²ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ рСпозитория git называСтся `master` (ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС основной Π²Π΅Ρ‚ΠΊΠΈ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅). Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ±Ρ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ Π±ΠΎΡ€ΡŒΠ±Π΅ с расизмом Π² тСхничСской индустрии Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π½Π°Ρ‡Π°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° для Π²Π΅Ρ‚ΠΊΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² этом руководствС ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Β«ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉΒ»).Π’ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ обсуТдСниях Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ Β«Π³Π»Π°Π²Π½Ρ‹ΠΉΒ» ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для обозначСния основной Π²Π΅Ρ‚Π²ΠΈ. НСзависимо ΠΎΡ‚ названия, просто ΠΈΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ‡Ρ‚ΠΈ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ рСпозитория Π΅ΡΡ‚ΡŒ основная Π²Π΅Ρ‚ΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ рСпозитория. Если это Π²Π΅Π±-сайт, Ρ‚ΠΎ основная Π²Π΅Ρ‚Π²ΡŒ — это вСрсия, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ видят ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ. Если это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚ΠΎ основная Π²Π΅Ρ‚Π²ΡŒ — это вСрсия, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ. Π­Ρ‚ΠΎ Π½Π΅ тСхничСски (git Π½Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π²Π΅Ρ‚ΠΊΠΈ ΠΈΠ½Π°Ρ‡Π΅, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ), Π½ΠΎ это Ρ‚ΠΎ, ΠΊΠ°ΠΊ git Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

    Если Π²Π°ΠΌ интСрСсно Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° Π²Π΅Ρ‚ΠΎΠΊ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½Π° GitHub Π΅ΡΡ‚ΡŒ объяснСниС ΠΈΡ… измСнСния здСсь: https://github.com/github/renaming

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли Π²Ρ‹ Π²Π΅Ρ€Π½Π΅Ρ‚Π΅ΡΡŒ ΠΊ основной Π²Π΅Ρ‚ΠΊΠ΅ ΠΈ сдСлаСтС Π΅Ρ‰Π΅ нСсколько ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², ваша новая Π²Π΅Ρ‚ΠΊΠ° Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠ· этих ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠΎΠΊΠ° Π²Ρ‹ Π½Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅ эти измСнСния Π² свою Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ.

    Π¨Π°Π³ 6. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° GitHub

    Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ свой ΠΊΠΎΠ΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ локально, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GitHub.Но Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GitHub для совмСстного измСнСния ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

    Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ Ρ€Π΅ΠΏΠΎ Π½Π° GitHub, Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² систСму ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° домашнюю страницу GitHub. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΎΠΏΡ†ΠΈΡŽ «Новый Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉΒ» ΠΏΠΎΠ΄ Π·Π½Π°ΠΊΠΎΠΌ Β«+Β» рядом с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ вашСго профиля Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ:

    ПослС наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ GitHub попросит вас Π½Π°Π·Π²Π°Ρ‚ΡŒ своС Ρ€Π΅ΠΏΠΎ ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС:

    Когда Π²Ρ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

    GitHub спросит, Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π»ΠΈ Π²Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ Ρ€Π΅ΠΏΠΎ с нуля ΠΈΠ»ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ€Π΅ΠΏΠΎ, созданноС локально. Π’ этом случаС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ ΡƒΠΆΠ΅ создали Π½ΠΎΠ²ΠΎΠ΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ локально, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° GitHub, поэтому слСдуйтС Ρ€Π°Π·Π΄Π΅Π»Ρƒ Β«…. ΠΈΠ»ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки»:

    (Π’Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ URL-адрСс Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ GitHub пСрСчисляСт Π² этом Ρ€Π°Π·Π΄Π΅Π»Π΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ вашС имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ GitHub ΠΈ имя Ρ€Π΅ΠΏΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ.)

    Π¨Π°Π³ 7. ΠžΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ Π²Π΅Ρ‚ΠΊΡƒ Π½Π° GitHub

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈΠ· вашСй Π²Π΅Ρ‚ΠΊΠΈ Π² Π½ΠΎΠ²ΠΎΠ΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ GitHub.Π­Ρ‚ΠΎ позволяСт Π΄Ρ€ΡƒΠ³ΠΈΠΌ людям Π²ΠΈΠ΄Π΅Ρ‚ΡŒ внСсСнныС Π²Π°ΠΌΠΈ измСнСния. Если ΠΎΠ½ΠΈ ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Ρ‹ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ΠΌ рСпозитория, измСнСния ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ.

    Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ измСнСния Π² Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Π½Π° GitHub, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ git push origin yourbranchname. GitHub автоматичСски создаст для вас Π²Π΅Ρ‚ΠΊΡƒ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ:

    Π’Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ интСрСсно, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ это слово «origin» Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅. Когда Π²Ρ‹ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, git создаСт для вас псСвдоним.ΠŸΠΎΡ‡Ρ‚ΠΈ Π²ΠΎ всСх случаях этот псСвдоним называСтся «происхоТдСниС». По сути, это сокращСниС для URL-адрСса ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория. Π˜Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ свои измСнСния Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ: git push [email protected]: git / git.git yourbranchname ΠΈΠ»ΠΈ git push origin yourbranchname

    (Если Π²Ρ‹ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ GitHub локально, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π²ΠΎΠΉΡ‚ΠΈ Π² систСму с вашим ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ GitHub.)

    Если Π²Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ страницу GitHub, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Π΅Ρ‚ΠΊΠ° с вашим ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»Π° ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π° Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ссылку Β«Π²Π΅Ρ‚ΠΊΠΈΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΌ свою Π²Π΅Ρ‚ΠΊΡƒ.

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π·Π΅Π»Π΅Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅ Π²Ρ‹ΡˆΠ΅. ΠœΡ‹ собираСмся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ запрос Π½Π° пСрСнос !

    Π¨Π°Π³ 8. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ запрос Π½Π° вытягиваниС (PR)

    Запрос Π½Π° вытягиваниС (ΠΈΠ»ΠΈ PR) — это способ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΠΈΡ‚ΡŒ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅Π² Ρ€Π΅ΠΏΠΎ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ внСсти Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ измСнСния Π² ΠΈΡ… ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ позволяСт ΠΈΠΌ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ…ΠΎΡ€ΠΎΡˆΠΎ выглядит, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ.

    Π’ΠΎΡ‚ ΠΊΠ°ΠΊ выглядит PR-страница Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Π΅Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ:

    И Π²ΠΎΡ‚ ΠΊΠ°ΠΊ это выглядит послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ PR-запрос:

    Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π·Π΅Π»Π΅Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π²Π½ΠΈΠ·Ρƒ с надписью Β«Merge pull requestΒ».НаТав Π½Π° эту ΠΊΠ½ΠΎΠΏΠΊΡƒ, Π²Ρ‹ внСсСтС свои измСнСния Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ.

    Иногда Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΡΠΎΠ²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ΠΌ ΠΈΠ»ΠΈ СдинствСнным Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ΠΌ Ρ€Π΅ΠΏΠΎ, ΠΈ Π² этом случаС Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ PR для объСдинСния Π²Π°ΡˆΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ рСкомСндуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ вСсти Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ своих ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΈ всСгда ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΏΡ€ΠΈ внСсСнии ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

    Π¨Π°Π³ 9: ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅ PR

    НаТмитС Π·Π΅Π»Π΅Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ запрос Π½Π° ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅Β». Π­Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ ваши измСнСния Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ.

    Когда Π²Ρ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚Π΅, я Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ Π²Π΅Ρ‚ΠΊΡƒ (слишком ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅Ρ‚ΠΎΠΊ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ бСспорядочными), поэтому Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΡΠ΅Ρ€ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒΒ».

    Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π²Π°ΠΆΠ΄Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ваши ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹, Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² ссылку Β«ΠšΠΎΠΌΠΌΠΈΡ‚Ρ‹Β» Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ страницС вашСго Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π΅ΠΏΠΎ.

    Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π²Π°ΠΌ список всСх ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² этой Π²Π΅Ρ‚ΠΊΠ΅. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ слил, Π²Π²Π΅Ρ€Ρ…Ρƒ (запрос Π½Π° слияниС β„–1).

    Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ…ΡΡˆ-ΠΊΠΎΠ΄ фиксации справа.Π₯эш-ΠΊΠΎΠ΄ — это ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ для этой ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ фиксации. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для ссылки Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΈ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΌΠ΅Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git revert для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°).

    Π¨Π°Π³ 10. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ измСнСния Π½Π° GitHub ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° свой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€

    ΠŸΡ€ΡΠΌΠΎ сСйчас Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° GitHub выглядит Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π°Ρ‡Π΅, Ρ‡Π΅ΠΌ Π½Π° вашСм локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. НапримСр, фиксация, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ сдСлали Π² своСй Π²Π΅Ρ‚ΠΊΠ΅ ΠΈ слила с основной Π²Π΅Ρ‚ΠΊΠΎΠΉ, Π½Π΅ сущСствуСт Π² основной Π²Π΅Ρ‚ΠΊΠ΅ Π½Π° вашСм локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

    Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ самыС послСдниС измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ объСдинили Π½Π° GitHub, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git pull origin master (ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с основной Π²Π΅Ρ‚ΠΊΠΎΠΉ). Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв это ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΄ΠΎ Β«git pullΒ».

    Π—Π΄Π΅ΡΡŒ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ всС Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹, ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ измСнились.

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ снова ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git log, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ всС Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹.

    (Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ потрСбуСтся ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git checkout master.)

    Π¨Π°Π³ 11. ΠŸΠΎΠ³Ρ€Π΅ΠΉΡ‚Π΅ΡΡŒ Π² своСй ΠΌΠ΅Ρ€Π·ΠΊΠΎΠΉ славС

    Π’Ρ‹ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ сдСлали PR ΠΈ слили свой ΠΊΠΎΠ΄ с основной Π²Π΅Ρ‚ΠΊΠΎΠΉ. ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ! Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ Π³Π»ΡƒΠ±ΠΆΠ΅, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с этими Π±ΠΎΠ»Π΅Π΅ слоТными руководствами ΠΈ рСсурсами:

    • https://training.github.com/
      ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΡˆΠΏΠ°Ρ€Π³Π°Π»ΠΊΠΈ Github ΠΏΠΎ git! Π£Π΄ΠΎΠ±Π½ΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ повсСднСвныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.
    • https://learngitbranching.js.org/
      Π‘ΠΌΡƒΡ‰Π΅Π½Ρ‹ ΠΈΠ»ΠΈ Π·Π°ΠΈΠ½Ρ‚Ρ€ΠΈΠ³ΠΎΠ²Π°Π½Ρ‹ систСмой Π²Π΅Ρ‚ΠΎΠΊ git? Π­Ρ‚ΠΎ просто ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚Ρ‹ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ! Π­Ρ‚ΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· самых Π³Π»ΡƒΠ±ΠΎΠΊΠΈΡ… частСй git, Π½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ самая мощная.ПониманиС ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²Π΅Ρ‚Π²Π΅ΠΉ Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ супСрсилы git, ΠΈ это руководство Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ способ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΠΈ git Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятным способом.
    • https://git-school.github.io/visualizing-git
      Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ инструмСнт для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ изучСния git. Π­Ρ‚ΠΎ большС ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ пСсочницу, Ρ‡Π΅ΠΌ Π½Π° Learngitbranching.js.org
    • .

    • https://github.com/jlord/git-it-electron
      ΠΠ°ΡΡ‚ΠΎΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ git Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ. Он состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚ вас использования ΠΊΠΎΠΌΠ°Π½Π΄ git для получСния ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π°.
    • https://github.com/Gazler/githug
      Если Π²Π°ΠΌ понравился git-it, Githug — это Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ Π½Π° основС Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΎΠΊ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Ρ‚ΡŒ Π²Π°ΠΌ практичСский способ изучСния git.

    Π― Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π½Π°ΠΉΡ‚ΠΈ врСмя, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с вашСй ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π½Π°Π΄ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ нСбольшого Π³Ρ€ΡƒΠΏΠΏΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠ°ΠΊ ΠΌΡ‹ это сдСлали здСсь. ΠŸΠΎΠΏΡ€ΠΎΡΠΈΡ‚Π΅ Π²Π°ΡˆΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ вашСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π½Π΅Π΅ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² с тСкстом. Π—Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ эти измСнСния Π² это ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ Ρ€Π΅ΠΏΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ваша ΠΊΠΎΠΌΠ°Π½Π΄Π° смоТСт Π½Π°Ρ‡Π°Ρ‚ΡŒ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ создавали, ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² использовании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ PR.ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ инструмСнты git blame ΠΈ git history Π½Π° GitHub, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ измСнСния Π±Ρ‹Π»ΠΈ внСсСны Π² Ρ„Π°ΠΉΠ» ΠΈ ΠΊΡ‚ΠΎ эти измСнСния внСс.

    Π§Π΅ΠΌ большС Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ git, Ρ‚Π΅ΠΌ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ Π²Π°ΠΌ … Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌ. (Π― Π½Π΅ удСрТался.)

    * Π­Ρ‚ΠΎΡ‚ пост Π±Ρ‹Π» ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π² октябрС 2015 Π³ΠΎΠ΄Π° МСган НСльсон, Π² Ρ‚ΠΎ врСмя ΡΡ‚Π°Ρ€ΡˆΠΈΠΌ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠΌ-программистом Π² HubSpot. Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ ΠΎΠ½ Π±Ρ‹Π» ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° HubSpot.

    ЗаинтСрСсованы Π² Ρ€Π°Π±ΠΎΡ‚Π΅ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², которая Ρ†Π΅Π½ΠΈΡ‚ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ? ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с нашими ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ вакансиями ΠΈ ΠΏΠΎΠ΄Π°ΠΉΡ‚Π΅ заявку.

    Git — ArchWiki

    Β«Π― встрСчал людСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΡƒΠΌΠ°Π»ΠΈ, Ρ‡Ρ‚ΠΎ git — это интСрфСйс для GitHub. Они ошибались, git — это интСрфСйс для AURΒ». — Линус Π’.

    Git — это систСма контроля вСрсий (VCS), разработанная Линусом Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠΎΠΌ, создатСлСм ядра Linux. Git Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² AUR, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ исходныС ΠΊΠΎΠ΄Ρ‹ ядра Linux.

    Установка

    УстановитС ΠΏΠ°ΠΊΠ΅Ρ‚ git.Для вСрсии для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ установитС ΠΏΠ°ΠΊΠ΅Ρ‚ git-git AUR . ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ зависимости ΠΏΡ€ΠΈ использовании Ρ‚Π°ΠΊΠΈΡ… инструмСнтов, ΠΊΠ°ΠΊ git svn , git gui ΠΈ gitk .

    ГрафичСскиС интСрфСйсы

    Π‘ΠΌ. Π’Π°ΠΊΠΆΠ΅ git GUI Clients.

    • Giggle — Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ GTK для git.
    https://wiki.gnome.org/Apps/giggle/ || giggle
    • GitAhead — ГрафичСский ΠΊΠ»ΠΈΠ΅Π½Ρ‚ git, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ встроСнный инструмСнт слияния.
    https://gitahead.github.io/gitahead.com/ || gitahead AUR
    • Git Cola — Π­Π»Π΅Π³Π°Π½Ρ‚Π½Ρ‹ΠΉ ΠΈ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ графичСский ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс для Git, написанный Π½Π° Python.
    https://git-cola.github.io/ || git-cola AUR
    • Git Extensions — ГрафичСский ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс для Git, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Git Π±Π΅Π· использования ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.
    https: // gitextensions.github.io/ || gitextensions AUR
    • gitg — ΠΊΠ»ΠΈΠ΅Π½Ρ‚ графичСского интСрфСйса GNOME для просмотра Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² git.
    https://wiki.gnome.org/Apps/Gitg || gitg
    • git-gui — ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ графичСский интСрфСйс Π½Π° основС Tcl / Tk для Git.
    https://git-scm.com/docs/git-gui || git + tk
    • GitHub Desktop — Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Ρ‹ΠΉ графичСский ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс, созданный ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ GitHub.
    https://github.com/desktop/desktop || github-desktop AUR github-desktop-bin AUR
    • gitk — Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ рСпозитория Git Π½Π° основС Tcl / Tk.
    https://git-scm.com/docs/gitk || git + tk
    • Π“ΠΈΡ‚Π°Ρ€Π° — ΠΊΠ»ΠΈΠ΅Π½Ρ‚ графичСского интСрфСйса Git.
    https://github.com/soramimi/Guitar || Π³ΠΈΡ‚Π°Ρ€Π° AUR
    • QGit — ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° просмотра графичСского интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Git для просмотра истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, содСрТимого исправлСний ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², графичСски отслСТивая Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
    https://github.com/tibirna/qgit || qgit
    • RabbitVCS — Набор графичСских инструмСнтов, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для обСспСчСния простого ΠΈ понятного доступа ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ Π²Π°ΠΌΠΈ систСмам контроля вСрсий.
    http://rabbitvcs.org/ || rabbitvcs AUR
    • Sublime Merge — ΠšΠ»ΠΈΠ΅Π½Ρ‚ Git ΠΎΡ‚ создатСлСй Sublime Text.
    https://www.sublimemerge.com/ || sublime-merge AUR
    • Tig — интСрфСйс тСкстового Ρ€Π΅ΠΆΠΈΠΌΠ° Π½Π° основС ncurses для git.
    https://jonas.github.io/tig/ || tig
    • ungit — обСспСчиваСт удобство использования git Π±Π΅Π· ΡƒΡ‰Π΅Ρ€Π±Π° для Π΅Π³ΠΎ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
    https://github.com/FredrikNoren/ungit || nodejs-ungit AUR

    ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ

    Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Git, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ имя ΠΈ адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹:

     $ git config --global user.name " John Doe "
    $ git config --global user.элСктронная ΠΏΠΎΡ‡Ρ‚Π° " [email protected] "
     

    Π‘ΠΌ. Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ — ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ установка Git.

    Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ настройки см. Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ # Π‘ΠΎΠ²Π΅Ρ‚Ρ‹ ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΡ‹.

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

    Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git содСрТится Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ .git , Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранится история ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅. ΠšΠ°Ρ‚Π°Π»ΠΎΠ³, отслСТиваСмый Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, называСтся Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ. ИзмСнСния Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ Π΄Π΅Ρ€Π΅Π²Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ записаны (зафиксированы) Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.Git Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π½Π΅Π΅ зафиксированныС Ρ„Π°ΠΉΠ»Ρ‹ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Π΄Π΅Ρ€Π΅Π²Π°.

    Π‘ΠΌ. Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ — ΠžΡΠ½ΠΎΠ²Ρ‹ Git.

    ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ рСпозитория Git

    git init , см. Git-init (1)
    • ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
    git clone Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ , см. Git-clone (1) (Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ URL-адрСса Git)

    Π—Π°ΠΏΠΈΡΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

    Π£ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²

    Git Π΅ΡΡ‚ΡŒ промСТуточная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, которая прСдставляСт собой индСксный Ρ„Π°ΠΉΠ» Π² вашСм ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Git, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранятся измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠΉΠ΄ΡƒΡ‚ Π² Π²Π°ΡˆΡƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ.ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π²Π°ΠΌ сначала Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² индСкс (ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ). Π—Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π° git commit сохраняСт Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ индСкс Π² Π½ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅.

    ИзмСнСния стадии
    • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ измСнСния Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° Π² индСкс
    git add pathspec , см. Git-add (1)
    • Π£Π΄Π°Π»ΠΈΡ‚ΡŒ измСнСния ΠΈΠ· индСкса
    git reset pathspec git-reset (1)
    • ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, нСустановлСнныС измСнСния ΠΈ нСотслСТиваСмыС Ρ„Π°ΠΉΠ»Ρ‹
    git status , см. git-status (1)

    Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Git ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСотслСТиваСмыС Ρ„Π°ΠΉΠ»Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ .gitignore , см. gitignore (5).

    Git Π½Π΅ отслСТиваСт ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ². ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ пСрСмСщСния Π²ΠΎ врСмя слияния основано Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° сходствС содСрТимого. Команда git mv сущСствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для удобства ΠΈ эквивалСнтна:

     $ mv -i foo bar
    $ git reset - foo
    $ git add bar
     
    ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

    Команда git commit записываСт поэтапныС измСнСния Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, см. Git-commit (1).

    • -m — ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сообщСниС фиксации Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π΅Π³ΠΎ Π² тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
    • -a — автоматичСски ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ (Π½Π΅ добавляСт нСотслСТиваСмыС Ρ„Π°ΠΉΠ»Ρ‹)
    • --amend — ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ послСднюю Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² сообщСниС фиксации ΠΈΠ»ΠΈ зафиксированныС Ρ„Π°ΠΉΠ»Ρ‹.

    Π‘ΠΎΠ²Π΅Ρ‚: ВсСгда фиксируйтС нСбольшиС измСнСния часто ΠΈ с осмыслСнными сообщСниями.

    Π’Ρ‹Π±ΠΎΡ€ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ

    Git ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ нСсколько способов ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ, см. Gitrevisions (7) ΠΈ Revision Selection.

    МногиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Git ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ исправлСния Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π€ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ Π»ΡŽΠ±ΠΎΠΌΡƒ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ²:

    • SHA-1 Ρ…ΡΡˆ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° (ΠΏΠ΅Ρ€Π²Ρ‹Ρ… 7 Ρ†ΠΈΡ„Ρ€ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ достаточно для Π΅Π³ΠΎ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ)
    • Π›ΡŽΠ±Π°Ρ ΠΌΠ΅Ρ‚ΠΊΠ° фиксации, такая ΠΊΠ°ΠΊ имя Π²Π΅Ρ‚ΠΊΠΈ ΠΈΠ»ΠΈ Ρ‚Π΅Π³Π°
    • ΠœΠ΅Ρ‚ΠΊΠ° HEAD всСгда относится ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π½ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это Π³ΠΎΠ»ΠΎΠ²Π° Π²Π΅Ρ‚ΠΊΠΈ, Ссли Π²Ρ‹ Π½Π΅ использовали git checkout для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Π² истории ΠΊ старой фиксации)
    • Π›ΡŽΠ±ΠΎΠΉ ΠΈΠ· Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Ρ… плюс ~ для ссылки Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹.НапримСр, HEAD ~ относится ΠΊ ΠΎΠ΄Π½ΠΎΠΉ фиксации ΠΏΠ΅Ρ€Π΅Π΄ HEAD ΠΈ HEAD ~ 5 относится ΠΊ пяти фиксациям ΠΏΠ΅Ρ€Π΅Π΄ HEAD .
    ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

    ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ различия ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ:

     $ git diff HEAD HEAD ~ 3
     

    ΠΈΠ»ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΎΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ:

     $ git diff
     

    ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (Π³Π΄Π΅ Β« -N Β» — количСство послСдних ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²):

     $ git log -p  (-N) 
     

    ΠžΡ‚ΠΌΠ΅Π½Π° дСйствий

    Π­Ρ‚ΠΈ, наряду с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΌΠ΅Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

    Для Π±ΠΎΠ»Π΅Π΅ слоТных ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΉ истории, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ git commit --amend ΠΈ git rebase , см., НапримСр, rewriting-history. ΠΠ°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ рСкомСндуСтся Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ пСрСзаписи для ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ совмСстно с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ. Или, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Π·Π°Ρ€Π°Π½Π΅Π΅ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ скоординируйтС это.

    ΠžΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅

    Π­Ρ‚Ρƒ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΈΠ»ΠΈ Ρ€Π°Π·Π΄Π΅Π» Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ.

    ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°: Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ссылки для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… распространСнных ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ вСтвлСния. (ΠžΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ Π² ΠžΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΠΈ: Git #)

    Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ ΠΈ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² вСтвях.Когда измСнСния Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ, ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ снова ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π² Π²Π΅Ρ‚Π²ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (Π³Π»Π°Π²Π½ΡƒΡŽ).

    Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π²Π΅Ρ‚ΠΊΡƒ, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π΅Π΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

     $ git branch  Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π° справки 
     

    Бписок Π²Π΅Ρ‚Π²Π΅ΠΉ:

     $ Π²Π΅Ρ‚ΠΊΠ° git
     

    ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Ρ„ΠΈΠ»ΠΈΠ°Π»ΠΎΠ²:

     $ git checkout  Π²Π΅Ρ‚ΠΊΠ° 
     

    Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅:

     $ git checkout -b  Π²Π΅Ρ‚ΠΊΠ° 
     

    Π‘Π»ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ с основной Π²Π΅Ρ‚ΠΊΠΎΠΉ:

     $ git checkout master
    $ git merge  Π²Π΅Ρ‚ΠΊΠ° 
     

    ИзмСнСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹, Ссли ΠΎΠ½ΠΈ Π½Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‚.Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Git Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ сообщСниС ΠΎΠ± ошибкС ΠΈ Π°Π½Π½ΠΎΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ Π΄Π΅Ρ€Π΅Π²Π΅ для записи ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ². Аннотации ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ git diff . ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ ΠΏΡƒΡ‚Π΅ΠΌ рСдактирования Ρ„Π°ΠΉΠ»ΠΎΠ² для удалСния Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ ΠΈ фиксации ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ вСрсии. Π‘ΠΌ. Π Π°Π·Π΄Π΅Π» # Π Π°Π±ΠΎΡ‚Π° со слияниями Π½ΠΈΠΆΠ΅.

    Когда Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚Π΅ с Π²Π΅Ρ‚ΠΊΠΎΠΉ, ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ Π΅Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:

     $ git branch -d  branch 
     

    БотрудничСство

    Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс Git:

    1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈΠ»ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ.
    2. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π²Π΅Ρ‚ΠΊΡƒ для внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ; Π·Π°Ρ‚Π΅ΠΌ зафиксируйтС эти измСнСния.
    3. ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ для Π»ΡƒΡ‡ΡˆΠ΅ΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ / понимания.
    4. БлияниС возвращаСтся Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ.
    5. (ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ) ΠžΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ измСнСния Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр.
    Запросы Π½Π° вытяТку

    ПослС внСсСния ΠΈ фиксации Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ участник ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΡ€Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΈΡ…. Π­Ρ‚ΠΎ называСтся запросом Π½Π° ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ .

    Π’ΡΠ½ΡƒΡ‚ΡŒ:

     $ git pull  располоТСниС  master
     

    Команда pull ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ , ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‰ΠΈΠ΅ , ΠΈ , ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠ΅ .Если Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΡ€ внСс измСнСния Π² Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ), Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

    Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΡ†ΠΈΡŽ fetch (ΠΈ ΠΎΠΏΡ†ΠΈΡŽ log со ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ символом FETCH_HEAD ), содСрТимоС запроса Π½Π° вытягиваниС ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ:

     $ git fetch  располоТСниС  master
    $ git log -p HEAD..FETCH_HEAD
    $ git merge  располоТСниС мастСра 
     
    ИспользованиС ΠΏΡƒΠ»ΡŒΡ‚ΠΎΠ²

    Remote — это псСвдонимы для отслСТиваСмых ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π².Π―Ρ€Π»Ρ‹ΠΊ создаСтся, опрСдСляя мСстополоТСниС. Π­Ρ‚ΠΈ ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π².

    Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡƒΠ»ΡŒΡ‚:

     $ git remote Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ  ΠΌΠ΅Ρ‚ΠΊΠ°   располоТСниС 
     

    ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡƒΠ»ΡŒΡ‚:

     $ git fetch  ΠΌΠ΅Ρ‚ΠΊΠ° 
     

    ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ различия ΠΌΠ΅ΠΆΠ΄Ρƒ мастСром ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ мастСром:

     $ git log -p master ..  ΠΌΠ΅Ρ‚ΠΊΠ°  / master
     

    ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΠΏΡƒΠ»ΡŒΡ‚ΠΎΠ² для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ рСпозитория:

     $ git ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ -v
     

    ΠŸΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡƒΠ·Π»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ для Ρ„ΠΎΡ€ΠΊΠ° (Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°), ΠΎΠ½ опрСдСляСтся ΠΊΠ°ΠΊ восходящий .

    ΠŸΠ΅Ρ€Π΅Π½Π΅ΡΡ‚ΠΈ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

    ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ Π°Π²Ρ‚ΠΎΡ€Ρ‹ прСдоставили ΠΏΡ€Π°Π²Π°, внСситС измСнСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:

     $ git push  располоТСниС   Π²Π΅Ρ‚ΠΊΠ° 
     

    Когда выполняСтся git clone , ΠΎΠ½ записываСт исходноС мСстополоТСниС ΠΈ Π΄Π°Π΅Ρ‚ Π΅ΠΌΡƒ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ имя origin .

    Π˜Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚Π°ΠΊ:

     $ git push origin master
     

    Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ опция -u ( --set-upstream ), мСстополоТСниС записываСтся, поэтому Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π· потрСбуСтся просто git push .

    Π Π°Π±ΠΎΡ‚Π° со слияниями

    Π‘ΠΌ. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ слияния Π² ΠΊΠ½ΠΈΠ³Π΅ Git для ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ объяснСния Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ слияния. Блияния ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠΌΡ‹. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ слияния, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ --abort (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, git merge --abort ΠΈΠ»ΠΈ git pull --abort ).

    Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΈ вСрсия

    Поиск Π² истории

    git log прСдоставит ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммой фиксации, Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ, Π΄Π°Ρ‚ΠΎΠΉ ΠΈ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌ сообщСниСм.ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ сумма — это «имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Β» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° фиксации, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это 40-ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ…ΡΡˆ SHA-1.

    Для истории с Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌ сообщСниСм (Π³Π΄Π΅ Β« ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ сумма Β» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ усСчСна, Ссли ΠΎΠ½Π° ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Π°):

     $ git show ( ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ сумма )
     

    Π˜ΡΠΊΠ°Ρ‚ΡŒ шаблон Π² отслСТиваСмых Ρ„Π°ΠΉΠ»Π°Ρ…:

     $ git grep  шаблон 
     

    Π˜ΡΠΊΠ°Ρ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Π°Ρ… .c ΠΈ .h :

     $ git grep  шаблон  - '*.[ch] '
     
    ΠœΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°

    Π’Π΅Π³ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² для управлСния вСрсиями:

     $ git tag 2.14  ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ сумма 
     

    Π’Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выполняСтся для выпуска / управлСния вСрсиями, Π½ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любая строка. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π°Π½Π½ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ‚Π΅Π³ΠΈ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Git.

    ΠžΡ‚ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:

     $ git tag -a 2.14 -m "ВСрсия 2.14"
     

    Бписок Ρ‚Π΅Π³ΠΎΠ²:

     $ git tag -l
     

    Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Ρ‚Π΅Π³:

     $ git tag -d 2.08
     

    ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Ρ‚Π΅Π³ΠΈ:

     $ git push - Ρ‚Π΅Π³ΠΈ
     
    ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°

    ΠŸΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ запроса Π½Π° вытягиваниС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ / ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹. Π­Ρ‚ΠΎ дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΡ†ΠΈΠΈ git rebase --interactive :

     $ git rebase -i  ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ сумма 
     

    ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ со сводкой всСх ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅; Π² этом случаС Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΡΠ°ΠΌΡƒΡŽ Π½ΠΎΠ²ΡƒΡŽ ( HEAD ) ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, Π½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ, фиксируСт ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΡƒΡŽ сумму .Или, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡ΠΈΡΠ»ΠΎΠ²ΡƒΡŽ Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, HEAD ~ 3 , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΡƒΠ΅Ρ‚ послСдниС Ρ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°:

     pick d146cc7 Mountpoint test.
    pick 4f47712 ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ -o Π² readme.
    pick 8a4d479 ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ.
     

    Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ дСйствия Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ столбцС Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹:

    • pick — ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ эту Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ).
    • edit — Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ / ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ сообщСниС.
    • reword — Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сообщСниС фиксации.
    • squash — БлияниС / сворачиваниС с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ фиксациСй.
    • fixup — БлияниС / сворачиваниС с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ, отбрасывая Π΅Π³ΠΎ сообщСниС.

    ΠšΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ пСрСупорядочСны ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ ΠΈΠ· истории (Π½ΠΎ Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΎΡ‡Π΅Π½ΡŒ остороТны с этим). ПослС рСдактирования Ρ„Π°ΠΉΠ»Π° Git Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ дСйствия; Ссли Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ слияния, ΠΈΡΠΏΡ€Π°Π²ΡŒΡ‚Π΅ ΠΈΡ… ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git rebase --continue ΠΈΠ»ΠΈ Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ Π½Π°Π·Π°Π΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git rebase --abort .

    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Бквошинг ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², это Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ людьми.

    Π‘ΠΎΠ²Π΅Ρ‚Ρ‹ ΠΈ хитрости

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

    Git считываСт свою ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ INI-Ρ‚ΠΈΠΏΠ°:

    • / etc / gitconfig для общСсистСмных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
    • ~ / .gitconfig ΠΈ ~ / .config / git / config (с вСрсии 1.7.12) для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ
    • .git / config для ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, спСцифичной для рСпозитория

    Π­Ρ‚ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ git config , ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Π½ΠΈΠΆΠ΅.

    Бписок Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… установлСнных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

     $ git config {--local, - global, - system} --list
     

    УстановитС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ с vim Π½Π° nano:

     $ git config --global core.editor "nano -w"
     

    Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ дСйствиС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

     $ git config --global push.ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ простой
     

    УстановитС Π΄Ρ€ΡƒΠ³ΠΎΠΉ инструмСнт для git difftool (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ meld ):

     $ git config --global diff.tool vimdiff
     

    Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π’ git-config (1) ΠΈ Git Configuration.

    Π‘ΠΎΠ±Π»ΡŽΠ΄Π°ΠΉΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° этикСта

    • Рассматривая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ участия Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, ΠΏΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ ΠΈ ΠΏΠΎΠΉΠΌΠΈΡ‚Π΅ Π΅Π³ΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΡŽ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄. НСкоторыС Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ споры ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ ΠΏΡ€Π°Π²Π° собствСнности Π½Π° ΠΊΠΎΠ΄.
    • ΠŸΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎ сообщСствС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΠΎ Ρ‚ΠΎΠΌ, насколько Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π² Π½Π΅Π³ΠΎ Π²ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прСдставлСниС ΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΏΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΈ Π΄Π°ΠΆΠ΅ ΠΆΡƒΡ€Π½Π°Π» рСпозитория.
    • ΠŸΡ€ΠΈ запросС Π½Π° ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ фиксации ΠΈΠ»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ ΠΏΠ°Ρ‚Ρ‡Π° Π΄Π΅Ρ€ΠΆΠΈΡ‚Π΅ Π΅Π³ΠΎ малСньким ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ; это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ ваши измСнСния ΠΈ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π»ΠΈ ΠΈΡ… ΠΈΠ»ΠΈ ΠΏΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ вас внСсти Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠΈ.
    • Если Π²ΠΊΠ»Π°Π΄ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½, Π½Π΅ Ρ€Π°ΡΡΡ‚Ρ€Π°ΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ, Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², это ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.Если это Π²Π°ΠΆΠ½ΠΎ, обсудитС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ Π²ΠΊΠ»Π°Π΄Π° ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ яснСС ΠΈ Ρ‚Π΅Ρ€ΠΏΠ΅Π»ΠΈΠ²Π΅Π΅: ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

    УскорСниС Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ

    Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ Π½Π° сСрвСр Git.

    ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

    Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠ΅ соСдинСниС SSH, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅, Git over SSH ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ быстрСС, Ρ‡Π΅ΠΌ HTTPS. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сСрвСры (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, AUR) Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· SSH.НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ конфигурация установит Git Ρ‡Π΅Ρ€Π΅Π· SSH для любого рСпозитория, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° AUR.

     ~ / .gitconfig 
     [url "ssh: //[email protected]/"]
    вмСсто этогоOf = https://aur.archlinux.org/
    вмСсто этогоOf = http://aur.archlinux.org/
    вмСсто этогоOf = git: //aur.archlinux.org/
     

    Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Bash

    Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Bash, ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ источник /usr/share/git/completion/git-completion.bash Π² Ρ„Π°ΠΉΠ»Π΅ запуска Bash. Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ установитС bash-Completion.

    Подсказка Git

    ΠŸΠ°ΠΊΠ΅Ρ‚ Git поставляСтся со сцСнариСм ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ. Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ источник /usr/share/git/completion/git-prompt.sh ΠΈ установитС настраиваСмоС ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ % s :

    • Для Bash: PS1 = '[\ u @ \ h \ W $ (__ git_ps1 "(% s)")] \ $'
    • Для zsh: setopt PROMPT_SUBST; PS1 = '[% n @% m% c $ (__ git_ps1 "(% s)")] \ $'

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ подстановка ΠΊΠΎΠΌΠ°Π½Π΄ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ экранирована, подробности см. Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ Настройка Bash / ΠŸΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ # ВстраиваниС ΠΊΠΎΠΌΠ°Π½Π΄.Π‘ΠΌ. Π Π°Π·Π΄Π΅Π» ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки # Π€Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для постоянной ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

    ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ рСпозитория Git Π² подсказкС отобраТаСтся имя Π²Π΅Ρ‚ΠΊΠΈ. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π² подсказкС:

    ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ
    GIT_PS1_SHOWDIRTYSTATE + для постановки, * для нСустановлСнной.
    GIT_PS1_SHOWSTASHSTATE $, Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ припрятано.
    GIT_PS1_SHOWUNTRACKEDFILES % Ссли Π΅ΡΡ‚ΡŒ нСотслСТиваСмыС Ρ„Π°ΠΉΠ»Ρ‹.
    GIT_PS1_SHOWUPSTREAM <,>, <> сзади, Π²ΠΏΠ΅Ρ€Π΅Π΄ΠΈ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΎΡˆΠ»ΠΈ Π²Π²Π΅Ρ€Ρ… ΠΏΠΎ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΡŽ.

    GIT_PS1_SHOWUPSTREAM Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π° auto , Ρ‡Ρ‚ΠΎΠ±Ρ‹ измСнСния вступили Π² силу.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Если Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ $ (__ git_ps1) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ((нСизвСстно)) , Ρ‚ΠΎΠ³Π΄Π° сущСствуСт .git Π² вашСм Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ содСрТит рСпозитория, поэтому Git Π½Π΅ распознаСт Π΅Π³ΠΎ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ, Ссли Π²Ρ‹ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎ приняли Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Git ΠΊΠ°ΠΊ ~ / .git / config вмСсто ~ / .gitconfig .

    Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² настройки ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ git ΠΈΠ· AUR, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ bash-git-prompt AUR ΠΈΠ»ΠΈ gittify AUR .

    Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ прСдставлСниС

    Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прСдставлСниС ΠΎΠ± объСмС ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹:

     $ git diff --stat
     

    git log с прСдставлСниСм развСтвлСния:

     $ git log --graph --oneline --decorate
     

    git log псСвдоним Π³Ρ€Π°Ρ„ΠΈΠΊΠ° (Ρ‚.Π΅.

    Если адрСс рСпозитория измСнится, Π΅Π³ΠΎ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ мСстополоТСниС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ:

     $ git ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ источник set-url git @  адрСс :  ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ / Ρ€Π΅ΠΏΠΎ  .git
     

    ПодписанноС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ строки (подпись ΠΈΠΌΠ΅Π½ΠΈ ΠΈ адрСса элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ добавляСтся ΠΊ фиксации, которая трСбуСтся для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²):

     $ git commit -s
     

    Signed-off-by автоматичСски добавляСтся ΠΊ исправлСниям (ΠΏΡ€ΠΈ использовании git format-patch commit ):

     $ git config --local format.подписаниС Π²Π΅Ρ€Π½ΠΎ
     

    ЗафиксируйтС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ части Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли сдСлано большоС количСство ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»ΡƒΡ‡ΡˆΠ΅ всСго Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π½Π° нСсколько ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²:

     $ git add -p
     

    ПодписаниС ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

    Git позволяСт ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΈ Ρ‚Π΅Π³ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ GnuPG, см. Подпись вашСй Ρ€Π°Π±ΠΎΡ‚Ρ‹.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ проклятия pinentry для подписи GPG, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ export GPG_TTY = $ (tty) (Π² качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ pinentry-tty), Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС шаг подписания Π½Π΅ удастся, Ссли GPG Π² настоящСС врСмя находится Π² Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ состоянии (ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ ΡˆΡ‚Ρ‹Ρ€ΡŒ).

    Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Git для автоматичСской подписи ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²:

     $ git config --global commit.gpgSign true
     

    Π Π°Π±ΠΎΡ‚Π° с нСосновной Π²Π΅Ρ‚ΠΊΠΎΠΉ

    Иногда ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΉ просит ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ Π²Π΅Ρ‚ΠΊΠΎΠΉ. Π­Ρ‚ΠΈ Π²Π΅Ρ‚Π²ΠΈ часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ devel ΠΈΠ»ΠΈ test . НачнитС с клонирования рСпозитория.

    Π§Ρ‚ΠΎΠ±Ρ‹ ввСсти Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ рядом с master ( git clone ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ master Π²Π΅Ρ‚ΠΊΡƒ, Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ всС Π΅Ρ‰Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚, git branch -a для отобраТСния):

     $ git checkout -b  Π²Π΅Ρ‚ΠΊΠ°  origin /  Π²Π΅Ρ‚ΠΊΠ° 
     

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ; ΠΎΠ΄Π½Π°ΠΊΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π΅Ρ€Π΅Π²ΠΎ рСпозитория ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ±Π°:

     $ git pull - всС
    $ git push - всС
     

    НСпосрСдствСнная ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° исправлСний Π² список рассылки

    Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ исправлСния нСпосрСдствСнно Π² список рассылки, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹: perl-authen-sasl, perl-net-smtp-ssl ΠΈ perl-mime-tools.

    Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ настроили своС имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹, см. # ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ.

    НастройтС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹:

     $ git config --global sendemail.smtpserver  smtp.example.com 
    $ git config --global sendemail.smtpserverport 587 
    $ git config --global sendemail.smtpencryption  tls 
    $ git config --global sendemail.smtpuser  [email protected] 
     

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡ Π² список рассылки (см. Π’Π°ΠΊΠΆΠ΅ OpenEmbedded: Как ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡ Π² OpenEmbedded # ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ):

     $ git add  имя_Ρ„Π°ΠΉΠ»Π° 
    $ git commit -s
    $ git send-email --to =  openembedded-core @ lists.openembedded.org  --confirm = всСгда -M -1
     

    Когда ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ Ρ€Π΅ΠΏΠΎ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅

    Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΈΠ»ΠΈ Ρ€Π°Π·Π΄Π΅Π» Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ языка, синтаксиса Π²ΠΈΠΊΠΈ ΠΈΠ»ΠΈ стиля. Π‘ΠΌ. Π‘ΠΏΡ€Π°Π²ΠΊΡƒ: Π‘Ρ‚ΠΈΠ»ΡŒ.

    ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π½Π΅Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык, сокращСния, HTML-Ρ‚Π΅Π³ΠΈ вмСсто шаблонов ΠΊΠΎΠ΄Π° ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅ΠΆΠ²ΠΈΠΊΠΈ-ссылки. (ΠžΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ Π² ΠžΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΠΈ: Git #)

    Когда ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ Ρ€Π΅ΠΏΠΎ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ взяты ΠΈΠ· ядра Linux.

    Π‘Π°ΠΌΡ‹ΠΉ простой способ: ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС Ρ€Π΅ΠΏΠΎ

    Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ вСсь Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΠΎ

     $ git clone git: //git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
     

    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: git clone Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ Π² случаС прСрывания.

    Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ своС Ρ€Π΅ΠΏΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git pull .

    Частичная Π²Ρ‹Π±ΠΎΡ€ΠΊΠ°

    Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ локального рСпозитория, скаТСм, послС вСрсии 4.14, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ. Π—Π°Ρ‚Π΅ΠΌ сдСлайтС:

     $ git clone --shallow-exclude v4.13 git: //git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git # Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ v4.14 ΠΈ Π½ΠΎΠ²Π΅Π΅, Π½ΠΎ Π½Π΅ v4.13 ΠΈ ΡΡ‚Π°Ρ€ΡˆΠ΅.
     

    Или, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послСдний снимок, игнорируя всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ. (Если tarball доступСн ΠΈ Π΅Π³ΠΎ достаточно, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π΅Π³ΠΎ. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ рСпозитория git стоит Π΄ΠΎΡ€ΠΎΠΆΠ΅.) Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

     $ git clone --depth 1 git: //git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
     

    ПозТС Π²Ρ‹ смоТСтС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ старыС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€,

     $ git fetch --tags --shallow-exclude v4.1 # ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ послС v4.1.
    $ git fetch --tags --shallow-с 01.01.2016
     

    Π‘Π΅Π· --tags Ρ‚Π΅Π³ΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Ρ‹.

    ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ отдСлСния

    Π’Π°ΡˆΠ΅ локальноС Ρ€Π΅ΠΏΠΎ отслСТиваСт, Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ основноС ядро, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ выполняСтся послСдняя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° . ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° послСдняя вСрсия LTS , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, послСдняя вСрсия 4.14. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ это:

     $ git ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π²Π΅Ρ‚ΠΎΠΊ --add origin linux-4.17.y
    $ git fetch
    $ git branch --track linux-4.17.y происхоТдСниС / linux-4.17.y
     

    ПослСдняя строка Π½Π΅ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ, Π½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ½Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π°.
    (Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ имя Π½ΡƒΠΆΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ, ΠΈΠ·Π²ΠΈΠ½ΠΈΡ‚Π΅, ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π½Π΅Ρ‚.

    Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

    Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *