Skip to content

cpp-practice/git-tutorial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 

Repository files navigation

Git & GitHub Tutorial

Π”Π°Π½Π½Ρ‹ΠΉ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π» ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для студСнтов ИВМО ΠΈ CSC, проходящих курс ΠΏΠΎ C++ ΠΈ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹Ρ… с систСмой контроля вСрсий git ΠΈ хостингом GitHub.

Git

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

git Ρ…Ρ€Π°Π½ΠΈΡ‚ всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, поэтому Π² случаС нСобходимости ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½Π΅ΠΉ вСрсии ΠΊΠΎΠ΄Π°.

GitHub

GitHub - это ΠΊΠΎΠ»Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ git-хостинг, Ρ‚.Π΅. сСрвис, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π·Π°Π²ΠΎΠ΄ΠΈΡ‚ΡŒ, ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΈ совмСстно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ git-рСпозиториями.

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

НСобходимыС знания

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ со сдачСй Π·Π°Π΄Π°Π½ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· GitHub, студСнт Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠΌΠ΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

  1. завСсти ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ Π½Π° GitHub (Ссли Π΅Π³ΠΎ Π½Π΅Ρ‚)
  2. ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ git Π½Π° своСй OS (ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Linux ΠΈΠ»ΠΈ MacOS, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Windows)
  3. ΡΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ GitHub-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Ρƒ
  4. Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ послСдниС измСнСния с рСпозитория с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ fetch ΠΈ pull
  5. ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ - ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ (зависит ΠΎΡ‚ задания)
  6. послС выполнСния домашнСго задания - Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ внСсСнныС измСнСния Π² git, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ commit ΠΈ push
  7. Ρ‡Π΅Ρ€Π΅Π· сайт GitHub ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ pull-request с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ
  8. Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ своСго прСподаватСля/ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π² reviewers
  9. Π² случаС нСобходимости -- Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π½Π° ΠΏΡƒΠ½ΠΊΡ‚ 5 ΠΈ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ замСчания прСподаватСля

Если Π²Ρ‹ способны Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ всС эти шаги, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ смСло ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π», Ρ‚.ΠΊ. Π²Ρ‹ вряд Π»ΠΈ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΈΠ· Π½Π΅Π³ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ΅.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ знания ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ, Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ:

  1. ΡƒΠΌΠ΅Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹ сборки (Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠΈ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹) Π² .gitignore

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с git ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹:

  • Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (repository) - любой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, находящийся ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ git. ЀактичСски - просто ΠΏΠ°ΠΏΠΊΠ° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ (исходный ΠΊΠΎΠ΄, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, make-Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Ρ‚.Π΄.). НапримСр, каТдая ваша домашняя Ρ€Π°Π±ΠΎΡ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ

  • ΠΊΠΎΠΌΠΌΠΈΡ‚ (commit) - Π΅Π΄ΠΈΠ½ΠΈΡ†Π° измСнСния рСпозитория, Ρ‚.Π΅. Π½Π°Π±ΠΎΡ€ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ внСсли Π² Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ сохранили Π² git. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π΅ΡΡ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚Π΅Ρ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Ρ…ΡΡˆΠΎΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 31218c50770fa40bc58189039de6714323ca63d0), ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π½Π° Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ

  • Π²Π΅Ρ‚ΠΊΠ° (branch) - ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ стоящая Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ². Π’Π΅Ρ‚ΠΊΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„ΠΈΡ‡, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π΅ΡΡ‚ΡŒ Ρ‚.Π½. master-Π²Π΅Ρ‚ΠΊΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΡ‚ΠΎΠΌ ΡΠ»ΠΈΠ²Π°ΡŽΡ‚ΡΡ (мСрдТатся, merge) Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ. ΠžΡ‚Π²Π΅Ρ‚Π²ΠΈΡ‚ΡŒΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ любого ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

  • HEAD - ΠΊΠΎΠΌΠΌΠΈΡ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π’ git Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π½Π° Π²Π΅Ρ‚ΠΊΠΈ (Ρ‚ΠΎΠ³Π΄Π° HEAD Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² этой Π²Π΅Ρ‚ΠΊΠ΅), Ρ‚Π°ΠΊ ΠΈ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹.

    На ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅ Π²ΠΈΠ΄Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· Π΄Π²ΡƒΡ… Π²Π΅Ρ‚ΠΎΠΊ (Π³ΠΎΠ»ΡƒΠ±ΠΎΠΉ ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π²ΠΈΠ²ΡˆΠ΅ΠΉΡΡ ΠΎΡ‚ Π½Π΅Ρ‘ Π·Π΅Π»Π΅Π½ΠΎΠΉ), ΠΈ ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ€Π΄ΠΆ Π·Π΅Π»Π΅Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π² Π³ΠΎΠ»ΡƒΠ±ΡƒΡŽ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π΅Ρ‚ΠΎΠΊ

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с GitHub ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹:

  • issue - ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ запись, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ GitHub ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² любом доступном Π΅ΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ, Π½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π² Π½ΠΈΡ… ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π»ΠΈΠ±ΠΎ сообщСния ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, Π»ΠΈΠ±ΠΎ прСдлоТСния ΠΎΠ± ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡΡ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, запросы Π½Π° Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΠΈΡ‡ΠΈ)

  • fork рСпозитория (Π°Π½Π³Π». Π²ΠΈΠ»ΠΊΠ°) - Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ копию Ρ‡ΡŒΠ΅Π³ΠΎ-Ρ‚ΠΎ рСпозитория Ρƒ сСбя. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это Π΄Π΅Π»Π°ΡŽΡ‚ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΡ… Π΄Π²ΡƒΡ… ΠΏΡ€ΠΈΡ‡ΠΈΠ½:

    1. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ большС Π½Π΅ поддСрТиваСтся, поэтому Π²Ρ‹ Ρ€Π΅ΡˆΠ°Π΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ копию ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ.
    2. Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² исходный Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π½ΠΎ Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚Π΅ ΠΏΡ€Π°Π²Π°ΠΌΠΈ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это Π΄Π΅Π»Π°Ρ‚ΡŒ, ΠΈΠ»ΠΈ просто Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° бСзопасной Ρ‚Π΅Ρ€Ρ€ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

    Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ внСсти измСнСния Π² ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, сущСствуСт ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, описанный Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π΅

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


