π₯ ΠΠ°ΠΊ ΡΠΊΠ°ΡΠ°ΡΡ ΠΊΠΎΠΌΠΈΡ Π² git: ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
Π§ΡΠΎΠ±Ρ ΡΠΊΠ°ΡΠ°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² git, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git checkout Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° - d647d251, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git checkout d647d251
Git ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡ Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΈ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Π±ΡΠ΄ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ Π΄ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠΠ Π‘ΠΠΠ§ΠΠ’Π¬ ΠΠΠΠΠ’ Π GIT
Git β ΡΡΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄Π΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΠΌΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Git.
ΠΠΎΠΌΠΌΠΈΡ Π² Git ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΠ°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΡΠΊΠ°ΡΠ°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
Π§ΡΠΎΠ±Ρ ΡΠΊΠ°ΡΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ Π² Git, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΊΠ°ΠΊ Ρ ΡΡ-ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ SHA-1. Π₯ΡΡ-ΠΊΠΎΠ΄ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΡΡΡΠΎΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Git.
Π¨Π°Π³ 1: ΠΡΠΊΡΡΡΡ Git ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
ΠΠ΅ΡΠ²ΡΠΌ ΡΠ°Π³ΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΊΡΡΡΠΈΠ΅ Git ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΊΠ°ΡΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΏΠ°ΠΏΠΊΡ Ρ Π²Π°ΡΠΈΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ.
cd /path/to/repository
Π¨Π°Π³ 2: ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ
Π§ΡΠΎΠ±Ρ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git checkout Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ ΡΡ-ΠΊΠΎΠ΄Π° ΠΊΠΎΠΌΠΌΠΈΡΠ°.
git checkout <hash>
ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ <hash> Π½Π° ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Ρ ΡΡ-ΠΊΠΎΠ΄ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Git ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡ Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΈ Π²Π°ΠΌ ΡΡΠ°Π½Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΅Π³ΠΎ ΠΊΠΎΠ΄ ΠΈ ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΡΠΈΠΌΠ΅Ρ
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡ Ρ Ρ ΡΡ-ΠΊΠΎΠ΄ΠΎΠΌ abcd1234. Π§ΡΠΎΠ±Ρ ΡΠΊΠ°ΡΠ°ΡΡ ΡΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git checkout abcd1234
Π¨Π°Π³ 3: ΠΡΠΎΠ²Π΅ΡΠΈΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ Π·Π°Π³ΡΡΠ·ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΈ ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Git, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ git log, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΈΠ»ΠΈ git show, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
git log
git show
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ Π·Π°Π³ΡΡΠ·ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Git ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌ "detached HEAD", ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π½Π΅ Π½Π° Π²Π΅ΡΠΊΠ΅, Π° Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅. ΠΡΠ»ΠΈ Π²Ρ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΠ΅ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ ΠΈΡ , ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΡΡ ΡΠ²ΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠΊΠ°ΡΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ Π² Git Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΅Π³ΠΎ Ρ ΡΡ-ΠΊΠΎΠ΄Π°. ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄Π΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ.