π ΠΠ°ΠΊ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΡΡΠ°ΡΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ git: ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ π
Π§ΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΡΡΠ°ΡΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² Git, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git checkout Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
git checkout <Π½ΠΎΠΌΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°>
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ 987abc, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git checkout 987abc
Π’Π΅ΠΌ ΡΠ°ΠΌΡΠΌ Π²Ρ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΡΠ΅ ΠΊ ΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ Π²Π°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ Π±ΡΠ΄Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ Π΄ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΡΡΠ°ΡΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ git
Git - ΡΡΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². Π Git ΠΊΠΎΠΌΠΌΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΠΏΠΎΠ½ΡΡΠΈΠ΅ΠΌ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΡΡΠ°ΡΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² Git.
Π¨Π°Π³ 1: ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ Git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π³Π΄Π΅ Ρ ΡΠ°Π½ΡΡΡΡ Π²Π°ΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΡ.
Π¨Π°Π³ 2: ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log
, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΡΠ²ΠΎΠ΄ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Π²Π°ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Ρ ΠΈΡ
ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ (Ρ
ΡΡΠ°ΠΌΠΈ), ΠΎΠΏΠΈΡΠ°Π½ΠΈΡΠΌΠΈ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ.
git log
ΠΡΠΎΠΊΡΡΡΠΈΡΠ΅ Π²ΡΠ²ΠΎΠ΄ ΠΈ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ (Ρ ΡΡ) ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²Π΅ΡΠ½ΡΡΡΡΡ.
Π¨Π°Π³ 3: ΠΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΠ°ΡΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git checkout
, ΡΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΡΡΠ°ΡΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ COMMIT_HASH
Π½Π° ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ (Ρ
ΡΡ) ΠΊΠΎΠΌΠΌΠΈΡΠ°.
git checkout COMMIT_HASH
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Ρ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΡΠ΅ ΠΊ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Π±ΡΠ΄ΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΎ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
Π¨Π°Π³ 4 (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ): Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠ°ΡΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π²Π΅ΡΠΊΡ.
git branch new_branch_name
ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ new_branch_name
Π½Π° ΠΈΠΌΡ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ.
Π¨Π°Π³ 5: ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ Π½Π° Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git checkout
, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π½ΠΎΠ²ΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π²Π΅ΡΠΊΡ.
git checkout new_branch_name
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌΡ ΡΡΠ°ΡΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠ΅.
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ, ΠΊΠ°ΠΊ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΡΡΠ°ΡΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² Git. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git checkout
ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΡΠ°ΡΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²Π»Π΅ΡΡ Π·Π° ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΡΠ΅ΡΡ Π½Π΅Π΄ΠΎΠ²Π΅Π΄Π΅Π½Π½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ Π±ΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΊΠΈΡ
Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.