НСмного ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ

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

N.B. По всСм пСрСчислСнным Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠΏΡ€Π°Π²ΠΎΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Ссли Π½Π°Π±Ρ€Π°Ρ‚ΡŒ Π² консоли git <command> --help. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Π°ΠΌ Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ.

Установка git Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€

Π’ΠΎΡ‚ здСсь описаны способы установки git Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

P.S. git ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ являСтся инструмСнтом ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ всСго знакомится с Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π». ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΎΡΠ²ΠΎΠΈΡ‚Π΅ΡΡŒ Ρ‚Π°ΠΌ, для вас Π½Π΅ составит Ρ‚Ρ€ΡƒΠ΄Π° ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅, ΠΈΠ½ΠΎΠ³Π΄Π° Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ инструмСнты Ρ€Π°Π±ΠΎΡ‚Ρ‹ с git (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с помошью Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΊ тСкстовым Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌ ΠΈ IDE, ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π²Ρ€ΠΎΠ΄Π΅ GitKraken ΠΈ TortoiseGit). А Π²ΠΎΡ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½Ρ‹ΠΌ, особСнно Ссли Π²Ρ‹ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ довСряли ΠΌΠ°Π³ΠΈΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… инструмСнтов, Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ понимая, Ρ‡Ρ‚ΠΎ происходит ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ.

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ: ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ init ΠΈ clone

Π˜Ρ‚Π°ΠΊ, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с git Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ. Π•ΡΡ‚ΡŒ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° - Π»ΠΈΠ±ΠΎ Π²Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ с чистого листа ΠΈ создаСтС свСТий Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π»ΠΈΠ±ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ„ΠΎΡ€ΠΊΠ½ΡƒΠ»ΠΈ Π½Π° GitHub), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π΅Ρ‰Π΅ Π½Π΅ скопирован Π½Π° Π²Π°ΡˆΡƒ ΠΌΠ°ΡˆΠΈΠ½Ρƒ.

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° git init. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ git ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ‚ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ сСйчас Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ, послС Ρ‡Π΅Π³ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ. Π­Ρ‚ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

