ΠΠΎΠ½ΡΡΠΎΠ» Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅ Git
Π Π±ΡΡΠ·ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΈΡ ΡΠ΅ ΡΠ²ΡΡ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΠΎΡΡΡΠ΅Ρ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΠΎ ΡΡΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈ ΡΠ°ΡΠΈΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΡΠ° ΠΎΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Gitβ’ ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΠ½Π° Π² Π½Π°ΠΉ-ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°ΡΠ° ΠΈ ΡΠΈΡΠΎΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅, ΠΊΠΎΡΡΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΌΠΎΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΠΊΠΎΠ΄Π°, ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΠΈΡΡΠΎΡΠΈΡΡΠ° ΠΈ ΡΡΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ Ρ Π΅ΠΊΠΈΠΏΠΈ ΠΎΡ Π²ΡΡΠΊΠ°ΠΊΡΠ² ΠΌΠ°ΡΠ°Π±. ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Π°Π»ΠΈ ΡΠ°Π±ΠΎΡΠΈΡΠ΅ ΠΏΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΈΠ»ΠΈ Π΄ΠΎΠΏΡΠΈΠ½Π°ΡΡΡΠ΅ Π·Π° Π³ΠΎΠ»ΡΠΌΠ° ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Π° Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄, Git ΠΈΠ³ΡΠ°Π΅ ΠΆΠΈΠ·Π½Π΅Π½ΠΎΠ²Π°ΠΆΠ½Π° ΡΠΎΠ»Ρ, Π·Π° Π΄Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ ΠΊΠΎΠ΄ΡΡ Π²ΠΈ ΠΎΡΡΠ°Π²Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½, Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈ ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌ.
ΠΠ°ΠΊΠ²ΠΎ Π΅ Git?
Gitβ’ Π΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅ (DVCS), ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ ΠΏΠΎ Π΄Π°Π΄Π΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π±Π΅Π· Π΄Π° ΠΏΡΠ΅Π·Π°ΠΏΠΈΡΠ²Π°Ρ ΠΏΡΠΈΠ½ΠΎΡΠ° ΡΠΈ. Π‘ΡΠ·Π΄Π°Π΄Π΅Π½Π° ΠΎΡ ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»Π΄Ρ ΠΏΡΠ΅Π· 2005 Π³., Git ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π°, Π·Π° Π΄Π° ΠΏΠΎΠ΄ΠΏΠΎΠΌΠΎΠ³Π½Π΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux. ΠΡΡΠΎΠ³Π°Π²Π° ΡΠΎΠΉ ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΠ½Π° Π² ΠΎΡΠ½ΠΎΠ²Π΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ΡΠΎ – ΠΎΡ ΡΠ΅Π± ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π΄ΠΎ Π½Π°ΡΠΊΠ°ΡΠ° Π·Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΊΠ°ΡΠΎ Subversion (SVN), Git Π½Π΅ ΡΠ°Π·ΡΠΈΡΠ° Π½Π° ΡΠ΅Π½ΡΡΠ°Π»Π΅Π½ ΡΡΡΠ²ΡΡ, ΠΊΠΎΠΉΡΠΎ Π΄Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π° Π²ΡΠΈΡΠΊΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π° Ρ ΠΏΡΠ»Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ»Π°ΡΠ° ΠΈΡΡΠΎΡΠΈΡ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ. Π’ΠΎΠ·ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ Π½Π° Git Π³ΠΎ ΠΏΡΠ°Π²ΠΈ ΡΡΠ°Π±ΠΈΠ»Π΅Π½, Π±ΡΡΠ· ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½.
ΠΡΠ½ΠΎΠ²Π½ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° Gitβ’
- Π Π°Π·ΠΊΠ»ΠΎΠ½ΡΠ²Π°Π½Π΅ ΠΈ ΡΠ»ΠΈΠ²Π°Π½Π΅: ΠΠΎΠ΄Π΅Π»ΡΡ Π·Π° ΡΠ°Π·ΠΊΠ»ΠΎΠ½ΡΠ²Π°Π½Π΅ Π½Π° Git Π΅ Π΅Π΄Π½Π° ΠΎΡ Π½Π°ΠΉ-ΠΌΠΎΡΠ½ΠΈΡΠ΅ ΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΈ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ Π·Π° Π½ΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈΠ»ΠΈ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΡΠ°Π±ΠΎΡΠ°, Π±Π΅Π· Π΄Π° Π·Π°ΡΡΠ³Π°Ρ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ° Π·Π°Π²ΡΡΡΠ΅Π½ΠΈ ΠΈ ΡΠ΅ΡΡΠ²Π°Π½ΠΈ, ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ. Π’ΠΎΠ²Π° Π΄Π°Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΠΏΠ»Π°Π²Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ.
- Π Π°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°: Π’ΡΠΉ ΠΊΠ°ΡΠΎ Git Π΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°, Π²ΡΠ΅ΠΊΠΈ ΡΡΡΡΡΠ΄Π½ΠΈΠΊ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π° Ρ ΠΏΡΠ»Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΠΈΡΡΠΎΡΠΈΡ. Π’Π°Π·ΠΈ ΡΡΡΡΠΊΡΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ ΠΎΡΠ»Π°ΠΉΠ½ ΠΈ Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π° Π΄Π° ΠΈΠΌΠ°Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΡΠ»Π½ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. Π’Ρ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Π½ΡΠΌΠ° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΠΎΡΠΊΠ°Π·, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ°Π²ΠΈ Git ΠΏΠΎ-Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅.
- ΠΡΡΠΎΡΠΈΡ Π½Π° Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½ΡΠΈΡΠ΅ ΠΈ Π΄Π½Π΅Π²Π½ΠΈΡΠΈ: Git ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π° Π²ΡΡΠΊΠ° ΠΏΡΠΎΠΌΡΠ½Π°, Π½Π°ΠΏΡΠ°Π²Π΅Π½Π° Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, ΡΡΡ ΡΠ½ΠΈΠΌΠΊΠΈ, Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈ “commits” ΠΡΠ΅ΠΊΠΈ commit ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅. Π’Π΅Π·ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Ρ Π² Π΄Π½Π΅Π²Π½ΠΈΠΊ ΡΡΡ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΉ ΠΈ ΠΊΠΎΠ³Π° Π΅ Π½Π°ΠΏΡΠ°Π²ΠΈΠ» ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ°. Π’ΠΎΠ²Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° Π΅ΠΊΠΈΠΏΠΈΡΠ΅ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π° ΠΈΡΡΠΎΡΠΈΡ Π½Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ Π²ΡΡΡΠ°Ρ ΠΊΡΠΌ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈ Π²Π΅ΡΡΠΈΠΈ, Π°ΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ.
- ΠΠ±Π»Π°ΡΡ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅: ΠΠ±Π»Π°ΡΡΡΠ° Π·Π° ΠΏΠΎΠ»Π°Π³Π°Π½Π΅ Π½Π° ΡΡΠ°ΠΆ Π² Git ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Ρ ΠΊΠΎΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π°Ρ Π² ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡ commit. ΠΠΌΠ΅ΡΡΠΎ Π΄Π° ΠΏΡΠ΅Π΄Π°Π²Π°Ρ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π½Π°Π²Π΅Π΄Π½ΡΠΆ, ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° Git ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΠΎΡΡΠ°Π²ΡΡ Π½Π° Π΅ΡΠ°ΠΏ ΡΠ°ΠΌΠΎ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΊΠ°ΡΠΎ ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ ΡΠΈΡΡΠ° ΠΈ ΡΡΠ½Π° ΠΈΡΡΠΎΡΠΈΡ Π½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅.
- Π‘ΡΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄: Git Π±Π»Π΅ΡΡΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΠ°Π²Π° Π²ΡΠΏΡΠΎΡ Π·Π° ΡΡΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ. ΠΠ»Π°ΡΡΠΎΡΠΌΠΈ ΠΊΠ°ΡΠΎ GitHub, GitLab ΠΈ Bitbucket ΡΠ° ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΈ Π²ΡΡΡ Ρ Git, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠΉΠΊΠΈ ΡΠ΄ΠΎΠ±Π΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° Ρ ΠΎΡΡΠΈΠ½Π³ Π½Π° ΠΊΠΎΠ΄, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΈ ΡΡΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ°Π·ΠΊΠ»ΠΎΠ½ΡΠ²Π°Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, Π΄Π° ΠΏΠΎΠ΄Π°Π²Π°Ρ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ ΠΈ Π΄Π° ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°Ρ ΠΊΠΎΠ΄Π° Π½Π° Π΄ΡΡΠ³ΠΈΡΠ΅.
- ΠΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ ΠΈ Π±ΡΡΠ·ΠΈΠ½Π°: Git Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ Π·Π° Π±ΡΡΠ·ΠΈΠ½Π°. ΠΠ΅Π³ΠΎΠ²ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠ°ΡΠΎ ΡΠ°Π·ΠΊΠ»ΠΎΠ½ΡΠ²Π°Π½Π΅, ΡΠ»ΠΈΠ²Π°Π½Π΅ ΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅, ΡΠ° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π·Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ. ΠΠΎΡΠΈ ΠΏΡΠΈ Π³ΠΎΠ»ΡΠΌΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Git ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π±ΡΡΠ·ΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ²ΠΈΡΠ°Π²Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°, ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π² Π±ΡΡΠ·ΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΡΡΠΈ ΡΠ΅ ΡΡΠ΅Π΄ΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°.
Π Π°Π±ΠΎΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ: ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ Git
- ΠΠ»ΠΎΠ½ΠΈΡΠ°Π½Π΅ Π½Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ: ΠΠ° Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π°Ρ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠ°Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΡΡΠ·Π΄Π°Π²Π° Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° ΡΠ΅Π»ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΡΡΠΎΡΠΈΡΡΠ° Π½Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½ΠΈΡΡΠ°. Π’ΠΎΠ²Π° ΠΈΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ°Π±ΠΎΡΡΡ ΠΏΠΎ ΠΊΠΎΠ΄Π°, Π±Π΅Π· Π΄Π° ΡΠ΅ Π½ΡΠΆΠ΄Π°ΡΡ ΠΎΡ ΠΏΠΎΡΡΠΎΡΠ½Π΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
- ΠΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ: ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΡΠ°Π²ΡΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΡΠ² ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°. Git ΡΠ΅ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π° ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΠΊΠ°ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π΄Π° ΠΏΠΎΡΡΠ°Π²ΡΡ Π½Π° Π΅ΡΠ°ΠΏ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΈΡΠΊΠ°Ρ Π΄Π° ΠΏΡΠ΅Π΄Π°Π΄Π°Ρ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° git add.
- ΠΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅: Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ° ΠΏΠΎΠ΅ΡΠ°ΠΏΠ½ΠΎ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΈ, ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΡΡΡΠΏΠΊΠ° Π΅ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ. ΠΠΎΠΌΠΌΠΈΡΠ°ΡΠΈΡΡΠ° Π΅ ΠΌΠΎΠΌΠ΅Π½ΡΠ½Π° ΡΠ½ΠΈΠΌΠΊΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΏΡΠΈΠ΄ΡΡΠΆΠ΅Π½Π° ΠΎΡ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΎΠΏΠΈΡΠ²Π°ΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅. Π’ΠΎΠ²Π° ΡΠ»Π΅ΡΠ½ΡΠ²Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π½Π°ΠΏΡΠ΅Π΄ΡΠΊΠ° ΠΈ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡΡΠ° Π·Π°Π΄ Π²ΡΡΠΊΠ° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ.
- ΠΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ ΠΊΡΠΌ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅: Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΠ΅ Π°Π½Π³Π°ΠΆΠΈΡΠ°Ρ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠΈ Π² ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ GitHub ΠΈΠ»ΠΈ GitLab, Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° git push. Π’ΠΎΠ²Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ»Π΅Π½ΠΎΠ²Π΅ Π½Π° Π΅ΠΊΠΈΠΏΠ° ΠΈΠΌΠ°Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡΠ΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
- ΠΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅: ΠΠΊΠΎ ΠΈ Π΄ΡΡΠ³ΠΈ ΡΠ° Π΄ΠΎΠΏΡΠΈΠ½Π΅ΡΠ»ΠΈ Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΎΡ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° git pull. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΡΡΡ Π½ΠΎΡΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π΅ Π² ΠΊΡΠ°ΠΊ Ρ Π½Π°ΠΏΡΠ΅Π΄ΡΠΊΠ° Π½Π° Π΅ΠΊΠΈΠΏΠ°.
- Π Π°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ: ΠΠΎΠ½ΡΠΊΠΎΠ³Π° Π΄Π²Π°ΠΌΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΠ²ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡΠΈ ΡΠ°ΠΉΠ». Git ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ΅Π·ΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ ΠΈ Π²Π·Π΅ΠΌΠ°Π½Π΅ Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅ ΡΠ»Π΅ΡΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, ΠΊΠ°ΡΠΎ ΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡΡ ΡΠ΅ ΠΎΡΡΠ°Π½Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π΅Π½.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Git Π² ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π°ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°
Π‘ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π³ΡΠ²ΠΊΠ°Π²Π°ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ΅ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ Git ΡΡΠ°Π½Π° Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌ. ΠΠ΅Π³ΠΎΠ²Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°ΡΡΠΈ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΏΡΠ΅ΡΠΊΠΈ ΠΈ ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ. ΠΠΊΠΈΠΏΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π±ΡΡΠ·ΠΎ Π΄Π° Π²ΡΡΡΠ°Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, Π°ΠΊΠΎ Π½Π΅ΡΠΎ ΡΠ΅ ΡΡΡΠΏΠΈ, Π΄Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Ρ ΠΏΡΠΎΠΈΠ·Ρ ΠΎΠ΄Π° Π½Π° Π³ΡΠ΅ΡΠΊΠΈΡΠ΅ ΠΈ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΠΏΡΠΎΠ·ΡΠ°ΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°.
Git ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π½Π°ΡΡΡΡΠ°Π²Π° ΡΡΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΎΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΡΠΎ Π·Π° ΠΌΠ°Π»ΠΊΠΈ Π΅ΠΊΠΈΠΏΠΈ, ΡΠ°ΠΊΠ° ΠΈ Π·Π° ΠΌΠ°ΡΠ°Π±Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄. ΠΠ»Π°ΡΡΠΎΡΠΌΠΈ ΠΊΠ°ΡΠΎ GitHub ΠΏΡΠ΅Π²ΡΡΠ½Π°Ρ Π° Git Π² Π½Π΅ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅ – ΡΠ΅ ΡΡΠ·Π΄Π°Π΄ΠΎΡ Π° Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠΈ, Π² ΠΊΠΎΠΈΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΠΎΡ ΡΡΠ» ΡΠ²ΡΡ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π΄ΠΎΠΏΡΠΈΠ½Π°ΡΡΡ Π·Π° ΠΎΠ±ΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π½Π° Git
1. git init
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° git init ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ° Π½ΠΎΠ²ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Git Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π’Ρ ΡΡΠ·Π΄Π°Π²Π° ΡΠΊΡΠΈΡΠ° ΠΏΠ°ΠΏΠΊΠ° .git, Π² ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π° ΡΡΠ»Π°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅.
$ git init
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ Π³ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π½ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡ, ΠΊΠΎΠΉΡΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°ΡΠ΅ Ρ Git.
2. git clone
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° git clone ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΏΠΈΠ΅ (ΠΈΠ»ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΠ½Π³) Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΎΡ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΎ ΠΌΡΡΡΠΎ (ΠΊΠ°ΡΠΎ GitHub, GitLab ΠΈΠ»ΠΈ Bitbucket) Π½Π° Π²Π°ΡΠ°ΡΠ° Π»ΠΎΠΊΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π°.
$ git clone
Π’Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΅ ΠΎΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π΄ΠΎΠΏΡΠΈΠ½Π΅ΡΠ΅ΡΠ΅ Π·Π° Π΄Π°Π΄Π΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠ»ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄.
3. git status
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° git status ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΠ΅ΠΊΡΡΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΈ Π·ΠΎΠ½Π°ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅. Π’Ρ ΠΈΠ·Π±ΡΠΎΡΠ²Π° ΠΊΠΎΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π΅ ΡΠ° ΠΏΡΠΎΡΠ»Π΅Π΄Π΅Π½ΠΈ, ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΈ Π·Π° ΡΠ»Π΅Π΄Π²Π°ΡΠΎΡΠΎ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅.
$ git status
Π’Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΠΈ ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ° Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΡΠ»Π΅Π΄ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎΡΠΎ Π²ΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎΠ΅ΡΠ°ΠΏΠ½ΠΎ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄Π°Π΄Π΅Π½ΠΎ.
4. git add
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° git add ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΎΡ ΡΠ°Π±ΠΎΡΠ½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π² Π·ΠΎΠ½Π°ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅. Π‘Π°ΠΌΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΈ, ΡΠ΅ Π±ΡΠ΄Π°Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π² ΡΠ»Π΅Π΄Π²Π°ΡΠΎΡΠΎ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅.
$ git add <ΠΈΠΌΠ΅ Π½Π° ΡΠ°ΠΉΠ»>
$ git add.
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ., Π·Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π°Π²Π΅Π΄Π½ΡΠΆ.
5. git commit
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° git commit ΡΡΠ·Π΄Π°Π²Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ½Π° ΡΠ½ΠΈΠΌΠΊΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² Π·ΠΎΠ½Π°ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ Ρ ΡΡΡ ΡΠ°Π½ΡΠ²Π° Π² ΠΈΡΡΠΎΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°.
$ git commit -m "Commit message"
ΠΡΡΠΊΠΎ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ° ΡΠΌΠΈΡΠ»Π΅Π½ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠΏΠΈΡΠ²Π° Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ. Π’ΠΎΠ²Π° ΡΠ»Π΅ΡΠ½ΡΠ²Π° ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Π»ΡΠ° Π½Π° ΠΈΠ·Π²ΡΡΡΠ΅Π½Π°ΡΠ° ΠΏΡΠΎΠΌΡΠ½Π° ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ.
6. git push
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° git push ΠΈΠ·ΠΏΡΠ°ΡΠ° Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ Π² ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΠΊΠ°ΡΠΎ Π³ΠΈ ΠΏΡΠ°Π²ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Π·Π° Π΄ΡΡΠ³ΠΈ ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
$ git push origin <Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΊΠ»ΠΎΠ½Π°>
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΠ°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π·Π° Π΄Π° ΠΊΠ°ΡΠΈΡΠ΅ Π»ΠΎΠΊΠ°Π»Π½ΠΈΡΠ΅ ΡΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π² ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΊΠ°ΡΠΎ GitHub.
7. git pull
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° git pull ΠΈΠ·Π²Π»ΠΈΡΠ° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΎΡ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΈ Π³ΠΈ ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π° Π² ΡΠ΅ΠΊΡΡΠΈΡ ΠΊΠ»ΠΎΠ½. Π’Ρ ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ git fetch ΠΈ git merge Π² Π΅Π΄Π½Π°.
$ git pull origin <ΠΈΠΌΠ΅ Π½Π° ΠΊΠ»ΠΎΠ½Π°>
Π’Ρ Π΅ ΠΏΠΎΠ»Π΅Π·Π½Π° Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΈΡ ΠΊΠ»ΠΎΠ½ Π² Π°ΠΊΡΡΠ°Π»Π½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΎΡ Π΄ΡΡΠ³ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ.
Π Π°Π·ΠΊΠ»ΠΎΠ½ΡΠ²Π°Π½Π΅ ΠΈ ΡΠ»ΠΈΠ²Π°Π½Π΅
8. git ΠΊΠ»ΠΎΠ½
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° git branch ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΈΠ·Π±ΡΠΎΡΠ²Π°Π½Π΅, ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ ΠΈΠ»ΠΈ ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅. ΠΠ»ΠΎΠ½ΠΎΠ²Π΅ΡΠ΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ.
$ git branch
# Π‘ΠΏΠΈΡΡΠΊ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅
$ git branch
# Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ² ΠΊΠ»ΠΎΠ½
$ git branch -d
# ΠΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΊΠ»ΠΎΠ½Π’Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΅ ΠΎΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π²ΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠΈ ΡΡΡΡΡΠ΄Π½ΠΈΡΠΈΡΠ΅ ΠΏΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ.
9. git checkout
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° git checkout ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π° ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ ΠΈΠ»ΠΈ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΎΡΠΎ ΠΈΠΌ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅.
$ git checkout <Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΊΠ»ΠΎΠ½> # ΠΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΊΡΠΌ Π΄ΡΡΠ³ ΠΊΠ»ΠΎΠ½
$ git checkout -- <ΠΈΠΌΠ΅ Π½Π° ΡΠ°ΠΉΠ»> # ΠΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ» ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ commit
ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈ Π΄ΠΎΡΠΈ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΡΠ°ΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΈ.
10. git merge
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° git merge ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΊΠ»ΠΎΠ½ Π² Π΄ΡΡΠ³.
$ git merge <ΠΈΠΌΠ΅ Π½Π° ΠΊΠ»ΠΎΠ½Π°>
ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ»Π΅Π΄ ΠΏΡΠΈΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΏΠΎ Π΄Π°Π΄Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΈ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ Π² Π³Π»Π°Π²Π½ΠΈΡ ΠΊΠ»ΠΎΠ½ (ΡΠ΅ΡΡΠΎ Π½Π°ΡΠΈΡΠ°Π½ master ΠΈΠ»ΠΈ main).
ΠΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΠΈΡΡΠΎΡΠΈΡΡΠ°
11. git log
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° git log ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΈΡΡΠΎΡΠΈΡΡΠ° Π½Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½ΠΈΡΡΠ° Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ. ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΡ ΠΏΠΎΠΊΠ°Π·Π²Π° Ρ Π΅ΡΠ° Π½Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ΡΠΎ, Π°Π²ΡΠΎΡΠ°, Π΄Π°ΡΠ°ΡΠ° ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ΡΠΎ.
$ git log
Π’ΠΎΠΉ Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π·Π° ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΠΈΡΡΠΎΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π² Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ.
12. git diff
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° git diff ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΠ°Π·Π»ΠΈΠΊΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π° Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ. Π’Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΡΠ°Π²Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±ΠΎΡΠ½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, Π·ΠΎΠ½Π°ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠ΅Π΄Π°Π΄Π΅Π½ΠΈΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ.
$ git diff # Π‘ΡΠ°Π²Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΡΠ°Π±ΠΎΡΠ½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ
$ git diff --staged # Π‘ΡΠ°Π²Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² Π·ΠΎΠ½Π°ΡΠ° Π·Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅
Π’Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΅ ΠΎΡ ΡΠ΅ΡΠ°Π²Π°ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° Π³ΠΈ ΠΏΡΠ΅Π΄Π°Π΄Π΅ΡΠ΅.
ΠΡΠΌΡΠ½Π° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ
13. git reset
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° git reset ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΎΡΠΌΡΠ½Π° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΡΠ΅Π· ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° HEAD ΠΊΡΠΌ ΠΏΡΠ΅Π΄ΠΈΡΠ΅Π½ commit. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° Π½ΡΠ»ΠΈΡΠ°Π½Π΅ ΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΠΌΠ΅Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΠ»ΠΈ Π΄Π° Π³ΠΈ ΠΈΠ·ΡΡΠΈΠ΅ Π½Π°ΠΏΡΠ»Π½ΠΎ.
$ git reset
# ΠΡΡΡΠ°Π½Π΅ ΠΊΡΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ Π·Π°ΠΏΠΈΡ
$ git reset --soft
# ΠΡΡΡΡΠ°Π½ΡΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, Π½ΠΎ Π³ΠΈ Π·Π°ΠΏΠ°Π·Π²Π° Π² ΡΠ°Π±ΠΎΡΠ½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ
$ git reset --hard
# ΠΡΠΌΡΠ½Π° Π½Π° Π΅ΡΠ°ΠΏΠ° ΠΈ ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΎΡ ΡΠ°Π±ΠΎΡΠ½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠ’Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΅ ΠΏΠΎΠ»Π΅Π·Π½Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π²ΡΡΠ½Π΅ΡΠ΅ Π½Π°Π·Π°Π΄ ΠΈΠ»ΠΈ Π΄Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π΅ΡΠ΅ Π½Π΅ΠΆΠ΅Π»Π°Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ.
14. git revert
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° git revert ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΎΠ±ΡΡΡΠ°Π½Π΅ Π½Π° Π΅ΡΠ΅ΠΊΡΠ° ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΏΡΠΎΠΌΡΠ½Π°, Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ ΠΈΡΡΠΎΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅.
$ git revert
Π’ΠΎΠ²Π° Π΅ ΠΏΠΎ-Π±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° ΠΎΡΠΌΡΠ½Π° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π·Π°ΠΏΠ°Π·Π²Π° ΠΈΡΡΠΎΡΠΈΡΡΠ° ΠΈ ΡΡΠ·Π΄Π°Π²Π° Π½ΠΎΠ² Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠΌΠ΅Π½Ρ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡ.
Π‘ΡΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈ ΡΠΏΠΎΠ΄Π΅Π»ΡΠ½Π΅
15. git remote
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° git remote ΡΠΏΡΠ°Π²Π»ΡΠ²Π° Π½Π°Π±ΠΎΡΠ° ΠΎΡ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, ΠΊΡΠΌ ΠΊΠΎΠΈΡΠΎ Π΅ ΡΠ²ΡΡΠ·Π°Π½ΠΎ Π²Π°ΡΠ΅ΡΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΡΡΠ΅, ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°ΡΠ΅ ΠΈ ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°ΡΠ΅ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°.
$ git remote add origin
# ΠΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π½ΠΎΠ²ΠΎ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΎ
$ git remote -v
# ΠΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΈ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°Π’ΠΎΠ²Π° Π΅ ΠΎΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ ΠΊΡΠΌ ΠΈΠ»ΠΈ ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ ΠΎΡ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΊΠ°ΡΠΎ GitHub ΠΈΠ»ΠΈ GitLab.
16. git fetch
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° git fetch ΠΈΠ·Π²Π»ΠΈΡΠ° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, Π½ΠΎ Π½Π΅ Π³ΠΈ ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π° Π² ΡΠ΅ΠΊΡΡΠΈΡ ΠΊΠ»ΠΎΠ½. Π’Ρ Π΅ ΠΏΠΎΠ»Π΅Π·Π½Π° Π·Π° ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈΠΌ.
$ git fetch origin
Π’ΠΎΠ²Π° ΡΠ΅ΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Ρ git merge Π·Π° ΠΏΠΎ-ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Π½ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
Π Π°Π·ΡΠΈΡΠ΅Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π½Π° Git
17. git stash
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° git stash Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΏΠ°Π·Π²Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΡΠ°Π±ΠΎΡΠ½Π°ΡΠ° Π²ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΠΊΠΎΠΈΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° Π³ΠΎΡΠΎΠ²ΠΈ Π·Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠΈΡΠ΅ ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ.
$ git stash
# ΠΠ°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅
$ git stash pop
# ΠΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠ’ΠΎΠ²Π° Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠΌΠ΅Π½ΠΈΡΠ΅ ΠΊΠ»ΠΎΠ½Π° ΠΈΠ»ΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ ΠΏΠΎ Π΄ΡΡΠ³Π° ΡΡΠ½ΠΊΡΠΈΡ, Π½ΠΎ Π½Π΅ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΏΡΠ΅Π΄Π°Π²Π°ΡΠ΅ Π½Π΅Π΄ΠΎΠ²ΡΡΡΠ΅Π½ΠΈΡΠ΅ ΡΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ.
18. git rebase
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° git rebase Π΅ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ΡΠΎ. Π’Ρ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π° Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½ΡΠΈΡΠ΅ ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΊΠ»ΠΎΠ½ ΠΊΡΠΌ Π΄ΡΡΠ³, ΠΊΠ°ΡΠΎ ΡΡΠ·Π΄Π°Π²Π° Π»ΠΈΠ½Π΅ΠΉΠ½Π° ΠΈΡΡΠΎΡΠΈΡ Π±Π΅Π· Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅.
$ git rebase <ΠΈΠΌΠ΅ Π½Π° ΠΊΠ»ΠΎΠ½Π°>
Π’ΠΎΠ²Π° Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΡΠ΅ ΡΠΈΡΡΠ° ΠΈ ΡΠ΅ΡΠ»ΠΈΠ²Π° ΠΈΡΡΠΎΡΠΈΡ Π½Π° ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈΡΠ΅.
19. git cherry-pick
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° git cherry-pick Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠΈΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ commit ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΊΠ»ΠΎΠ½ ΠΊΡΠΌ Π΄ΡΡΠ³, Π±Π΅Π· Π΄Π° ΡΠ»ΠΈΠ²Π°ΡΠ΅ ΡΠ΅Π»ΠΈΡ ΠΊΠ»ΠΎΠ½.
$ git cherry-pick
Π’ΠΎΠ²Π° Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π²ΡΠ²Π΅Π΄Π΅ΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΎΡ Π΄ΡΡΠ³ ΠΊΠ»ΠΎΠ½, Π±Π΅Π· Π΄Π° ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°ΡΠ΅ Π½Π΅ΡΠ²ΡΡΠ·Π°Π½Π° ΡΠ°Π±ΠΎΡΠ°.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄ Π½Π° Git ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΌΠΎΡΠ΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄. ΠΡΠ²ΠΊΠ°Π²ΠΎΡΡΡΠ° ΠΈ Π·Π°Π΄ΡΠ»Π±ΠΎΡΠ΅Π½ΠΎΡΡΡΠ° Π½Π° Git Π³ΠΎ ΠΏΡΠ΅Π²ΡΡΡΠ°Ρ Π² ΠΎΡΠ½ΠΎΠ²Π΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ – ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΊΠ°ΡΠΎ git add ΠΈ git commit Π΄ΠΎ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΡΠΎ git rebase ΠΈ git stash.
ΠΠ°ΡΠΎ ΡΡΠ²ΠΎΠΈΡΠ΅ ΡΠ΅Π·ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ Π²ΡΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΎΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° Git Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅, ΠΊΠ°ΡΠΎ ΡΠΈ ΠΎΡΠΈΠ³ΡΡΠΈΡΠ΅ ΠΏΠΎ-Π³Π»Π°Π΄ΠΊΠΎ ΡΡΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ, ΠΏΠΎ-Π±ΡΡΠ·ΠΈ ΡΠΈΠΊΠ»ΠΈ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΠΏΠΎ-Π΄ΠΎΠ±ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ» Π²ΡΡΡ Ρ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ΅ ΡΠΈ. ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Π°Π»ΠΈ ΡΠ°Π±ΠΎΡΠΈΡΠ΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎ ΠΈΠ»ΠΈ Π² Π΅ΠΊΠΈΠΏ, ΠΎΠ²Π»Π°Π΄ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Git ΡΠ΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠ΅ ΡΠΈΡΡΠΈ, Π΄ΠΎΠ±ΡΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΈ Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°ΡΠ΅ ΡΠ²Π΅ΡΠ΅Π½ΠΎ Π² ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΡΡΡΠ΅Ρ
