Git log file: Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ changelog ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ: ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Git Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ changelog ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ: ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Git Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠ°ΡΡΠΈ Β«A Beginnerβs Guide to Git β What is a Changelog and How to Generate itΒ».
ΠΡΠ°ΠΊ, Π²Ρ β ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΈ Ρ
ΠΎΡΠΈΡΠ΅
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Git Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ²ΠΎΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΡΠΈ ΡΡΠΎΠΌ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ°ΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±
ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½Π½ΡΡ
Π²Π°ΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ
, Π½ΠΎ Π½Π΅
Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ. ΠΠ°Π½Π½Π°Ρ ΡΡΠ°ΡΡΡ
ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π² ΡΡΠΎΠΌ.
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ changelog, Π° ΡΠ°ΠΊΠΆΠ΅
ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ Π΅Π³ΠΎ
ΡΠΎΠ·Π΄Π°Π½ΠΈΡ β ΠΏΡΠΎΡΡΡΠΌ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ changelog?
Changelog ΡΡΠΎ ΡΠ°ΠΉΠ», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ
Ρ
ΡΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΡ
Π² ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ½ ΡΠ°ΡΡΠΎ
ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²Π΅ΡΡΠΈΠΉ ΠΠ β Ρ
ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Ρ ΠΈΡ
Π²ΡΡ
ΠΎΠ΄Π° ΠΈ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ
, ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ
ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ.
Β«ΠΡΡΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΏΡΠΎΠ΅ΠΊΡΠ° (Π°Π½Π³Π». changelog) ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ
ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²Π½ΠΎΡΠΈΠΌΡΡ
Π² Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠ±ΡΡΠ½ΠΎ Π·Π°ΠΏΠΈΡΠΈ ΠΆΡΡΠ½Π°Π»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ
ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΎ
Π½ΠΎΠ²ΡΡ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ
ΠΈ Ρ.Π΄.Β», β ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ.
Π ΡΠ΅Π»ΠΎΠΌ, Π΅ΡΡΡ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° Π²Π΅ΡΡΠΈ
changelog:
- ΠΏΡΠΎΡΡΠΎΠΉ β ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ»
ΠΈ Π½Π°ΡΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡ Π² Π½Π΅ΠΌ Π²ΡΠ΅ Π²Π½ΠΎΡΠΈΠΌΡΠ΅
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Ρ; - Β«ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡΠΊΠΈΠΉΒ» (ΠΈΠ»ΠΈ Π»Π΅Π½ΠΈΠ²ΡΠΉ) β
Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ changelog ΠΈΠ·
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
ΠΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ Π½Π° Π²ΡΠΎΡΠΎΠΌ ΡΠΏΠΎΡΠΎΠ±Π΅.
ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ΅Π½ changelog?
Π― Π΄ΡΠΌΠ°Ρ, Π²Ρ Π·Π°Π΄Π°Π΅ΡΠ΅ΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ, Π·Π°ΡΠ΅ΠΌ
Π²ΠΎΠΎΠ±ΡΠ΅ Π½ΡΠΆΠ΅Π½ ΡΡΠΎΡ changelog ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ Π²Π°ΠΌ
ΡΡΠΎΠΈΡ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π½Π° Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅.
Changelog ΡΡΠΎ ΠΊΠ°ΠΊ Π±Ρ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
Π²ΡΠ΅Ρ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π²Π½Π΅ΡΠ»ΠΈ Π²
ΠΏΡΠΎΠ΅ΠΊΡ. Π‘ΠΏΠΈΡΠΎΠΊ ΡΡΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½
Π±ΡΡΡ ΠΏΠΎΠ½ΡΡΠ΅Π½ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ, ΡΠ°ΠΊ ΠΈ
Π΄ΡΡΠ³ΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΌ Ρ
Π²Π°ΡΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ.
Π Π½Π°ΡΠ΅ΠΌ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ ΠΌΠ΅Π½ΡΡΡΠ΅ΠΌΡΡ ΠΌΠΈΡΠ΅
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π½Π°ΡΡ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ
Π»ΠΈ ΡΡΠΎ-ΡΠΎ Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΈΠ»ΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ,
ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠ½ΠΈ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΌ Π½Π°Π΄ ΠΊΡΡΠΏΠ½ΡΠΌ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎΡ
ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ.
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ Ρ
ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ ΡΠ°ΠΉΠ»
CHANGELOG.md Π² GitHub-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΡΠΎΡ ΡΠ°ΠΉΠ»
ΠΈΠ½ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ ΠΊΠΎΠ½ΡΡΠΈΠ±ΡΡΡΠΎΡΠΎΠ² ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ changelog-ΠΈ?
Changelog-ΠΈ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎΠ²ΡΡΠ΄Ρ! ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ
ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠΎΡΠΌΡ ΠΈ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ
Π² ΡΠ°Π·Π½ΡΡ
ΠΌΠ΅ΡΡΠ°Ρ
, Π½ΠΎ ΠΎΠ½ΠΈ Π΅ΡΡΡ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ
Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
ΠΠΎΡ ΠΊΡΠ°ΡΠΊΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠ΅ΡΡ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ
ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΆΡΡΠ½Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
- Π ΠΏΠΎΡΡΠ΅ Π±Π»ΠΎΠ³Π°. Changelog ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΡΠΈΡΡ
Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅, Π³Π΄Π΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ
ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅. - Π€Π°ΠΉΠ» CHANGELOG.md β Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π°
GitHub. - Π Π°Π·Π΄Π΅Π» Changelog Π½Π° ΡΠ°ΠΉΡΠ΅ Π²Π°ΡΠ΅Π³ΠΎ Π»ΡΠ±ΠΈΠΌΠΎΠ³ΠΎ
ΠΠ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΡ
changelog ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½ΡΠ°
Π·Π°Π΄Π°Ρ TickTick. - Π Π°Π·Π΄Π΅Π» Β«Π§ΡΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎΒ» (Β«Whatβs newΒ») Π½Π°
ΡΡΡΠ°Π½ΠΈΡΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Android ΠΈ IOS store.
Π Π°Π·Π΄Π΅Π» Β«Π§ΡΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎΒ» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ TickTick Π½Π° Android
Π Π°Π·Π΄Π΅Π» Β«Π§ΡΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎΒ» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ TickTick Π½Π° IOS
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
changelog-Π°
Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½Π°Ρ ΠΏΠ΅ΡΠ²ΡΠΉ changelog. ΠΠ°Π½ΠΈΠΌΠ°ΡΡΡ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, Π² ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·Π° ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΡΠ°Π²ΠΈΠ» ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
Π₯ΠΎΡΠΎΡΠ΅Π΅, ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅
ΠΊΠΎΠΌΠΌΠΈΡΠ° Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡΡ β Π΅Π³ΠΎ
ΠΌΠΎΠΆΠ½ΠΎ Π²Π½ΠΎΡΠΈΡΡ Π² changelog, ΠΊΠ°ΠΊ Π΅ΡΡΡ.
ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»
changelog-Π°, Π½ΠΈΠΊΠ°ΠΊ Π΅Π³ΠΎ Π½Π΅ ΡΠΊΡΠ°ΡΠ°Ρ ΠΈ Π½Π΅
ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΡΡ, Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ
ΡΠ°ΠΌΡΠΌ ΠΏΡΠΎΡΡΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠΎΡ
ΡΠ°ΠΉΠ» ΠΈΠ· ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΉΡΡ,
Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Keep A
Changelog, ΠΏΠΎΡΡΠ½ΡΡΡ, ΡΡΠΎ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ
changelog ΠΏΡΡΠ΅ΠΌ ΠΊΠΎΠΏΠΈΠΏΠ°ΡΡΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
git-ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² (ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±). Π― ΡΠΎΠΆΠ΅ Π½Π΅
ΡΠΎΠ²Π΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΡΠΎΠΌΡ ΡΠΏΠΎΡΠΎΠ±Ρ,
Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ
ΠΏΡΠΎΠ΄ΡΠΊΡ. ΠΠΎ ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π΅ΡΡΡ Π΅ΡΠ΅ ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅
ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ
ΠΏΡΠ΅Π²ΡΠ°ΡΠ°ΡΡ Π²Π°ΡΠΈ git log-ΠΈ Π² changelog-ΠΈ (Π±ΠΎΠ»Π΅Π΅
ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ±).
ΠΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
changelog-Π°
Π§ΡΠΎΠ±Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ changelog ΠΏΡΠΎΡΡΡΠΌ
ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ»ΠΈ
ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ
Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. ΠΠ°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ
Π»ΠΈΡΡ Π²Π²Π΅ΡΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄, Π½Π°Ρ
ΠΎΠ΄ΡΡΡ
Π² Π²Π°ΡΠ΅ΠΌ Git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
ΠΠ°ΡΠ½Π΅ΠΌ Ρ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ. ΠΠΎΠ³Π΄Π° Π²Ρ Π²Π²ΠΎΠ΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log
, Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π²Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²Π°ΡΠΈΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
$ git log // Output commit f6986f8e52c1f889c8649ec75c5abac003102999 (HEAD -> master, origin/master, origin/HEAD) Author: Sam Katakouzinos [email protected] Date: Tue Mar 10 11:41:18 2020 +1100docs(developers): commit message format typo Any line of the commit message cannot be longer *than* 100 characters! Closes #17006
commit ff963de73ab8913bce27a1e75ac01f53e8ece1d9 Author: Chives [email protected] Date: Thu Feb 6 19:05:57 2020 -0500docs($aria): get the docs working for the service Closes #16945
commit 2b28c540ad7ebf4a9c3a6f108a9cb5b673d3712d Author: comet [email protected] Date: Mon Jan 27 19:49:55 2020 -0600docs(*): fix spelling errors Closes #16942
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΡ ΠΈΠΌΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ, ΡΡΠΎΠ±Ρ
Π²ΠΈΠ΄ΠΎΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΡΠ»ΡΡΡΠΈΡΡ
Π΅Π³ΠΎ.
ΠΠ²Π΅Π΄Ρ git log βoneline βdecorate, ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ
ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
Π±ΡΠ΄Π΅Ρ
Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΎΠ΄Π½Ρ ΡΡΡΠΎΡΠΊΡ.
$ git log --oneline --decorate // Output f6986f8e5 (HEAD -> master, origin/master, origin/HEAD) docs(developers): commit message format typo ff963de73 docs($aria): get the docs working for the service 2b28c540a docs(): fix spelling errors 68701efb9 chore(): fix serving of URI-encoded files on code.angularjs.org c8a6e8450 chore(package): fix scripts for latest Node 10.x on Windows 0cd592f49 docs(angular.errorHandlingConfig): fix typo (wether --> whether) a4daf1f76 docs(angular.copy): fixgetter
/setter
formatting be6a6d80e chore(*): update copyright year to 2020 36f17c926 docs: add mention to changelog ff5f782b2 docs: add mention to changelog 27460db1d docs: release notes for 1.7.9 add78e620 fix(angular.merge): do not merge proto property
ΠΠΈΠ΄ ΡΠΆΠ΅ ΠΏΠΎΠ»ΡΡΡΠ΅, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ
ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°ΡΡ.
$ git log --pretty=β%sβ // Output docs(developers): commit message format typo docs($aria): get the docs working for the service docs(): fix spelling errors chore(): fix serving of URI-encoded files on code. angularjs.org chore(package): fix scripts for latest Node 10.x on Windows docs(angular.errorHandlingConfig): fix typo (wether --> whether) docs(angular.copy): fixgetter
/setter
formatting chore(*): update copyright year to 2020 docs: add mention to changelog docs: add mention to changelog docs: release notes for 1.7.9 fix(angular.merge): do not merge proto property
ΠΠ΄Π΅ΡΡ ΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΆΠ΅Π»Π°Π½Π½ΠΎΠΌ Π΄Π»Ρ Π½Π°Ρ ΡΡΠΈΠ»Π΅. Β«%s
Β» ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠ³Π»ΡΠ΄Π΅Π» ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄Π΅ΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ:
$ git log --pretty="- %s" // Output - docs(developers): commit message format typo - docs($aria): get the docs working for the service - docs(*): fix spelling errors - chore(*): fix serving of URI-encoded files on code.angularjs.org - chore(package): fix scripts for latest Node 10.x on Windows - docs(angular. errorHandlingConfig): fix typo (wether --> whether) - docs(angular.copy): fixgetter
/setter
formatting - chore(*): update copyright year to 2020 - docs: add mention to changelog - docs: add mention to changelog - docs: release notes for 1.7.9 - fix(angular.merge): do not merge proto property
ΠΠΎΡ ΠΈ Π²ΡΠ΅! ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΏΡΠΎΡΡΠΎΠΉ changelog.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ
ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ changelog, Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π΅Π³ΠΎ ΠΊΠΎΠΏΠΈΠΏΠ°ΡΡΠΈΡΡ.
ΠΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²ΡΡΠ΅ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²
ΡΠ°ΠΉΠ» Ρ Π½ΡΠΆΠ½ΡΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
git log --pretty="- %s" > CHANGELOG.md
ΠΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ±
Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ changelog-Π°
ΠΠ΄Π΅ΡΡ ΡΠ°ΠΌΠ° ΠΈΠ΄Π΅Ρ β Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
changelog-Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² β
ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΡΡΡ, Π½ΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ
ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ.
ΠΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ
ΡΡΠΈΠ»Ρ. ΠΡΠΈ ΡΡΠΈΠ»ΠΈ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ Π½Π°Π±ΠΎΡΠ°
ΠΏΡΠ°Π²ΠΈΠ», ΠΊΠΎΡΠΎΡΡΠΌ Π²Ρ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ, Π° ΠΏΡΠ°Π²ΠΈΠ»Π°
ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Ρ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ
ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°Ρ
.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΡΡ ΠΏΡΠΎΡΡΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ
ΠΎΡ Udacity. ΠΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅: Conventional
Commits, Angular
Guideline. Π‘Π»Π΅Π΄ΡΡ ΠΏΡΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π² ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°Ρ
ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ, Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΡΠ²ΠΎΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
Π±ΠΎΠ»Π΅Π΅ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ.
Π₯ΠΎΡΠΎΡΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²Π°ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
changelog-Π°. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ
ΠΏΠΎΠ»ΡΡΠΈΡΡ Π»ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ
ΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ
ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ (markdown) changelog-ΠΈ.
Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΠΏΡΠΎΡΡΡΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ² ΠΏΠΎ ΡΡΠΈΠ»Ρ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠ½ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«generate-changelogΒ»
ΠΈ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π½Π° NPM (Node Package Manager).
ΠΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Ρ
ΠΎΡΡ Ρ Π½Π΅Π³ΠΎ ΠΈ
Π½Π΅Π±ΠΎΠ³Π°ΡΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π», ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅
ΡΡΠΈΠ»ΡΠ½ΡΠΉ changelog, ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ
ΡΠ°ΠΉΠ», ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ
ΡΡΡΠΎΠΊΠΈ. ΠΡΠ»ΠΈ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΉΡΠΈ Π΄Π°Π»ΡΡΠ΅, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅
Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ
changelog-ΠΎΠ²:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
generate-changelog
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΡΠΎΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Π½ΡΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ
ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ NPM. ΠΡΠ»ΠΈ Π½Π΅Ρ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Node
ΠΈ NPM, ΡΠ»Π΅Π΄ΡΡ
ΡΠΊΠ°Π·Π°Π½ΠΈΡΠΌ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅.
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° Π½Π° ΡΠ²ΠΎΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ,
Π²Π²Π΅Π΄ΠΈΡΠ΅ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ npm install generate-changelog -g
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
Π§ΡΠΎΠ±Ρ ΡΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠ°Π±ΠΎΡΠ°Π», Π²Ρ
Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ Β«ΡΠΈΠΏ(ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ):
ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ [ΡΠ»Π°Π³ΠΈ]Β». Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ Π±ΡΠ΄Ρ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ GitHub-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Angular.js,
ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ°ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ
ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠ² ΠΏΠ°ΠΊΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π²
ΡΠ²ΠΎΠΉ GitHub-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ
ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ changelog generate
Π€Π°ΠΉΠ» CHANGELOG.md Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
ΠΠ½ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π²Π°ΡΠΈ Π»ΠΎΠ³ΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅
markdown.
ΠΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ
(Π² ΡΠΎΠΌ Π²ΠΈΠ΄Π΅, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΊ
ΠΏΡΠΎΡΠΌΠΎΡΡΡ Π½Π° GitHub ΠΈΠ»ΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ
markdown-ΡΠΈΠ΄Π΅ΡΠ°).
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ changelog Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π’Π°ΠΊΠΆΠ΅, Π½Π°Π΄Π΅ΡΡΡ, ΡΠ΅ΠΏΠ΅ΡΡ Π²Ρ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΠΏΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΊ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ Ρ ΠΎΡΠΎΡΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
Π½Π°Π³Π»ΡΠ΄Π½Π°Ρ ΡΠΏΡΠ°Π²ΠΊΠ°. ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Git Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΠΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΠΎΡΠ΅Π½Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΌΠΎΠ³ΡΡ Π·Π°ΡΠΌΠΈΡΡ GIT Π² Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΡΡΠΈ. GIT Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ ΠΠΈΠ½ΡΡΠΎΠΌ Π’ΠΎΡΠ²Π°Π»ΡΠ΄ΡΠΎΠΌ Π² 2005 Π³ΠΎΠ΄Ρ, ΠΈ ΡΠ΅Π³ΠΎΠ΄Π½Ρ, ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½ΠΎ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Linux, Windows, Solaris ΠΈ Mac; Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΎΡΠ½ΠΎΠ²Π°Ρ GIT ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π΄Π΅ΡΡ. Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ GIT ΠΊΠΎΠΌΠ°Π½Π΄Ρ.Β
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
Git ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π‘ΠΎΠ·Π΄Π°Π½Π° ΠΎΠ½Π° Π±ΡΠ»Π° Π² 2005 Π³ΠΎΠ΄Ρ Π°Π²ΡΠΎΡΠΎΠΌ ΠΠ‘ Linux. ΠΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΡΠΎΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π°Ρ . ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΠ° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Git. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π΅Ρ? Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Android Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ². ΠΡΠ»ΠΎ Π±Ρ ΠΊΡΠ°ΠΉΠ½Π΅ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ Π²Π½ΠΎΡΠΈΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ± ΡΡΠΎΠΌ Π½Π΅ Π·Π½Π°Π»ΠΈ. Git ΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ΅ΠΌ Π±ΡΡΡ Π² ΠΊΡΡΡΠ΅ Π²ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π° Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΠ±ΠΎΠΊ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ Π²Π΅ΡΡΠΈΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅ΡΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠ΅ΠΉ, ΡΡΠ΅Π½ΠΎΠΉ, ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ ΠΊΠ°ΠΊ Β«ΠΈΠ½Π΄Π΅ΠΊΡΒ», ΠΈ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π² ΡΠΎΡΠΌΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
- git add ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ Π² ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π½Π° ΡΡΠ΅Π½Ρ.
- git commit ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΡΠ΅Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
- git reset β ΡΠ°ΠΉΠ»Ρ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ»Ρ Π½Π° ΡΡΠ΅Π½Π΅, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π½Π° ΡΡΠ΅Π½Ρ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΎΡΠΌΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²Π½Π΅ΡΡΠ½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git add ΡΠ°ΠΉΠ»Ρ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ git reset, ΡΡΠΎΠ±Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π° ΡΡΠ΅Π½Π΅.
- git checkout β ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΡΠΎ ΡΡΠ΅Π½Ρ Π² ΡΠ°Π±ΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ. ΠΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ ΡΠ±ΡΠΎΡΠΈΡΡ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ git reset -p, git checkout -p, ΠΈ git add -p Π²ΠΌΠ΅ΡΡΠΎ ΠΈΠΌΡΠ½ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π½ΠΈΠΌΠΈ, ΡΡΠΎΠ±Ρ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²ΡΠ±ΠΈΡΠ°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Ρ.
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΡΡΠ³Π½ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΠ΅Π½Ρ ΠΈ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΡΡΠΌΠΎ Π² ΡΠ°Π±ΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΌΠΈΠ½ΡΡ ΡΡΠ΅Π½Ρ.
- git commit -a Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ Π·Π°ΠΏΡΡΠΊΡ Π΄Π²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄: git add Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅, ΠΈ git commit.
- git commit ΡΠ°ΠΉΠ»Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π»Π΅ΠΆΠ°Ρ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ, Π΄ΠΎΠ±Π°Π²Π»ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ΄ΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Ρ Π½Π° ΡΡΠ΅Π½Ρ.
- git checkout HEAD β ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΈ Π½Π° ΡΡΠ΅Π½Ρ, ΠΈ Π² ΡΠ°Π±ΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΏΠΊΠΎΠ², Π° Π½Π΅ ΠΏΠ°ΡΡΠ΅ΠΉ
ΠΠ»Π°Π²Π½ΡΠΌ ΠΎΡΠ»ΠΈΡΠΈΠ΅ΠΌ Git ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½Π° ΡΠΌΠΎΡΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΡΠ΅. ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Ρ ΡΠ°Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² Π²ΠΈΠ΄Π΅ ΡΠΏΠΈΡΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΠΏΠ°ΡΡΠ°ΠΌΠΈ Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ². Π’Π°ΠΊΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊ Ρ ΡΠ°Π½ΠΈΠΌΡΠΌ Π΄Π°Π½Π½ΡΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊΠ°ΠΊ ΠΊ Π½Π°Π±ΠΎΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π±ΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΄Π΅Π»Π°Π½Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ°ΠΊ Ρ ΡΠ°Π½ΠΈΡ ΡΠ²ΠΎΠΈ Π΄Π°Π½Π½ΡΠ΅ Git? Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π΅ΡΡΡ Π² ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ Π΅Π΅ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ? ΠΠΌΠ΅ΡΡΠΎ ΠΏΠ°ΡΡΠ΅ΠΉ, Ρ ΡΠ°Π½ΠΈΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π·Π΄Π΅ΡΡ ΡΡΠΈΡΠ°ΡΡΡΡ Π½Π°Π±ΠΎΡΠΎΠΌ ΡΠ»Π΅ΠΏΠΊΠΎΠ² ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠΎΡΡΠΎ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠ»Π΅ΠΏΠΎΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΡΠ°ΠΉΠ» Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ»ΡΡ, ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π΅ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π΅Π³ΠΎ, Π° Π΄Π΅Π»Π°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠ°Π½Π΅Π΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ»ΠΈ Π²Π½Π΅ΡΠ΅Π½Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΡΠΎ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠΈΡΡΡΠ΅ Git. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ Π΄Π°Π΅Ρ? Git ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΠΎΡ ΠΎΠΆΠ΅ΠΉ Π½Π° ΠΌΠ°Π»Π΅Π½ΡΠΊΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΎΠ±Π»Π°Π΄Π°ΡΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΌΠΎΡΠ½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½Π΅Π΅.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠΎΠ²Π΅ΡΡΠ°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π² Git, Π½ΡΠΆΠ½Ρ Π»ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ ΠΈ ΡΠ°ΠΉΠ»Ρ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅ΠΉΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ , Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π² ΡΠ΅ΡΡ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Ρ ΠΌΠΎΠ»Π½ΠΈΠ΅Π½ΠΎΡΠ½ΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π΅Π΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ½Π° ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° ΡΠ΄Π΅Π»Π°Π½Π° ΠΌΠ΅ΡΡΡ Π½Π°Π·Π°Π΄, ΠΈ ΡΠ΅ΠΊΡΡΠ΅ΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ, Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ.
ΠΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π±Π΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΅ΡΠΈ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½Π°Ρ ΠΎΠ΄ΡΡΡ Π² ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ΅. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠ°ΠΊΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π΅Ρ.
ΠΠ°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π·Π° ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡΡ Π΄Π°Π½Π½ΡΡ
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠ°ΠΉΠ», Π΅ΠΌΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΠΌΠΌΡ, Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΠΎΠΉ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Git. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ ΡΡΠΌΠΌΠ°? ΠΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ ΠΈΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅. ΠΠ΄Π΅ΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎ-ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π±Π΅Π· Π²Π΅Π΄ΠΎΠΌΠ° Git, ΠΈ ΡΡΠΎ Π²Π°ΠΆΠ½Π°Ρ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ ΡΠΈΠ»ΠΎΡΠΎΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ°Π½Π½ΡΠ΅ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ
ΠΠΎΡΡΠΈ Π²ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΡΠΎΠ²Π΅ΡΡΠ°Π΅ΠΌΡΠ΅ Π² Git, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . Π£Π΄Π°Π»ΠΈΡΡ ΠΈΡ ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΄Π½ΠΎ. ΠΠΎΠΆΠ½ΠΎ Π»ΠΈΡΡ ΠΏΠΎΡΠ΅ΡΡΡΡ Π΅ΡΠ΅ Π½Π΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½ΠΎ ΠΏΡΠΈ Π΅Ρ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΏΠΎΡΠ΅ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½Π°. ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Git, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ Π±Π΅Π· ΡΠΈΡΠΊΠΎΠ² ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ-ΡΠΎ Π½Π΅ΠΏΠΎΠΏΡΠ°Π²ΠΈΠΌΠΎΠ΅.
Π‘ΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²
Π Π°Π±ΠΎΡΠ° Ρ Git Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ:
- ΠΠ°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅, ΡΠΎ Π΅ΡΡΡ ΡΠ°ΠΉΠ» ΡΠΎΡ ΡΠ°Π½Π΅Π½ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
- ΠΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠ°Π²ΠΊΠΈ Π±ΡΠ»ΠΈ Π²Π½Π΅ΡΠ΅Π½Ρ, Π½ΠΎ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΅ΡΠ΅ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ.
- ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ β ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΌΠ΅ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ.
Π’Π°ΠΊ, Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ , Π² ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Git, ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΡΠΈ ΡΠ°Π·Π΄Π΅Π»Π° Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²:
- ΠΠ°ΡΠ°Π»ΠΎΠ³ Git, Π³Π΄Π΅ Ρ ΡΠ°Π½ΡΡΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΡΠ° ΡΠ°ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°ΠΌΠ°Ρ Π²Π°ΠΆΠ½Π°Ρ.
- Π Π°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Π½ΠΎΠΉ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΊΠΎΠΏΠΈΠ΅ΠΉ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
- Π€Π°ΠΉΠ», ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ.
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Git
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ β ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π΅. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ. ΠΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°:
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Git ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ².
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Git ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ²
ΠΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΡΠ°ΠΊΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π° ΡΠ°ΠΌΠ°Ρ ΡΠ²Π΅ΠΆΠ°Ρ Π²Π΅ΡΡΠΈΡ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ, ΠΊΠ°ΡΠ°ΡΡΠΈΡ ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² Π½Π΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄Π»Ρ Π²Π°Ρ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΠ΅Π»ΡΠ½Π°, Π»ΡΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ΅ΡΡΡ Π΅Π΅. ΠΠ° ΠΈ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Linux Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ.
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ: expat, curl, libiconv, openssl, zlib. ΠΠΎΡΠ»Π΅ ΠΈΡ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π΅ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Windows
ΠΡΠ»ΠΈ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅Ρ Linux, Π° Ρ ΠΎΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Git, Windows ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ. Π ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡ msysGit, ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΡΠΎΡΡΡΡ . ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² GitHub, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ. ΠΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Π±ΡΠ΄Π΅Ρ Π΄Π²Π΅ Π²Π΅ΡΡΠΈΠΈ β Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½Π°Ρ.
ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Git
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ, Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠ΅-ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΠ΅Π΄Ρ ΠΏΠΎΠ΄ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ Π΅Π΄ΠΈΠ½ΠΎΠΆΠ΄Ρ. ΠΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π²ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ. ΠΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ.
Git Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΡΠΈΠ»ΠΈΡΡ git config, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ Π΄Π΅Π»Π°ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄. ΠΠ°Π½Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΠΎΠ³ΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² ΡΡΠ΅Ρ ΠΌΠ΅ΡΡΠ°Ρ :
- Π ΡΠ°ΠΉΠ»Π΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠΈΠΌΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π².
- Π ΡΠ°ΠΉΠ»Π΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
- Π ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅ΠΌΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. Π’Π°ΠΊΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π½Π΅Π³ΠΎ.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ΅ ΠΈΠΌΡ
Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΏΠΎΡΡΡ. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ (ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ) ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅. ΠΠ½ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ.
ΠΡΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΡ ΠΎΠΏΡΠΈΡ βglobal, ΡΠ°ΠΊΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.
ΠΡΠ±ΠΎΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°
ΠΠΎΡΠ»Π΅ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΏΡΠΈ Π½Π°Π±ΠΎΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² Git. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°Ρ ΠΎΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ, Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ ΡΡΠΎ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π² ΡΡΡΠΎΠΊΠ΅ core.editor.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
Π§ΡΠΎΠ±Ρ Π·Π½Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Ρ Git, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΌΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° git config βlist. ΠΠ½Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅Π½Π° Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ Git ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΡΡ ΠΈΠ· ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ, Π²ΠΏΠΈΡΠ°Π² Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΠΌΠ΅ΡΡΠΎ Β«βlistΒ» β Β«{ΠΊΠ»ΡΡ}Β».
Π‘ΡΡΠΎΠΈΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ? ΠΡΠ²Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡ: ΡΡΠΎ Π½Π°Π±ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ°ΠΏΠΊΠ° `.git`. ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π±ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π±ΠΎΠ»ΡΡΠ΅. Π Π°Π· 20 Π½Π°Π±Π»ΡΠ΄Π°Π» ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΊΠΎΠ»Π»Π΅Π³ Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π² github/gitlab. ΠΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ ΡΠ°ΡΡΡ git-ΡΠΈΡΡΠ΅ΠΌΡ, ΠΎΠ½ΠΈ ΠΏΡΡΠ°Π»ΠΈΡΡ ΠΈΡΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ git, Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ git-ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
Π Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ°ΠΉΠ»Ρ, ΡΠΎ ΠΊ Π½ΠΈΠΌ Π½ΡΠΆΠ½ΠΎ ΠΊΠ°ΠΊ-ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ, ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΡΡΠ΄Π° ΡΠΈΡΠ°ΡΡ ΠΈ ΡΡΠ΄Π° ΠΏΠΈΡΠ°ΡΡ? ΠΠ°! Π― Π½Π°Π·ΡΠ²Π°Ρ ΡΡΠΎ Β«ΡΡΠ°Π½ΡΠΏΠΎΡΡΠΎΠΌΒ». ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΈ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ, Π½ΠΎ ΠΌΠ½Π΅ ΡΠ°ΠΊ Π±ΡΠ»ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ. ΠΠΎΠ»Π΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ: Β«ΠΡΠΎΡΠΎΠΊΠΎΠ» ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
Β». Π‘Π°ΠΌΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ:
- FILE β ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ ΠΏΡΡΠΌΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
- SSH β ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΡΠ΅ΡΠ΅Π· ssh.
- HTTP(S) β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ http Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΡΠΌΠ°/ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ.
ΠΠ°ΡΠΈΠ°Π½ΡΠΎΠ² Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅. ΠΠ΅ Π²Π°ΠΆΠ½ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΡΡΠ°Π½ΡΠΏΠΎΡΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½, Π²Π°ΠΆΠ½ΠΎ ΡΡΠΎΠ±Ρ Π±ΡΠ» Π΄ΠΎΡΡΡΠΏ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΡΠ΅Π½ΠΈΠ΅/Π·Π°ΠΏΠΈΡΡ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ.
ΠΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ Π²Ρ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ github, ΠΈ Π½Π΅Ρ Π² Π»ΠΎΠ³Π°Ρ
Π½ΠΈΠΊΠ°ΠΊΠΈΡ
ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΎΠΊ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ Π²Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠΎΠΌ.
Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π²ΠΎΡ ΡΠ°ΠΊ:
git clone [email protected]:user/repo.git
ΡΡΠ» Β«ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΡΡΡΒ» Π²
git clone ssh://[email protected]:user/repo.git
Π’.Π΅. ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ SSH ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΊΠ°ΡΡ Π² Π½ΡΠΌ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΈΠ»ΠΈ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΉ ssh-ΠΊΠ»ΡΡ. ΠΡΠ³Π»ΠΈΡΡ Π½Π°Π΄ΠΎ Π² ΡΡΠΎΡΠΎΠ½Ρ Β«SSH Auth Key gitΒ» ΠΈΠ»ΠΈ, Π΅ΡΠ»ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΠΎ Π²Π·ΡΠΎΡΠ»ΠΎΠΌΡ, ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ ΠΆΠ΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ:
ssh -vvv [email protected]
ΠΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠ°Π²ΠΊΠ° (ΡΠ°Π·Π΄Π΅Π» GIT URLS):
git clone βhelp
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ, Π½ΠΎ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠΎΠΈΠ³ΡΠ°Π΅ΠΌΡΡ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ:
- ΠΡΠΈΠ΄ΡΠΌΠ°Π΅ΠΌ ΡΠ²ΠΎΠΉ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
- Π‘Π΄Π΅Π»Π°Π΅ΠΌ Π΄Π²Π° ΠΊΠ»ΠΎΠ½Π° Ρ Π½Π΅Π³ΠΎ, ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² (dev1 ΠΈ dev2)
ΠΡΠΎΠΌΠ΅ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π΅ΡΡΡ Π΅ΡΡ ΠΈ workspace, Π³Π΄Π΅ Ρ
ΡΠ°Π½ΡΡΡΡ ΡΠ°ΠΉΠ»Ρ Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅. ΠΠΌΠ΅Π½Π½ΠΎ Π² ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ Π»Π΅ΠΆΠΈΡ ΡΠ°ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ (ΠΏΠ°ΠΏΠΊΠ° .git ). ΠΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ
ΡΠ°Π±ΠΎΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π΅ Π½ΡΠΆΠ½Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΠΌ Ρ
ΡΠ°Π½ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π³ΠΎΠ»ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ (bare-repo).
Π‘Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ΅Π±Π΅ ΠΎΠ΄ΠΈΠ½ (Π±ΡΠ΄Π΅Ρ Π½Π°ΡΠΈΠΌ Π³Π»Π°Π²Π½ΡΠΌ ΡΠ΅ΡΡΠΎΠ²ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ):
$ mkdir git-habr #ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΠ°ΠΏΠΊΡ, ΡΡΠΎΠ± Π½Π΅ ΠΌΡΡΠΎΡΠΈΡΡ $ cd git-habr $ git init βbare origin Initialized empty Git repository in /home/sirex/proj/git-habr/origin/
Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠ»ΠΎΠ½ΠΈΡΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². Π’ΡΡ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π½ΡΠ°Π½Ρ, ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ: git, ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΡΡΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅, Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΡΠ»ΠΊΠΈ, Π° Π½Π΅ Π΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ»Π½ΡΡ ΠΊΠΎΠΏΠΈΡ. Π Π½Π°ΠΌ Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½Π° ΠΏΠΎΠ»Π½Π°Ρ ΠΊΠΎΠΏΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ»ΡΡΠΎΠΌ βno-hardlinks ΠΈΠ»ΠΈ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»:
$ git clone βno-hardlinks origin dev1 Cloning into βdev1ββ¦ warning: You appear to have cloned an empty repository. done. $ git clone βno-hardlinks origin dev2 Cloning into βdev2ββ¦ warning: You appear to have cloned an empty repository. done.
ΠΡΠΎΠ³: Ρ Π½Π°Ρ Π΅ΡΡΡ 3 ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. Π’Π°ΠΌ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅Ρ, Π·Π°ΡΠΎ ΠΎΠ½ΠΈ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΡΠ°Π±ΠΎΡΠ΅.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅
ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅ΡΠ°Π΅Ρ Π½Π°ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Git Π΄Π»Ρ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠ΅Π³ΠΎΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° git init. ΠΠ½Π° ΡΠΎΠ·Π΄Π°Π΅Ρ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π³Π΄Π΅ Π±ΡΠ΄ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π²ΡΠ΅ Π½ΡΠΆΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΠ° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π΅ΡΠ΅ Π½Π΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π²Π΅ΡΡΠΈΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ. ΠΠ»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½ΡΠΆΠ½ΠΎ ΠΈΡ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΏΠΈΠΈ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½ΡΠΆΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° git clone. Π‘ Π΅Π΅ ΠΏΠΎΠΌΠΎΡΡΡ Git ΠΏΠΎΠ»ΡΡΠΈΡ ΠΊΠΎΠΏΠΈΡ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ Π²ΡΠ΅Ρ Π²Π΅ΡΡΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² ΡΠ»ΡΡΠ°Π΅ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΡΡΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΡΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΠΎΠ½ Π½Π° Π»ΡΠ±ΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΡΠ΅ΡΠ²Π΅ΡΠ° Π² ΡΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΎΠ½ Π±ΡΠ» ΠΏΡΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. ΠΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΡΠΎΡΠΊΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
Π£Π΄Π°Π»Π΅Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΈ Π΅Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ
ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π±Π΅Π· ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ. ΠΠ°ΠΆΠ΄Π°Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Ρ ΡΠ°Π½ΠΈΡΡΡ Π² Π‘Π΅ΡΠΈ ΠΈΠ»ΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Git. ΠΠ°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ° Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΎΡΠ»ΠΈΡΠΈΡΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ, ΠΈ Π²ΡΠ΅ ΠΎΠ½ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ, Π² Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΊΠΎΠ³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Git ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ ΠΊΠΎΠΏΠΈΡΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΡΠ΅ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ β git remote.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ Π² Git
ΠΠΈΠΆΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΠΌΠΈ Π² Git. ΠΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π΄Π΅Π»ΠΈΡΡΡΡ ΡΡΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π° Π½Π΅ ΠΎΠ΄Π½ΠΈΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π°Π±ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ Π² ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Git ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ ΡΠ΅Π»ΡΠΌΠΈ Π²Π΅ΡΠ²ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΠΌΠΈ. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ. Π‘ΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π»ΡΠ΄ΡΠΌΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠΈΠΌΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ. ΠΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° β git remote. ΠΠ½Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΡΡΠ΅ΠΉ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ΅ΠΉ Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°
ΠΠ°ΠΏΠΈΡΠΈ, Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ git remote push, fetch ΠΈ pull. ΠΠ°ΠΊ git fetch, ΡΠ°ΠΊ ΠΈ git pull ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠΎΠΌΠ°Π½Π΄Π° git remote ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ, ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, push ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, Π° pull, Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ. ΠΠΎΠΌΠ°Π½Π΄Π° fetch Π½ΡΠΆΠ½Π°, ΡΡΠΎΠ±Ρ ΠΈΠ·Π²Π»Π΅ΡΡ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΎΡΡΡΡΡΡΠ²ΡΡΡΡΡ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ, ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠΎΡΠ»Π΅ Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π²ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅. Π’ΠΎ Π΅ΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π½Π΅ ΡΠ»ΠΈΠ²Π°ΡΡΡΡ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, Π° ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
ΠΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ Π΄Π°Π½Π½ΡΠ΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ»ΠΈΠ²Π°ΡΡ Π²ΡΡΡΠ½ΡΡ, Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΡΠ°ΠΊΠ°Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ. ΠΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ git remote pull. Π£Π΄Π°Π»Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ, ΡΠ΅ΠΌ ΠΏΡΡΠΌΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π² Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΠΌΠ΅ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠ½ΠΈ ΡΠ»ΡΠΆΠ°Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ URL-Π°Π΄ΡΠ΅Ρ.
ΠΠΎΠΌΠ°Π½Π΄Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΏΠΎ ΡΡΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠΎΠΌ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ ./.git/config. ΠΠ½Π° Π½ΡΠΆΠ½Π° Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΠΌΠΈ, ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ , ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΎΠΊ ΠΈ ΡΠΌΠ΅Π½Ρ Π°Π΄ΡΠ΅ΡΠΎΠ² ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² (git change remote).
ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡ
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Git ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°Π½Π΅Π΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΊ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌ. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΡΡΠΎΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄ΡΡ ΡΠΊΠ°Π·Π°Π½Ρ ΠΈΠΌΠ΅Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π². ΠΡΠ·ΠΎΠ² git remote Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ -v ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠΌΠ΅Π½ Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ, ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠΌ URL-Π°Π΄ΡΠ΅ΡΠ°. ΠΠΏΡΠΈΡ -v ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ verbose. ΠΠΎΠΌΠ°Π½Π΄Π° git remote add ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π·Π°ΠΏΠΈΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½Π°Ρ Π·Π°ΠΏΠΈΡΡ Π±ΡΠ»Π° Π½Π°ΡΡΡΠΎΠ΅Π½Π° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°, Π΅Π΅ ΠΈΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Git Π΄Π»Ρ ΡΠ²ΡΠ·ΠΈ Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ.
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°
ΠΠΈΠΆΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ. ΠΡΠΎΡΡΠ°Ρ Π·Π°ΠΏΠΈΡΡ git remote Π²ΡΠ΄Π°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΅Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ. ΠΠΎΠΌΠ°Π½Π΄Π° ΡΠ΄ΠΎΠ±Π½Π° Π΄Π»Ρ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°ΠΉΠ» ./.git/config. Π’Π°ΠΊΠΆΠ΅ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π²ΡΡΡΠ½ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°. ΠΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° Git ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ΅Ρ , ΡΡΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ βΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Ρβ.
ΠΠ°ΡΠΈΠ°Π½ΡΡ βΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄β:
- ΠΠΎΠΌΠ°Π½Π΄Π° βgit remote add β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΡΠ»ΡΠΊ Π΄Π»Ρ Π² Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠΌΠ°Π½
Pro Git: Git ΡΠΏΠ°ΡΠ³Π°Π»ΠΊΠ°
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ Π³Π΄Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°
$ git init
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅
$ git init <directory>
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Git Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ
$ git init —bare —share sharedproject.git
ΠΠ°Π½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ sharedproject.git c ΠΏΡΠ°Π²Π°ΠΌΠΈ Π½Π° Π·Π°ΠΏΠΈΡΡ Π² Π½Π΅Π³ΠΎ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΡΡ.
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
$ git clone https://github.com/n0tb0dy/RemoreBranches.git
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ
$ git clone https://github.com/n0tb0dy/RemoreBranches.git LocalBranches
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Git ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π΅Π³ΠΎ Π²ΡΠ»ΠΎΠΆΠΈΡΡ Π² ΠΎΠ±ΡΠΈΠΉ Π΄ΠΎΡΡΡΠΏ, ΡΠΎ ΡΠΏΠ΅ΡΠ²Π° Π²Π°ΠΌ Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° GitHub), Π° Π·Π°ΡΠ΅ΠΌ Π΄Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² ΡΠΎΠΎΡΠ²Π΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ°ΡΡΡ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
1. Π‘Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ
$ git remote add origin https://github.com/n0tb0dy/UpRemote.git
2. ΠΠ΅ΡΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌ ΡΡΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠ²ΡΠ·Π°Π½ Ρ Π½Π°ΡΠΈΠΌ
$ git remote -v
3. ΠΡΠ±Π»ΠΈΠΊΡΠ΅ΠΌ Π²Π΅ΡΠΊΡ master Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
$ git push -u origin master
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΡΡΡ.
ΠΠ°Π΄Π°Π΅ΠΌ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΏΠΎΡΡΡ
ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΠΎ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡ
$ git config —global user.name «John Doe»
$ git config —global user.email [email protected]
ΠΠ»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° (ΡΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅)
$ git config —local user.name «John Doe»
$ git config —local user.email [email protected]
ΠΡΠΎΡΠΌΠΎΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Git
ΠΡΠ΅Ρ
(Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ
, ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
). ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΈΡΠ°ΡΡΡΡ ΠΈΠ· ΡΡΠ΅Ρ
ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π°ΡΡΡΠΎΠ΅ΠΊ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΡΡ.
$ git config —list
ΠΠΎΠΊΠ°Π»ΡΠ½ΡΡ
Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
$ git config —local —list
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΡ
$ git config —system —list
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΡΠ°Π²ΠΊΠΈ (ΠΏΠΎΠΌΠΎΡΠΈ) ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Git
$ git help <verb>
$ git <verb> —help
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΠ²Π΅Π΄Π΅ΠΌ ΡΠΏΡΠ°Π²ΠΊΡ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ config (ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ Π±ΡΠ°ΡΠ·Π΅Ρ ΡΠΎ ΡΠΏΡΠ°Π²ΠΊΠΎΠΉ)
$ git help config
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΡΡΡΠΊΠΈΡ ΡΡΠΈΡΡΠΎΠ² (cp1251) Π² Git
ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΡΡΡΡΠΊΠΈΠΌΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ
Git
$ git config —local core.quotepath false
ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ Windows cp1251 Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² Git
$ git config —local core.pager «iconv.exe -f cp1251 -t utf-8 | less»
$ git config —local i18n.commitEncoding utf8
$ git config —local i18n.logoutputencoding cp1251
ΠΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² msysgit 1.9.5. ΠΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π² Π΄ΡΡΠ³ΠΈΡ Π²Π΅ΡΡΠΈΡ Π½Π΅ Π·Π½Π°Ρ. ΠΠΎ Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ Π² Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΡ ΡΠΎΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΏΡΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΡΡΡΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π² Git ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΡΡΡ. Π’Π°ΠΊ ΠΆΠ΅ ΠΎΠ½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΒ Β ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Git ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Cygwin, ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΡΡΡ.
Π’Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΊΠΎΠ΄ΠΎΠ²ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
$ git config —local i18n.filesEncoding windows-1251
Π½Ρ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΡΡΡΠΎΠΊΠΎΠΉ Π² ΡΠ°Π·Π΄Π΅Π»Π΅Β [i18n]
filesEncoding = windows-1251
Π Π²ΠΎΠΎΠ±ΡΠ΅ Π»ΡΡΡΠ΅ Π²Π΅ΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΡ Π² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ UTF-8, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ.
ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Git
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ β ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°:
$ git status
Π Π΅Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΠ°ΡΠΊΠΈΠΉ Π²ΡΠ²ΠΎΠ΄:
$ git status -s
ΠΡΠΎΡΠΌΠΎΡΡ ΡΠ°Π·Π½ΠΈΡΡ (ΡΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π² ΡΠ°ΠΉΠ»Π°Ρ
) ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ (staged area)
$ git diff
ΠΡΠΎΡΠΌΠΎΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ
$ git diff —staged
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠΌΠΎΡΡΠΈΠΌ ΡΡΡ.
Π€ΠΈΠΊΡΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (ΠΊΠΎΠΌΠΌΠΈΡ)
ΠΡΠ»ΠΈ Π΄Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git commit Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΠΎ ΡΠΏΠ΅ΡΠ²Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ ΠΊΠΎΠΌΠΌΠΈΡ (ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ)
$ git commit
Π§ΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π±ΡΠ»ΠΈ ΡΠ΄Π΅Π»Π°Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠ°ΠΊΠΈΡ
ΡΠ°ΠΉΠ»Π°Ρ
Π½Π°Π΄ΠΎ Π΄Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
$ git commit -v
ΠΠΎ ΡΡΡΠ΅ΡΡΠ²Ρ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π° Π΄Π΅Π»ΡΡΠ° diff ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΡΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²ΡΡ, ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ.
Π§ΡΠΎΠ±Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π»ΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΏΡΡΠΌΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π² ΠΊΠ»ΡΡΠ΅ -m
$ git commit -m «Commit Comment»
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΠΊΠΎΠΌΠΌΠΈΡ
$ git commit -a
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· Git
ΠΠΎ ΡΡΡΠ΅ΡΡΠ²Ρ ΡΡΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ· ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
. ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΡΠΆΠ΅ Π±ΡΠ» Π΄ΠΎ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠ΅Π½ Π² Git, ΡΠΎ ΠΈΠ· ΡΡΠ°ΡΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π΅Π³ΠΎ ΠΏΠΎ ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΡ.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ· ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
Git, Π° ΡΠ°ΠΊ ΠΆΠ΅ Π΅Π³ΠΎ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°
$ git rm <file_name>
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°
$ git rm -f <file_name>
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ°, Π½ΠΎ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅
$ git rm —cached <file_name>
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠΌΠΎΡΡΠΈΠΌ ΡΡΡ.
ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°
$ git mv <old_file_name> <new_file_name>
ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΡΠΎ git log Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ (ΡΠΌΠΎΡΡΠΈΠΌ help). Π’ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΠΌΠ΅ΡΡ. Π ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΡΡ ΠΈΠ»ΠΈ Π² ΠΌΠ°Π½ΡΠ°Π»Π΅.
ΠΡΠ²ΠΎΠ΄ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
$ git log
ΠΡΠ²ΠΎΠ΄ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
n Π·Π°ΠΏΠΈΡΠ΅ΠΉ, Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΠ²ΠΎΠ΄ Π΄Π²ΡΡ
ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
Π·Π°ΠΏΠΈΡΠ΅ΠΉ
$ git log -2
ΠΡΠ²ΠΎΠ΄ Π΄Π΅Π»ΡΡΡ (diff) ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌΠΈ Π΄Π²ΡΠΌΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ (Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΡΡΠΎΠΊ)
$ git log -p -2
ΠΡΠ²ΠΎΠ΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ»ΠΎΠ²
$ git log -p -2 —word-diff
ΠΡΠ²ΠΎΠ΄ ΠΊΡΠ°ΡΠΊΠΎΠΉ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΠΎ 2 ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌ
$ git log -2 —stat
Π ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠ»ΡΡ —pretty (ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΡΠΌΠ°Ρ Π²ΡΠ²ΠΎΠ΄Π° Π»ΠΎΠ³Π°)
$ git log —pretty=oneline
$ git log —pretty=format:»%h — %an, %ar : %s»
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠ»ΡΡΠ° format
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π°Π½Π½ΡΡ |
---|---|
%H | Π₯Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° |
%h | Π‘ΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΠΉ Ρ Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° |
%T | Π₯Π΅Ρ Π΄Π΅ΡΠ΅Π²Π° |
%t | Π‘ΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΠΉ Ρ Π΅Ρ Π΄Π΅ΡΠ΅Π²Π° |
%P | Π₯Π΅ΡΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² |
%p | Π‘ΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΠ΅ Ρ Π΅ΡΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² |
%an | ΠΠΌΡ Π°Π²ΡΠΎΡΠ° |
%ae | ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΏΠΎΡΡΠ° Π°Π²ΡΠΎΡΠ° |
%ad | ΠΠ°ΡΠ° Π°Π²ΡΠΎΡΠ° (ΡΠΎΡΠΌΠ°Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ --date= ) |
%ar | ΠΠ°ΡΠ° Π°Π²ΡΠΎΡΠ°, ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ (ΠΏΡ. «2 ΠΌΠ΅Ρ. Π½Π°Π·Π°Π΄») |
%cn | ΠΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ΡΠ° |
%ce | ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΏΠΎΡΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ΅ΡΠ° |
%cd | ΠΠ°ΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ΅ΡΠ° |
%cr | ΠΠ°ΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ΅ΡΠ°, ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ |
%s | ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ |
ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ASCII Π³ΡΠ°Ρ Π²Π΅ΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΏΠΎ ΠΊΠ»ΡΡΡ —graph
$ git log —pretty=format:»%h Β %s» —graph
ΠΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠΈΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ —since ΠΈ —until, Π²Π΅ΡΡΠΌΠ° ΠΏΠΎΠ»Π΅Π·Π½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ΄Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΡΠ΄Π΅Π»Π°Π½Π½ΡΡ
Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π²Π΅ Π½Π΅Π΄Π΅Π»ΠΈ:
$ git log —since=2.weeks
ΠΡΡΠ³ΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΡΠΈΠ»ΡΡΡ ΡΡΠΎ ΠΎΠΏΡΠΈΡ βS, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π³Π΄Π΅ ΡΡΠ° ΡΡΡΠΎΠΊΠ° Π±ΡΠ»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π°, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Π°.
$ git log -S<stirng>
ΠΡΠΈΠΌΠ΅Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ°ΡΡ ΡΡΡΠΎΠΊΡ MyStringForSearch
$ git log -SMyStringForSearch
Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Ρ Ρ
ΡΡΠ΅ΠΌ (ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ)
$ git log —oneline
ΠΡΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΠΊΠΎΠΌΠΈΠΈΡΡ, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π½Π΅ Π±ΡΠ»ΠΎ Π½ΠΈ ΠΊΠ°ΠΊΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅
$ git commit —amend
ΠΡΠΌΠ΅Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° (ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ°)
$ git reset HEAD <file>
ΠΡΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ°ΠΉΠ»Π° (Π΄ΠΎ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° Π² ΠΊΠΎΠΌΠΌΠΈΡ)
$ git checkout — <file>
Π‘ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π½Π°Π΄ΠΎ Π±ΡΡΡ ΠΎΡΠΎΠ±ΠΎ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΡΠΌ, ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΡΡ.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π· ΠΈ Π½Π°Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΈ ΠΊΡΠΎ Π½ΠΈ ΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ²ΠΈΠ΄ΠΈΡ. Π Π²Ρ Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ :). ΠΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΎΡΠΊΠ°Ρ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ. ΠΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Π±ΡΠ΄ΡΡ ΡΡΠ΅ΡΡΠ½Ρ. Π₯ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅ ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ.
$ git reset —hard HEAD~1
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ
ΠΡΠΎΡΠΌΠΎΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π²
$Β git remote
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΎ Π½ΠΈΡ
$Β git remote -v
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ (Π²ΠΌΠ΅ΡΡΠΎ origin ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ)
$ git remote add origin https://github.com/n0tb0dy/UpRemote.git
$ git remote add tr https://github.com/n0tb0dy/UpRemote.git
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ tr Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ tr
$ git fetch tr
ΠΡΠΏΡΠ°Π²ΠΊΠ° Π΄Π°Π½Π½ΡΡ
Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. Π€ΠΎΡΠΌΠ°ΡΒ git push [ΡΠ΄Π°Π». ΡΠ΅ΡΠ²Π΅Ρ] [Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΠΊΠ°]
$ git push origin master
ΠΠ½ΡΠΏΠ΅ΠΊΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΒ git remote show [ΡΠ΄Π°Π». ΡΠ΅ΡΠ²Π΅Ρ]
$ git remote show origin
ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² (ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ)
$ git remote rename <old_name> <new_name>
$ git remote rename tr newtr
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ π (ΠΏΠΎΠΏΡΠΎΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡ Π½Π΅Π³ΠΎ — Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΡ origin)
$Β git remote rm origin
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅ΠΉ ΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ ΡΡΡ.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Git Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Ρ ΡΠ°ΠΌΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΌ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠΌ, ΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π»ΡΠ±ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ (clone, fetch, push, pull ΠΈ Ρ.ΠΏ.), Git Π±ΡΠ΄Π΅Ρ ΡΡΠ³Π°ΡΡΡΡ Π½Π° ΡΠ°ΠΌΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ. Π Π΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² ΡΡΡΠΎΠΊ ΠΊΠΎΠ½ΡΠΈΠ³
$ git config —local http.sslVerify false
ΠΠ»ΠΈ ΠΆΠ΅ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ Π²ΡΡΠ°Π²Π»ΡΡΡ Π΄ΠΎΠΏ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
$ git -c http.sslVerify=false push origin newbranch
Π Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° Git ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΡΠ΅ΠΌΠ°. Π§Π°ΡΡΠΈΡΠ½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΠΌΠ½ΠΎΠΉ ΡΡΡ.
Π Π°Π±ΠΎΡΠ° Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠΊΠΈ
$ git branch
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
Π²Π΅ΡΠΎΠΊ
$ git branch βv
Π§ΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ Π²Π΅ΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
$ git branch βa
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½Π° Π²ΡΠ΅Ρ
Π²Π΅ΡΠΊΠ°Ρ
(Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
)
$ git branch βa -v
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π²Π΅ΡΠΊΠΈ
$ git branch βvv
Π‘Π΄Π΅Π»Π°ΡΡ Π²Π΅ΡΠΊΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ serverfix ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ
$ git branch -u origin/serverfix
Π‘ΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠΊΡ
$ git branch <ΠΈΠΌΡ_Π²Π΅ΡΠΊΠΈ>
Π‘ΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠΊΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅
$git branch new_branch 5a0eb04
ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π²Π΅ΡΠΊΡ
git branch -m <oldname> <newname>
ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ
git branch -m <newname>
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡ Π½Π° Π²Π΅ΡΠΊΡ
$ git checkout <ΠΈΠΌΡ_Π²Π΅ΡΠΊΠΈ>
Π‘ΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠΊΡ ΠΈ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡ Π½Π° Π½Π΅Π΅
$ git checkout -b <ΠΈΠΌΡ_Π²Π΅ΡΠΊΠΈ>
Π‘Π»ΠΈΡΠ½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ (Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΠΌΡΡ Π½Π° Π²Π΅ΡΠΊΠ΅ master ΠΈ ΡΠ»ΠΈΠ²Π°Π΅ΠΌ Ρ Π½Π΅ΠΉ Π²Π΅ΡΠΊΡ hotfix)
$ git checkout master
$ git merge hotfix
Π£Π΄Π°Π»ΠΈΡΡ Π²Π΅ΡΠΊΡ
$ git branch -d <ΠΈΠΌΡ_Π²Π΅ΡΠΊΠΈ>
Π£Π΄Π°Π»ΠΈΡΡ Π²Π΅ΡΠΊΡ serverfix Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅
$ git push origin —delete serverfix
Π Π°Π±ΠΎΡΠ° Ρ ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ (ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅Ρ Π² Π°Π»ΡΠ°Π²ΠΈΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π° Π½Π΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΡ
ΡΠΎΠ·Π΄Π°Π½ΠΈΡ)
$ git tag
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ ΠΏΠΎΠ΄ ΠΌΠ°ΡΠΊΡ
$ git tag -l ‘v1.4.2.*’
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΌΠ΅ΡΠΊΡ Π½Π° ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ (ΠΊΠ»ΡΡ -Π°) Ρ ΠΌΠ΅ΡΠΎΡΠ½ΡΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ (ΠΊΠ»ΡΡ -m)
$ git tag -a v1.4 -m ‘my version 1.4’
ΠΡΠ»ΠΈ ΠΊΠ»ΡΡ -m Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΎ ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ ΠΎΠΊΠ½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΡΡΠΎΠ±Ρ Π²Π²Π΅ΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΠΎΠΉ ΠΌΠ΅ΡΠΊΠΈ Π½Π° ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅
$ git tag <ΠΈΠΌΡ_ΠΌΠ΅ΡΠΊΠΈ>
$ git tag MyTAG
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΌΠ΅ΡΠΊΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌ, Π° ΡΠ°ΠΊ ΠΆΠ΅ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΠΎΡΡΠ°Π²ΠΈΠ²ΡΠΈΡ
ΠΌΠ΅ΡΠΊΠΈ
$ git show <tag>
$ git show MyTAG
Π’Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠ°Π²Π»ΡΡΡ ΠΌΠ΅ΡΠΊΠΈ ΠΈ Π½Π° ΡΠΆΠ΅ ΠΏΡΠΎΠΉΠ΄Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΌΠ΅ΡΠΊΠ°Ρ ΡΡΡ.
ΠΠ°Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΎΠ² Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄ Git
ΠΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΠΊ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ Git, ΡΠ°ΠΊ ΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³Π΅ Bash, Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π² ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ°.
ΠΠ°Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΎΠ² Π² ΠΊΠΎΠ½ΡΠΈΠ³Π°Ρ Git
$ git config —global alias.co checkout
$ git config —global alias.br branch
$ git config —global alias.ci commit
$ git config —global alias.st status
Π’Π΅ΠΏΠ΅ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π°Π²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
$ git co
$ git br
$ git ci
$ git st
Π’ΠΎ Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· Π·Π°Π΄Π°Π½ΠΈΠ΅ Π°Π»ΠΈΠ°ΡΠΎΠ² Π² ΠΊΠΎΠ½ΡΠΈΠ³Π΅ Git ΠΌΡ Π½Π΅ ΠΈΠ·Π±Π°Π²Π»ΡΠ΅ΠΌΡΡ ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git, Π½ΠΎ Π²ΡΠ΅ ΠΆΠ΅ ΡΡΠΎ ΠΊΠΎΡΠΎΡΠ΅.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ Π² ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
$ git config —global alias.unstage ‘reset HEAD —‘
ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΠΌΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ git unstage fileA
$ git reset HEAD fileA
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΏΠΎ Π°Π»ΠΈΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³Π°Ρ Git ΡΠΈΡΠ°Π΅ΠΌ ΡΡΡ.
ΠΠ± Π°Π»ΠΈΠ°ΡΠ°Ρ Π·Π°Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· Bash ΡΠΈΡΠ°Π΅ΠΌ ΡΡΡ.
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π² ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ
$ git diff ffd6b37 c258082 —cc test.txt
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΡΠΈΠ»ΠΈΡ ExamDiffPro ΠΈ P4Merge
Π‘ΠΌΠΎΡΡΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° test.txt ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ
$ git difftool 9491cc8 02c1df6 —tool=edp —cc test.txt
$ git difftool 9491cc8 02c1df6 —tool=p4m —cc test.txt
Π‘Π»ΠΈΡΠ½ΠΈΠ΅ (merge)
Π‘Π°ΠΌΠ°Ρ Π³Π»Π°Π²Π½Π°Ρ ΠΈ Π½ΡΠΆΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ»ΠΈΡΠ½ΠΈΡ, ΡΡΠΎ ΠΎΡΠΌΠ΅Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΡ π
$ git merge —abort
ΠΡΡΠΊΠΎ ΡΠ°Π·Π½ΠΎ
ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ HEAD
$ git reflog
Π Π°Π·Π±ΠΈΡΠ°Π΅ΠΌΡΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ diff ΠΈ show
ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ. ΠΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΠΈΠ·ΡΡΠ°ΡΡ Π³ΠΈΡ. Π Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² Π½Π°Ρ ΡΠ°ΠΉΠ» 1.js, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π½Π° ΠΏΡΠΎΡΠ»ΠΎΠΌ ΡΡΠΎΠΊΠ΅.
function addNumber(a,b) {
return a + b;
}
ΠΡΠ»ΠΈ ΠΌΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ git status, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ Π³ΠΈΡ Π²ΠΈΠ΄ΠΈΡ, ΡΡΠΎ ΠΌΡ ΡΡΠΎ-ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΊ Π³ΠΈΡ Π²ΠΈΠ΄ΠΈΡ Π½Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
git diff
ΠΠ°ΠΌ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π²ΡΠ²Π΅Π»ΡΡ ΡΠΎΠ»ΡΠΊΠΎ 1 ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½. ΠΠ΅Π»Π΅Π½ΡΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΡΡΡΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ, Π° ΠΊΡΠ°ΡΠ½ΡΠΌ ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΄Π°Π»Π΅Π½Ρ. Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π·Π΅Π»Π΅Π½ΡΠ΅ ΡΡΡΠΎΡΠΊΠΈ.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠΈΠΌ Π½Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΊ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ ΡΡΠΎΠΊΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΏΠΈΡΠ΅ΠΌ
git add 1.js
ΡΡΠΎΠ±Ρ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
git commit -m "Added addNumber function"
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΡΠ»ΠΈ ΠΌΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ git log, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ ΡΠ΅ΠΉΡΠ°Ρ ΡΠΆΠ΅ 2 ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΠ΅ΡΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ ΡΡΠΎΠΊΠ° ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ.
ΠΡΠ»ΠΈ Π²Π΄ΡΡΠ³ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Ρ Π½Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git show ΠΈ ΡΠΊΠ°Π·Π°ΡΡ id ΠΊΠΎΠΌΠΌΠΈΡΠ°.
git show ID
Π Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΌΡ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π΄ΠΈΡΡ Π½Π΅Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠ΅Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠ½ΠΈΠΌΠ°Π½ΠΈΡ
function deductNumber (a, b) {
return a - b;
}
ΠΡΠ»ΠΈ ΠΌΡ ΡΠ΅ΠΏΠ΅ΡΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ git diff, ΡΠΎ Π½Π°ΠΌ Π²ΡΠ²Π΅Π΄Π΅ΠΌΡΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΊΡΠ°ΡΠ½ΡΠΌ ΡΡΠΎ ΠΌΡ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ, Π° Π·Π΅Π»Π΅Π½ΡΠΌ ΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ.
ΠΡ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ ΡΠ»ΠΎΠ²ΠΎ add ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ deduct, ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΡ ΠΏΠΎΠΌΠ΅Π½ΡΠ»ΠΈ ΠΏΠ»ΡΡ Π½Π° ΠΌΠΈΠ½ΡΡ. Π Π³ΠΈΡ Π²ΡΠ΅ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ΅ΠΊΠ°Π΅Ρ.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠΈΠΌ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΠΆΠ΅.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ°Π·Ρ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ git add .
git add .
git commit -m "Changed addNumber to deductNumber"
ΠΠ°ΠΊ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, Π³ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Git. ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. β PROSELYTE
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ ΡΠΈΡΡΠ°ΡΠΈΠ΅ΠΉ, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Git ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
ΠΠ»Ρ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ Π² Git ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°:
git log
ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅:
git log
commit 11f75b7bc8884203624ba1d552438d57a7c3559d
Author: Eugene Suleimanov <[email protected]>
Date: Wed Aug 17 19:15:53 2016 +0300
Adding .gitignore file.
commit 5e0298b007582bec3a8f4f68db74ba4ddfa40838
Author: Eugene Suleimanov <[email protected]>
Date: Wed Aug 17 19:15:21 2016 +0300
Adding .gitignore file
commit 97d5de493ac15f821b109b7b0375d4f94e1f2dd1
Author: Eugene Suleimanov <[email protected]>
Date: Wed Aug 17 19:10:41 2016 +0300
Adding classes Developer.java and Project.java
commit a0f051aa654aa43db508f460b5bd28e8a41fe2ae
Author: Eugene Suleimanov <[email protected]>
Date: Wed Aug 17 17:43:12 2016 +0300
Initial commit of the project.
commit 0853db5f06305eae525b954f587ecc49c62debd9
Author: Eugene Suleimanov <[email protected]>
Date: Wed Aug 17 17:41:35 2016 +0300
Initial commit of the project
commit 5e8179a97b971f8fd11118e64f4d624b5ddf3ea6
Author: Eugene Suleimanov <[email protected]>
Date: Wed Aug 17 17:20:53 2016 +0300
Initial commit of the project
commit 3c199cf96dba9131bb3df299aa819b9cbef6a870
Author: Eugene Suleimanov <[email protected]>
Date: Wed Aug 17 17:20:27 2016 +0300
Initial commit of the project
(END)
ΠΠ΄Π΅ΡΡ ΡΠΈΡΠ»ΠΎ ΡΡΠ΄ΠΎΠΌ ΡΠΎ ΡΠ»ΠΎΠ²ΠΎΠΌ commit β ΡΡΠΎ SHA-1 ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ID ΠΊΠΎΠΌΠΌΠΈΡΠ°.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΠΊΠΎΠΌΠΌΠΈΡΡ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ SHA-1 ID ΠΊΠΎΠΌΠΌΠΈΡΠ°) ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git show 11f75b7bc8884203624ba1d552438d57a7c3559d
commit 11f75b7bc8884203624ba1d552438d57a7c3559d
Author: Eugene Suleimanov <[email protected]>
Date:Β Β Wed Aug 17 19:15:53 2016 +0300
Adding .gitignore file.
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index a4cab11..b0392f8 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
-Β Β Β <list default="true" name="Default" comment="">
-Β Β Β Β Β <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
-Β Β Β </list>
+Β Β Β <list default="true" name="Default" comment="" />
<ignored path="GitTutorial.iws" />
<ignored path=".idea/workspace.xml" />
<ignored path="$PROJECT_DIR$/out/" />
@@ -690,12 +688,12 @@
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1471442570577</updated>
-Β Β Β Β Β <workItem from="1471442574162" duration="5174000" />
+Β Β Β Β Β <workItem from="1471442574162" duration="5219000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
-Β Β Β <option name="totallyTimeSpent" value="5174000" />
+Β Β Β <option name="totallyTimeSpent" value="5219000" />
</component>
<component name="ToolWindowManager">
<frame x="0" y="24" extended-state="6" />
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
ΠΠ° ΡΡΠΎΠΌ ΠΌΡ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΠΌ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ commit).
ΠΠΎΡΠ°Π³ΠΎΠ²Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ GIT ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ GitHub Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ²
ΠΠ°Π²Π΅ΡΠ½ΡΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ»ΡΡΠ°Π»ΠΈ ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ git. Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²Π΅ΡΡ ΠΏΡΡΡ ΠΎΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ git Π΄ΠΎ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ OsEngine.ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠΊΠ°ΡΠ°Π΅ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ git ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Π΅Π³ΠΎ. ΠΠΎΠΏΡΠΎΡΠΎΠ² Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π½Π΅
Π΄ΠΎΠ»ΠΆΠ½ΠΎ, ΠΏΡΠΎΡΡΠΎ Π²Π΅Π·Π΄Π΅ ΠΆΠΌΠ΅ΠΌ Next. ΠΠ°Π»Π΅Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ git Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ.Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ°Π³ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΡΠ°ΠΉΡΠ΅ https://github.com/. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ Π½Π°Π΄ OsEngine. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ Π² ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ
Π½Π΅ΠΌ ΡΠ³Π»Ρ Π½Π°ΠΆΠΌΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ Fork.
ΠΡΠΈΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ fork (Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ ΠΎΡΠ²Π΅ΡΠ²Π»Π½ΠΈΠ΅), ΠΊΠΎΡΠΎΡΡΠΉ Ρ
ΡΠ°Π½ΠΈΡΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π°ΡΠ΅ΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½ΠΎΡΠΈΡΡ Π² Π½Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½Π΅ ΠΎΠΏΠ°ΡΠ°ΡΡΡ ΡΠ΅Π³ΠΎ-ΡΠΎ ΡΠ»ΠΎΠΌΠ°ΡΡ Π² Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ°Π»Π΅Π΅ ΡΡΠΎΡ ΡΠ°ΠΌΡΠΉ Π½Π°Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° github ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΡΡΡΠΏΠΈΠΌ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°ΠΌΠΈΠΌ git ΠΈ ΠΏΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΏΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ Π² ΠΆΠ΅Π»Π°Π΅ΠΌΡΡ ΠΏΠ°ΠΏΠΊΡ, Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠΌ ΠΌΠ΅Π½Ρ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠ½ΠΊΡ Git Bash Here ΠΈ Ρ Π½Π°Ρ ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
ΠΠ°Π»ΡΡΠ΅ ΠΈΠ΄Π΅ΠΌ Π½Π° github Π² Π½Π°Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° Π·Π΅Π»Π΅Π½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Clone or download (1) ΠΈ Π·Π°ΡΠ΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ 2 Π½Π° ΡΠ½ΠΈΠΌΠΊΠ΅.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ΅ΠΏΠΎΠ·ΡΠΎΡΠΈΠΉ ΡΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΊ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ git clone «Π·Π΄Π΅ΡΡ Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΡΡΠ»ΠΊΡ Π±Π΅Π· ΠΊΠ°Π²ΡΡΠ΅ΠΊ»
ΠΠ°ΡΠ½Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈ ΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΡΠ°Π±ΠΎΡΠ°Ρ ΠΊΠΎΠΏΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ OsEngine.
Π Π°Π±ΠΎΡΠ° Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° git
ΠΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΡΠ°Π±ΠΎΡΡ Ρ git, Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ. ΠΡΠΊΡΠΎΠΉΡΠ΅ git bash, Π·Π°Π΄Π°ΠΉΡΠ΅ Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ:
$ git config —global user.name βΠ²Π°ΡΠ΅ ΠΈΠΌΡβ
$ git config —global user.email βΠ²Π°ΡΠ° ΠΏΠΎΡΡΠ°β
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°:
$ git config —global —list
Π Π°Π±ΠΎΡΠ° Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ
ΠΠ΅ΡΠΊΠΈ Π² git ΡΡΠΎ ΡΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΡΡΠΎ ΠΈ Π²Π΅ΡΠΊΠΈ Π½Π° github. Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ git branch ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ ΠΈΠΌΡ
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π½Π° ΡΡΡ Π²Π΅ΡΠ²Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ git checkout ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ
Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠΊΡ Π½Π°Π±Π΅ΡΠΈΡΠ΅:
$ git checkout master
ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π²Π΅ΡΠΊΡ:
$ git branch βm Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ
ΠΊΠΎΠΌΠ°Π½Π΄Π° $ git branch ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π² ΠΊΠ°ΠΊΠΎΠΉ Π²Π΅ΡΠΊΠ΅ ΡΠ΅ΠΉΡΠ°Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌΡΡ. Π£Π΄Π°Π»ΡΠ΅Ρ Π²Π΅ΡΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°
$git branch βD ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ
ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
$ git merge ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ
ΠΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ Π²Π΅ΡΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ. Π§ΡΠΎΠ±Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΡΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ, Π½Π°Π΄ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΈ ΡΠ°ΠΉΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΠΎΠΌΠΌΠΈΡΡ
ΠΡΡ ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ git Π² commits (ΠΊΠΎΠΌΠΌΠΈΡΡ). ΠΠΎΠΌΠΌΠΈΡ β ΡΡΠΎ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅
ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: Ρ Π½Π°Ρ Π΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° OsEngine, ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π²
Π½Π΅Π΅ Π½ΠΎΠ²ΡΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠΈΠ»ΠΈ, ΠΏΠΎΡΠΎΠΌ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠ°ΠΉΠ» Π²
Π΄Π²ΠΈΠΆΠΊΠ΅ ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΠ°ΡΠΈΡΡΡ ΠΈΠ»ΠΈ Π½Π΅ Ρ
ΠΎΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ. Π§ΡΠΎΠ±Ρ
Π½Π΅ Π΄Π΅Π»Π°ΡΡ Π»ΠΈΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΈ Π½Π΅ ΠΏΡΠ°Π²ΠΈΡΡ Π²ΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΏΡΠΎΡΡΠΎ
ΠΎΡΠΊΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΏΡΠΎΡΠ»ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ
Π²ΡΡ ΡΠ°Π±ΠΎΡΠ° Ρ git ΠΊΡΡΡΠΈΡΡΡ Π²ΠΎΠΊΡΡΠ³ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, ΡΠ΄Π°Π»Π΅Π½ΠΈΡ, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ»ΠΈΡΠ½ΠΈΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ Π²Π΅ΡΠΎΠΊ.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΈΠ½Π΄Π΅ΠΊΡ
ΠΠΎΠΏΡΡΡΠΈΠΌ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ°ΠΉΠ» README, Π½ΠΎ ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ, Π½Π°Π΄ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π²
ΠΈΠ½Π΄Π΅ΠΊΡ, ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ», ΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ
$ git add README
ΠΈ ΡΠ°ΠΉΠ» README Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΠΈΠ½Π΄Π΅ΠΊΡ, Π΅ΡΠ»ΠΈ Π½Π°Π΄ΠΎ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΈ Π½ΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ
$ git add .
ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ ΡΠΎΡΠΊΠΎΠΉ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΈ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠΌ ΠΏΠ΅ΡΠ΅Π΄ Π½Π΅ΠΉ.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ°
ΠΡΠ»ΠΈ Π²Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π½Π΅ Π½ΡΠΆΠ½ΡΠΉ ΡΠ°ΠΉΠ», ΡΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π΅Π³ΠΎ ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git reset, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ» README ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ°:
$ git reset README
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠ΅ΡΠ΅Π΄ΡΠΌΠ°Π»ΠΈ ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π² ΡΠ°ΠΉΠ», Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
$ git checkout — ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°
ΠΈ ΠΎΠ½ Π²Π΅ΡΠ½Π΅ΡΡΡ Π² ΡΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΈΡΠ΅, ΡΡΠΎ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΈΡΡΠ΅Π·Π½ΡΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ git commit βm βΠΠ΄Π΅ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π² ΠΊΠ°Π²ΡΡΠΊΠ°Ρ β
Π‘Π»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ. ΠΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
$ git log
$ git show ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠ»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠ΅ΠΆΠΈΠΌΠ° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π½Π°ΠΆΠΌΠΈΡΠ΅ q.
Π git Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
$ git commit βa βm βΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π² ΠΊΠ°Π²ΡΡΠΊΠ°Ρ β
-a ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ: Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡ Π΄ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ.
-m: ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ.
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅, ΠΊΠΎΠΌΠΌΠΈΡΠ°
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ git revert HEAD
ΠΡΡΡΠ΅Ρ ΠΊΠΎΠΌΠΈΡΠΎΠ² Π²Π΅Π΄Π΅ΡΡΡ Ρ 0 Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ΅ΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ:
$ git revert HEAD~2
ΠΠΎΠΌΠ°Π½Π΄Π° $ git reset —soft HEAD~3 ΡΠ΄Π°Π»ΠΈΡ 3 ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΈ ΠΎΡΠΊΠ°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΡ ΡΠ°Π½ΠΈΠ² Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
$ git reset — hard HEAD~3
ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ΄Π°Π»ΠΈΡ ΡΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²
$ git status β ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡΠ°Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ½Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π΅ΡΡΡ Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ°ΠΉΠ»Π°Ρ ΠΈΠ»ΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ β ΡΡΠΎ ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΡΡ Π² ΠΏΡΠ΅Π΄ΠΈΠ΄ΡΡΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅. ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», ΡΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΠ°ΡΡΡΡ Π½Π΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠΌ.
ΠΠ½Π΅ΡΠ΅Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π±ΡΠ»ΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ git push origin master
ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²Π²Π΅ΡΡΠΈ Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ ΠΎΡ github. ΠΠ΄Π½Π°ΠΊΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ. ΠΡΠΈΡΠΈΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΊΡΡΡΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ. Π§ΡΠΎΠ±Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π±ΡΠ°ΡΡ ΡΡΠΈ Π½ΠΎΠ²ΡΠ΅
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
$ git pull
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ SSH ΠΊΠ»ΡΡΠ΅ΠΉ
Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π²Π²ΠΎΠ΄ΠΈΡΡ Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ ΠΏΡΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ SSH ΠΊΠ»ΡΡΠΈ. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΊΠ»ΡΡΠΈ Π½Π°Π΄ΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ ssh-keygen
ΠΠ°Π»Π΅Π΅ 3 ΡΠ°Π·Π° Π½Π°ΠΆΠ°ΡΡ enter ΠΈ Π² Π΄ΠΈΡΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ C:\Users\ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ\.ssh ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΠΏΠ°ΠΏΠΊΠ° Ρ ΠΊΠ»ΡΡΠ°ΠΌΠΈ. ΠΡΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ»
id_rsa ΡΠΈΠΏΠ° PUB Π² Π»ΡΠ±ΠΎΠΌ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΈ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅. ΠΠ°ΡΠ΅ΠΌ ΠΈΠ΄Π΅ΠΌ Π½Π° github Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ
ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ ΡΠ»Π΅Π²Π° Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠ½ΠΊΡ: SSH and GPG keys ΠΈ ΠΆΠΌΠ΅ΠΌ Π·Π΅Π»Π΅Π½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΡΠΏΡΠ°Π²Π° New SSH key
Π·Π°Π΄Π°Π΅ΠΌ Title, Π² ΠΏΠΎΠ»Π΅ Key Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠ΅, ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΊΠ»ΡΡΠ° ΠΈ ΠΆΠΌΠ΅ΠΌ
Π‘Π»ΠΈΡΠ½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ Π½Π° github
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ Π²Π½Π΅ΡΠ»ΠΈ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ²ΠΎΠΉ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Ρ Π³Π»Π°Π²Π½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ° OsEngine. ΠΡΠΎΡΡΠΎ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ New pull request
Π° Π·Π°ΡΠ΅ΠΌ
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git, ΠΈΡ Ρ Π²Π°ΡΠΈΡ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ OsEngine, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ git ΠΈ ΡΠ΅ΡΠ²ΠΈΡ github.
Π£Π΄Π°ΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²!
git-log — ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΆΡΡΠ½Π°Π»Ρ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ — ΡΡΡΠ°Π½ΠΈΡΠ° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° Π±Π΅Π· ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ (ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°).
Π Π°ΡΠΏΠ΅ΡΠ°ΡΠ°ΠΉΡΠ΅ ΡΡΡΠ»ΠΎΡΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° Π²ΡΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΡΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½ΠΎ short , ΠΏΡΠ΅ΡΠΈΠΊΡΡ ΠΈΠΌΠ΅Π½ ΡΡΡΠ»ΠΎΠΊ refs / Heads / , refs / tags / ΠΈ refs / remotes / Π½Π΅ Π±ΡΠ΄ΡΡ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π½Ρ. ΠΡΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½ΠΎ full , Π±ΡΠ΄Π΅Ρ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π½ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ ΡΡΡΠ»ΠΊΠΈ (Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΡΠ΅ΡΠΈΠΊΡ).ΠΡΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½ΠΎ auto , ΡΠΎ, Π΅ΡΠ»ΠΈ Π²ΡΠ²ΠΎΠ΄ ΠΈΠ΄Π΅Ρ Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π», ΠΈΠΌΠ΅Π½Π° ΡΡΡΠ»ΠΎΠΊ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ Π±ΡΠ»ΠΈ Π·Π°Π΄Π°Π½Ρ short , Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΠΌΠ΅Π½Π° ΡΡΡΠ»ΠΎΠΊ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ. ΠΠ°ΡΠΈΠ°Π½Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ — ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ .
ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ —decorate-refs , ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ Π²ΠΈΠ΄, ΡΡΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π²ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠ° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΅Π³ΠΎ Π΄Π»Ρ ΡΠΊΡΠ°ΡΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌ, Π·Π°Π΄Π°Π½Π½ΡΠΌ Π΄Π»Ρ —decorate-refs-exclude , ΠΈΠ»ΠΈ Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ· ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², Π·Π°Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ —decorate-refs .ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ log.excludeDecoration ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΡΡΡΠ»ΠΊΠΈ ΠΈΠ· Π΄Π΅ΠΊΠΎΡΠ°ΡΠΈΠΉ, Π½ΠΎ ΡΠ²Π½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ —decorate-refs ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Π² log.excludeDecoration .
Π Π°ΡΠΏΠ΅ΡΠ°ΡΠ°ΠΉΡΠ΅ ΠΈΠΌΡ ΡΡΡΠ»ΠΊΠΈ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ»Π° Π΄ΠΎΡΡΠΈΠ³Π½ΡΡΠ° ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ°ΠΉΠ» mailmap Π΄Π»Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ Π°Π²ΡΠΎΡΠΎΠ² ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡΠ΅ΡΠΎΠ² ΠΈ Π°Π΄ΡΠ΅ΡΠΎΠ² ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ Ρ ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ΅Π°Π»ΡΠ½ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΈ Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ.Π‘ΠΌ. Git-shortlog (1).
ΠΠ΅Π· ΡΡΠΎΠ³ΠΎ ΡΠ»Π°Π³Π° git log -p
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠΎ Π²Π»ΠΈΡΠ΅Ρ Π½Π° Π²ΡΠ΅ ΡΠΈΠΏΡ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡΠ΅ — ΡΡΠ°Ρ ΠΈ Π΄Ρ.
ΠΠΊΠ»ΡΡΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ Β«ΡΠ°Π·ΠΌΠ΅Ρ ΠΆΡΡΠ½Π°Π»Π°
ΠΡΠΎΡΠ»Π΅Π΄ΠΈΡΡ ΡΠ²ΠΎΠ»ΡΡΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΡΡΡΠΎΠΊ, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Β«<Π½Π°ΡΠ°Π»ΠΎ>, <ΠΊΠΎΠ½Π΅Ρ>Β» (ΠΈΠ»ΠΈ ΠΈΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ regex
+ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ -ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅
ΠΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ
ΠΡΠ»ΠΈ Π²ΠΌΠ΅ΡΡΠΎ
ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΡΠ΅Π²ΠΈΠ·ΠΈΠΉ. ΠΡΠ»ΠΈ <Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠ΅Π²ΠΈΠ·ΠΈΠΉ> Π½Π΅ ΡΠΊΠ°Π·Π°Π½, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ HEAD (Ρ.Π΅. Π²ΡΡ ΠΈΡΡΠΎΡΠΈΡ, Π²Π΅Π΄ΡΡΠ°Ρ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ). origin..HEAD ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° (ΡΠΎ Π΅ΡΡΡ HEAD ), Π½ΠΎ Π½Π΅ ΠΈΠ· origin . ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ <Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠ΅Π²ΠΈΠ·ΠΈΠΈ> ΡΠΌ. Π ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² gitrevisions (7).
ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΏΡΡΡΠΌ. Π‘ΠΌ. Π£ΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠΈΠΈ Π½ΠΈΠΆΠ΅ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ.
ΠΡΡΠΈ ΠΌΠΎΠ³ΡΡ Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² ΠΏΡΠ΅ΡΠΈΠΊΡΠ΅ — , ΡΡΠΎΠ±Ρ ΠΎΡΠ΄Π΅Π»ΠΈΡΡ ΠΈΡ ΠΎΡ ΠΎΠΏΡΠΈΠΉ ΠΈΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΡΠ°Π½ΠΈΡΠ°.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ
ΠΠΎΠΌΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΎΠ±ΡΡΡΠ½Π΅Π½Π½ΡΡ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ, ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΎΠ±ΡΡΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ Π²ΡΠ²ΠΎΠ΄ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, —since =
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ —reverse .
- — <ΡΠΈΡΠ»ΠΎ>, -n <ΡΠΈΡΠ»ΠΎ>, —max-count = <ΡΠΈΡΠ»ΠΎ>
ΠΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π°.
- —skip =
ΠΡΠΎΠΏΡΡΡΠΈΡΡ Π½ΠΎΠΌΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π½Π°ΡΠ°ΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
- —since =
, —after = ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΠ΅, ΡΠ΅ΠΌ ΡΠΊΠ°Π·Π°Π½Π½Π°Ρ Π΄Π°ΡΠ°.
- —until = <Π΄Π°ΡΠ°>, —before = <Π΄Π°ΡΠ°>
ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΡΠ°ΡΡΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄Π°ΡΡ.
- —author =
, —committer = ΠΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ΅ΠΌΠΈ, Ρ ΠΊΠΎΡΠΎΡΡΡ ΡΡΡΠΎΠΊΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Π°Π²ΡΠΎΡΠ° / ΠΊΠΎΠΌΠΌΠΈΡΡΠ΅ΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ (ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΌΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ).Π‘ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΈΠΌ —author =
- —grep-reflog =
ΠΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ΅ΠΌΠΈ, Ρ ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΏΠΈΡΠΈ reflog ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ (ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΌΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ). Π‘ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΈΠΌ —grep-reflog Π²ΡΠ±ΠΈΡΠ°ΡΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ reflog ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π»ΡΠ±ΠΎΠΌΡ ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ². ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΎΠΏΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ, Π΅ΡΠ»ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ —walk-reflogs .
- —grep =
ΠΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ΅ΠΌΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΆΡΡΠ½Π°Π»Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ (ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΌΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ). Π‘ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΈΠΌ —grep =
ΠΠΎΠ³Π΄Π° Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ —notes , ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠΉ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ°ΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΆΡΡΠ½Π°Π»Π°.
- —all-match
ΠΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ΅ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π²ΡΠ΅ΠΌ Π·Π°Π΄Π°Π½Π½ΡΠΌ —grep , Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎΠΌΡ.
- —invert-grep
ΠΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ΅ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΆΡΡΠ½Π°Π»Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ Π² —grep =
- -i, —regexp-ignore-case
Π‘ΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· ΡΡΠ΅ΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠ° Π±ΡΠΊΠ².
- —basic-regexp
Π‘ΡΠΈΡΠ°ΠΉΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ Π±Π°Π·ΠΎΠ²ΡΠΌΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ; ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
- -E, —extended-regexp
Π‘ΡΠΈΡΠ°ΠΉΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π²ΠΌΠ΅ΡΡΠΎ Π±Π°Π·ΠΎΠ²ΡΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
- -F, —fixed-strings
Π‘ΡΠΈΡΠ°ΠΉΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ (Π½Π΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠΉΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½ ΠΊΠ°ΠΊ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅).
ΠΠ΅ΡΠ²ΡΠ΅ ΡΠ°Π³ΠΈ Ρ git: clone, add, commit, push | ΠΠ°ΡΠΊΠ° ΠΎ Π΄Π°Π½Π½ΡΡ ΠΎ ΠΠ΅ΠΌΠ»Π΅
Π¦Π΅Π»ΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ
ΠΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅:
- Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° GitHub
-
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ
ΡΠ²ΠΎΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ - ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΠΉΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ git
- ΠΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² GitHub
Π§ΡΠΎ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ
- Π£ΡΠ΅ΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ GitHub
- Π’Π΅ΡΠΌΠΈΠ½Π°Π», Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π·Π°ΠΏΡΡΠ΅Π½ bash, ΠΈ
- git, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΈ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅.
Π‘Π»Π΅Π΄ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π·Π΄Π΅ΡΡ:
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° GitHub
- ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π²ΠΎΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠ²ΠΎΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° GitHub.
- Π ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ
Π½Π΅ΠΌ ΡΠ³Π»Ρ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π·Π½Π°ΡΠΎΠΊ Π·Π½Π°ΠΊΠ°
+
, Π·Π°ΡΠ΅ΠΌ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΠΎΠ²ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ . ΠΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ Π²Π°Ρ ΠΊ ΡΡΡΠ°Π½ΠΈΡΠ΅, Π³Π΄Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π²Π΅ΡΡΠΈ ΠΈΠΌΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ (Π² ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡtest-repo
Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ), ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ README (Ρ ΠΎΡΠΎΡΠ°Ρ ΠΈΠ΄Π΅Ρ!). - Π₯ΠΎΡΠΎΡΠ΅ΠΉ ΠΈΠ΄Π΅Π΅ΠΉ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ
.gitignore
, Π²ΡΠ±ΡΠ°Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ·ΡΠΊΠΎΠ² Π² ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅ΠΌΡΡ ΠΌΠ΅Π½Ρ, Ρ ΠΎΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΡΡΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ. - Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ, ΡΡΠΎΠ±Ρ Π»ΡΠ΄ΠΈ Π·Π½Π°Π»ΠΈ, ΠΌΠΎΠ³ΡΡ Π»ΠΈ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π°Ρ ΠΊΠΎΠ΄ ΠΈ ΠΊΠ°ΠΊ.
- ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ Π²Π²Π΅Π»ΠΈ ΠΈΠΌΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΡΠ²ΠΎΠΉ Π²ΡΠ±ΠΎΡ, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ , ΠΈ Π²Ρ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΡΠ΅ Π½Π° Π½ΠΎΠ²ΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
Git Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅
ΠΠΈΠΆΠ΅ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅ ΡΠ΅ΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² git bash, ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° bash, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅.ΠΡΡΡ 2 ΡΠΈΠΏΠ° ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
ΠΠΎΠΌΠ°Π½Π΄Ρ Bash: ΠΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π² bash / shell. ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²Π°ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ Π²Π°ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ, ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅. (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
ls
,cd
,mkdir
ΠΈ Ρ. Π΄.)ΠΠΎΠΌΠ°Π½Π΄Ρ Git: ΠΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Π΄Π»Ρ git, ΠΈ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ git.Π‘ΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Git Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄ΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Ρ Π²ΡΠ·ΠΎΠ²Π° git (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
git status
,git clone
ΠΈ Ρ. Π.)
ΠΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ
ΠΠ°ΡΠ΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ Π²Π½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈΠ· GitHub Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ. ΠΠ° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° GitHub Π½Π°ΠΆΠΌΠΈΡΠ΅ Π·Π΅Π»Π΅Π½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Ρ Π½Π°Π΄ΠΏΠΈΡΡΡ ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ , Π° Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ HTTPΒ» ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ URL-Π°Π΄ΡΠ΅Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
ΠΠ°ΡΠ΅ΠΌ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ bash ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π° ΠΌΠ΅ΡΡΠΎ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π·Π΄Π΅ΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ bash — cd
(ΡΠΌΠ΅Π½ΠΈΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³).
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Unix, Π΅ΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π² ΠΏΠ°ΠΏΠΊΠ΅ Documents
, Π²Ρ ΠΌΠ΅Π½ΡΠ΅ΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΠ²ΠΎΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅:
git clone https://github.com/URL-TO-REPO-HERE
ΠΠΎΠΌΠ°Π½Π΄Π° git clone
ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ Π²Π°Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈΠ· GitHub Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ.ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git.
git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY
ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ git clone repo-path-here
, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² 'test-repo' ...
ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ: ΠΠΎΠ΄ΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²: 5, Π³ΠΎΡΠΎΠ²ΠΎ.
remote: Π‘ΠΆΠ°ΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²: 100% (4/4), Π³ΠΎΡΠΎΠ²ΠΎ.
ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ: Π²ΡΠ΅Π³ΠΎ 5 (Π΄Π΅Π»ΡΡΠ° 0), ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ 0 (Π΄Π΅Π»ΡΡΠ° 0), ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠ°ΠΊΠ΅Ρ 0
Π Π°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ²: 100% (5/5), Π³ΠΎΡΠΎΠ²ΠΎ.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ... Π³ΠΎΡΠΎΠ²ΠΎ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠΌΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π½ΠΎΠΌΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΎΠ±ΡΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° ΠΈ Ρ. Π., ΠΠΎΠ³ΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°.
Π§ΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²Π°Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ, Π²Π²Π΅Π΄ΠΈΡΠ΅ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ ls
. ΠΠΎΠΌΠ°Π½Π΄Π° ls Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΡΡΠΎ ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ°Π½Π΅Π΅ Π½Π° GitHub.
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ git add
ΠΈ git commit
ΠΠ°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ cd
to c hange d irectories, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
22. ΠΠ½ΡΡΡΠΈ Git:.ΠΠ°ΡΠ°Π»ΠΎΠ³ Git
ΠΠΎΠ»Ρ
- Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ ΠΎ ΡΡΡΡΠΊΡΡΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² Git
.git
01 ΠΠ°ΡΠ°Π»ΠΎΠ³ .git
ΠΠΎΡΠ° ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠ°ΠΏΡΡΠΊ ΠΈΠ· ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° …
ΠΡΠΎΠ±Π΅Π³:
ls -C .git
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
$ ls -C .git COMMIT_EDITMSG MERGE_RR config ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ rr-cache HEAD ORIG_HEAD ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΆΡΡΠ½Π°Π»Ρ refs
ΠΡΠΎ ΠΎΡΠΎΠ±Π°Ρ ΠΏΠ°ΠΏΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΡΠ°Π½ΠΈΡΡΡ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ git.ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³.
02 ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
ΠΡΠΎΠ±Π΅Π³:
ls -C .git / ΠΎΠ±ΡΠ΅ΠΊΡΡ
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
$ ls -C .git / ΠΎΠ±ΡΠ΅ΠΊΡΡ 09 24 28 45 59 6a 77 80 8c 97 af c4 e7 info 11 27 43 56 69 6b 78 84 91 9c b5 e4 fa pack
ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΏΠΎΠΊ, ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· Π΄Π²ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π΅ Π±ΡΠΊΠ²Ρ Ρ ΡΡΠ° SHA1 ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Ρ ΡΠ°Π½ΡΡΠΈΡ ΡΡ Π² git, ΡΠ²Π»ΡΡΡΡΡ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ².
03 ΠΠ°ΠΏΡΠΎΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΡΠΎΠ±Π΅Π³:
ls -C.git / objects /
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
$ ls -C .git / objects / 09 6b74c56bfc6b40e754fc0725b8c70b2038b91e 9fb6f9d3a104feb32fcac22354c4d0e8a182c1
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΏΠ°ΠΏΠΎΠΊ, Π½Π°Π·Π²Π°Π½Π½ΡΡ Π΄Π²ΡΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ. ΠΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ°ΠΉΠ»Ρ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΈΠ· 38 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΡΠΈ ΡΠ°ΠΉΠ»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Ρ ΡΠ°Π½ΡΡΠΈΠ΅ΡΡ Π² git. ΠΠ½ΠΈ ΡΠΆΠ°ΡΡ ΠΈ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π»ΡΡΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Git
04 Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ
ΠΡΠΎΠ±Π΅Π³:
ΠΊΠ°Ρ.git / config
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
$ cat .git / config [core] repositoryformatversion = 0 filemode = true Π³ΠΎΠ»ΡΠΉ = Π»ΠΎΠΆΡ logallrefupdates = ΠΏΡΠ°Π²Π΄Π° ignorecase = true [ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ] name = ΠΠ»Π΅ΠΊΡΠ°Π½Π΄Ρ Π¨Π²Π΅Ρ email = [email protected]
ΠΡΠΎΡ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π² ΡΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ°ΠΉΠ»Π΅ .gitconfig
Π²Π°ΡΠ΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°.
05 ΠΡΠ²ΠΎΠ΄Ρ ΠΈ Π±ΠΈΡΠΊΠΈ
ΠΡΠΎΠ±Π΅Π³:
Π»Ρ.git / refs ls .git / ΡΡΡΠ»ΠΊΠΈ / Π³ΠΎΠ»ΠΎΠ²Ρ ls .git / ΡΡΡΠ»ΠΊΠΈ / ΡΠ΅Π³ΠΈ ΠΊΠΎΡΠΊΠ° .git / refs / tags / v1
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
$ ls .git / refs Π³ΠΎΠ»ΠΎΠ²Ρ ΡΠ΅Π³ΠΈ $ ls .git / ΡΡΡΠ»ΠΊΠΈ / Π³ΠΎΠ»ΠΎΠ²Ρ ΠΌΠ°ΡΡΠ΅Ρ $ ls .git / refs / ΡΠ΅Π³ΠΈ v1 v1-beta $ cat .git / refs / tags / v1 fa3c1411aa09441695a9e645d4371e8d749da1dc
Π€Π°ΠΉΠ»Ρ Π² ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ tags Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π²Π°ΠΌ Π·Π½Π°ΠΊΠΎΠΌΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠ» ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ΅Π³Ρ, ΡΠ°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git tag. ΠΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ — Π½Π΅ ΡΡΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ ΡΠΈΠΊΡΠ°ΡΠΈΡ Ρ ΡΡΠ°, ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½Π°Ρ ΠΊ ΡΠ΅Π³Ρ.
ΠΠ°ΠΏΠΊΠ° Π³ΠΎΠ»ΠΎΠ² ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Π° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ Π΄Π»Ρ ΡΠ΅Π³ΠΎΠ², Π° Π΄Π»Ρ Π²Π΅ΡΠΎΠΊ.ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° Π²Π΅ΡΠΊΠ°, ΠΈ Π²ΡΠ΅, ΡΡΠΎ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ Π² ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅, — ΡΡΠΎ Π²Π΅ΡΠΊΠ° master .
06 ΠΠΠΠΠΠΠΠ ΡΠ°ΠΉΠ»
ΠΡΠΎΠ±Π΅Π³:
cat .git / HEAD
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
$ cat .git / HEAD ΡΡΡΠ»ΠΊΠ°: ΡΡΡΠ»ΠΊΠΈ / Π³Π»Π°Π²Ρ / ΠΌΠ°ΡΡΠ΅Ρ
ΠΡΡΡ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ Π² ΡΠ°ΠΉΠ»Π΅ HEAD. ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π²Π΅ΡΠΊΠ°.
.