user@unit-1223:~$ mkdir MyAwesomeProject  # создаСм ΠΏΠ°ΠΏΠΊΡƒ 
user@unit-1223:~$ cd MyAwesomeProject/    # ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² Π½Π΅Ρ‘
user@unit-1223:~/MyAwesomeProject$ git init
Initialized empty Git repository in /home/user/MyAwesomeProject/.git/
user@unit-1223:~/MyAwesomeProject$

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° git clone <url>, Π³Π΄Π΅ Π² качСствС url Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ адрСс вашСго рСпозитория (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для скачивания этого рСпозитория Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ‚ΡƒΠ΄Π° https://github.com/cpp-practice/git-tutorial.git).

Если ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡˆΠ»ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Ρ‚ΠΎ Π² вашСй Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ появится ΠΏΠ°ΠΏΠΊΠ°, названная Π² соотвСтствии с ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ.

user@unit-1223:~$ git clone https://github.com/fedochet/MyAwesomeProject.git
Cloning into 'MyAwesomeProject'...
Username for 'https://github.com': fedochet
Password for 'https://[email protected]': 
Checking connectivity... done.
user@unit-1223:~$ cd MyAwesomeProject/
user@unit-1223:~/MyAwesomeProject$ 

Как Π²ΠΈΠ΄Π½ΠΎ, git попросил мСня ввСсти Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ сСбС (ΠΌΠΎΠΈ Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π½Π° GitHub), ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π» - ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ. ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π½ΠΎΠΉ записи Π½Π° GitHub.

Настройка ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

git Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΡ‚ΠΎ являСтся Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Π—Π° счёт этого Π² случаС ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π°Π²Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ куска ΠΊΠΎΠ΄Π° ΠΈ Π½Π°Π±ΠΈΡ‚ΡŒ Π΅ΠΌΡƒ ΠΌΠΎΡ€Π΄Ρƒ Π·Π°Π΄Π°Ρ‚ΡŒ Π΅ΠΌΡƒ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠ΅ вас вопросы.

Π§Ρ‚ΠΎΠ±Ρ‹ git Π·Π½Π°Π» Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΎ вас, Π²Π°ΠΌ слСдуСт ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

user@unit-1223:~$ git config --global user.name User Userov # ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ свои имя ΠΈ Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ
user@unit-1223:~$ git config --global user.email [email protected] # ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ адрСс вашСй ΠΏΠΎΡ‡Ρ‚Ρ‹ (ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ - Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² GitHub)

Π€Π»Π°Π³ --global ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ эти настройки Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² случаС, Ссли ΠΎΠ½ΠΈ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ git-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. Π‘Π΅Π· этого Ρ„Π»Π°Π³Π°, Π΄Π°Π½Π½Ρ‹Π΅ настройки Π±ΡƒΠ΄ΡƒΡ‚ сохранСны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ рСпозитория.

Если Π²Ρ‹ Π½Π΅ выставитС эти значСния, Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ git commit Π²Π°ΠΌ Π²Ρ‹Π΄Π°Π΄ΡƒΡ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ: ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ status, add ΠΈ commit

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² Π½Ρ‘ΠΌ ΠΌΠ΅Π½ΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ/ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ/Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… содСрТимоС.

git ΡƒΠΌΠ΅Π΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ внСсли Π² Ρ„Π°ΠΉΠ»Ρ‹ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚ΠΎΠ³ΠΎ состояния, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ HEAD-ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Π£Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ измСнСния Π±Ρ‹Π»ΠΈ внСсСны, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² ΠΊΠ°ΠΊΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ Π²Ρ‹ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ, ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git status.

user@unit-1223:~/MyAwesomeProject$ git status
On branch master

Initial commit

nothing to commit (create/copy files and use "git add" to track)
user@unit-1223:~/MyAwesomeProject$
user@unit-1223:~/MyAwesomeProject$ echo "Hello world" > new_file.txt # Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ "Hello world" Π² Ρ„Π°ΠΉΠ» new_file.txt
user@unit-1223:~/MyAwesomeProject$ git status
On branch master

Initial commit

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        new_file.txt

nothing added to commit but untracked files present (use "git add" to track)

git ΡƒΠ²ΠΈΠ΄Π΅Π», Ρ‡Ρ‚ΠΎ появился Π½ΠΎΠ²Ρ‹ΠΉ (untracked) Ρ„Π°ΠΉΠ».

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ git Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠ» Π΅Π³ΠΎ, Π½Π° этом Ρ„Π°ΠΉΠ»Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git add.

user@unit-1223:~/MyAwesomeProject$ git add new_file.txt
user@unit-1223:~/MyAwesomeProject$ git status
On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

        new file:   new_file.txt

Если Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ», git Ρ‚ΠΎΠΆΠ΅ это Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚, ΠΈ Π²Π°ΠΌ снова потрСбуСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git add.

user@unit-1223:~/MyAwesomeProject$ echo "Hello again" >> new_file.txt # Π΄ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ "Hello again" Π² new_file.txt
user@unit-1223:~/MyAwesomeProject$ git status
On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

        new file:   new_file.txt

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   new_file.txt

user@unit-1223:~/MyAwesomeProject$

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ сСйчас new_file.txt показываСтся ΠΈ ΠΊΠ°ΠΊ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ, ΠΈ ΠΊΠ°ΠΊ not staged for commit. Π­Ρ‚ΠΎ происходит ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ git Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠ» ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Ρ„Π°ΠΉΠ»Π°, Π° Π½ΠΎΠ²ΡƒΡŽ - Π΅Ρ‰Ρ‘ Π½Π΅Ρ‚, ΠΈ Π΅Ρ‘ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.

Команда git add ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ² сразу, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ†Π΅Π»Ρ‹Π΅ ΠΏΠ°ΠΏΠΊΠΈ.


ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π½Π°Π΄ Π½ΠΎΠ²Ρ‹ΠΌ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° опСрация git add, ΠΎΠ½ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ‚.Π½. staged состояниС. Π’Π°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² сСкции Changes to be committed Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git status. Π’Π΅ΠΏΠ΅Ρ€ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git commit ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ состояниС рСпозитория.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ нСпустого сообщСния (commit message), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ внСсСнныС Π²Π°ΠΌΠΈ измСнСния. Если Π²Ρ‹ просто Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git commit, Ρ‚ΠΎ git запустит тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΈΠΌ тСкстом:


# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
#
# Initial commit
#
# Changes to be committed:
#       new file:   new_file.txt
#
# Changes not staged for commit:
#       modified:   new_file.txt
#

(По-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ nano (Π²Ρ‹Ρ…ΠΎΠ΄ - ctrl+X) ΠΈΠ»ΠΈ vim (Π²Ρ‹Ρ…ΠΎΠ΄ - :q)).

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΡƒΠ΄ΠΎΠ±Π΅Π½ Π² Ρ‚ΠΎΠΌ случаС, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ большоС количСство ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ; Ссли ΠΆΠ΅ сообщСниС нСбольшоС, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ„Π»Π°Π³ΠΎΠΌ -m ΠΈ Π΄ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ сообщСниС послС Π½Π΅Π³ΠΎ.

user@unit-1223:~/MyAwesomeProject$ git status
On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

        new file:   new_file.txt

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   new_file.txt

user@unit-1223:~/MyAwesomeProject$ git commit -m 'add new file'
[master (root-commit) e1c446c] add new file
 1 file changed, 1 insertion(+)
 create mode 100644 new_file.txt
user@unit-1223:~/MyAwesomeProject$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   new_file.txt

no changes added to commit (use "git add" and/or "git commit -a")
user@unit-1223:~/MyAwesomeProject$

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ сСкция Changes to be committed пуста - ΠΌΡ‹ ΡƒΠΆΠ΅ создали ΠΊΠΎΠΌΠΌΠΈΡ‚ с этими измСнСниями, ΠΈ ΠΎΠ½ΠΈ сохранСны Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ git.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ истории ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²: ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ log ΠΈ diff

Часто Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ сдСланы Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ измСнСния Π±Ρ‹Π»ΠΈ внСсСны ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ.

Для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ нСсколько ΠΊΠΎΠΌΠΌΠ°Π½Π΄, Π½ΠΎ основной являСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° git log:

user@unit-1223:~/MyAwesomeProject$ git log
commit e1c446c54bf4e5369e1dcc71ede6d7ec00407417
Author: Roman <[email protected]>
Date:   Sat Sep 15 15:48:39 2018 +0300

    add new file

Как Π²ΠΈΠ΄Π½ΠΎ, ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ ΠΌΡ‹ сдСлали Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘Π΄Π΅Π»Π°Π΅ΠΌ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π±Ρ‹Π»ΠΎ Π΄Π²Π°: Π΄ΠΎΠ±Π°Π²ΠΈΠΌ "Hello again" ΠΊ Ρ„Π°ΠΉΠ»Ρƒ new_file.txt

user@unit-1223:~/MyAwesomeProject$ echo 'Hello again' >> new_file.txt # Π΄ΠΎΠ±Π°Π²ΠΈΠΌ строчку
user@unit-1223:~/MyAwesomeProject$ git add new_file.txt
user@unit-1223:~/MyAwesomeProject$ git commit -m 'add "hello again"'
[master 31218c5] add "hello again"
 1 file changed, 1 insertion(+)
user@unit-1223:~/MyAwesomeProject$ git log
commit 31218c50770fa40bc58189039de6714323ca63d0 # это - Ρ…Π΅Ρˆ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°
Author: Roman <[email protected]>
Date:   Sat Sep 15 17:16:52 2018 +0300

    add "hello again"

commit e1c446c54bf4e5369e1dcc71ede6d7ec00407417
Author: Roman <[email protected]>
Date:   Sat Sep 15 15:48:39 2018 +0300

    add new file
user@unit-1223:~/MyAwesomeProject$

Как Π²ΠΈΠ΄Π½ΠΎ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π΄Π²Π°. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Π±Ρ‹Π»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git diff . Π­Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡƒΠΌΠ΅Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π² зависимости ΠΎΡ‚ своих Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π‘Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΎΠ½Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ измСнСния Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² Ρ„Π°ΠΉΠ»Ρ‹, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… git ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚, Π½ΠΎ Π΅Ρ‰Ρ‘ Π½Π΅ Π±Ρ‹Π»ΠΈ Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½Ρ‹ Ρ‡Π΅Ρ€Π΅Π· git commit.

Если ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅ΠΉ Ρ…ΡΡˆ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Ρ‚ΠΎ ΠΎΠ½Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ HEAD-ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ.

user@unit-1223:~/MyAwesomeProject$ git diff e1c44  # Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΠ»Π°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π²Ρ‹Π΅ нСсколько Ρ†ΠΈΡ„Ρ€ Π΅Π³ΠΎ Ρ…Π΅ΡˆΠ°
diff --git a/new_file.txt b/new_file.txt
index 802992c..06ae335 100644
--- a/new_file.txt
+++ b/new_file.txt
@@ -1 +1,2 @@
 Hello world
+Hello again

Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ (TODO: Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ сСкции)

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ знания, читатСлям этого Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π° прСдлагаСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π½Π΅Π±Ρ€ΠΎΠ»ΡŒΡˆΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅.

  • Π—Π°Π²Π΅Π΄ΠΈΡ‚Π΅ ΡƒΡ‡Π΅Ρ‚Π½ΡƒΡŽ запись Π½Π° GitHub, Ссли Π΅Ρ‘ Ρƒ вас Π΅Ρ‰Ρ‘ Π½Π΅Ρ‚.
  • Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Ρ„ΠΎΡ€ΠΊ этого рСпозитория ΠΈ склонируйтС Π΅Π³ΠΎ сСбС Π½Π° ΠΌΠ°ΡˆΠΈΠ½Ρƒ.
  • Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Π²Π΅Ρ‚ΠΊΡƒ task-1-<username>, Π³Π΄Π΅ username - вашС имя Π½Π° GitHub ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄ΠΈΡ‚Π΅ Π² Π½Π΅ΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:
    • Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ пустой Ρ„Π°ΠΉΠ» task_1_<username>.txt ΠΈ сдСлайтС ΠΊΠΎΠΌΠΌΠΈΡ‚ с ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ осмыслСнным сообщСниСм.
    • Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² этот Ρ„Π°ΠΉΠ» строчку с вашими ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ Ρ„Π°ΠΌΠΈΠ»ΠΈΠ΅ΠΉ (ΠΌΠΎΠΆΠ½ΠΎ просто с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ тСкстом) ΠΈ сдСлайтС ΠΊΠΎΠΌΠΌΠΈΡ‚ с этим ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ.
  • ПослС этого сдСлайтС ΠΏΡƒΠ»Π»-рСквСст ΠΈΠ· вашСй Π²Π΅Ρ‚ΠΊΠΈ Π² мастСр-Π²Π΅Ρ‚ΠΊΡƒ своСго рСпозитория, ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ мСня (@fedochet) Π² качСствС reviewer.

About

Git and GitHub tutorial for course students

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published