π ΠΠ°ΠΊ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΏΡΠΎΡΠ»ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² Git?
git ΠΊΠΎΠΌΠ°Π½Π΄Π° git checkout ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΏΡΠΎΡΠ»ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΡΠΈΠΌΠ΅Ρ:
git checkout <ΠΊΠΎΠΌΠΌΠΈΡ>
ΠΠ΄Π΅ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ
ΡΡΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Π²Π΅ΡΠ½ΡΡΡΡΡ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
git ΠΊΠ°ΠΊ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΏΡΠΎΡΠ»ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ
Git β ΠΌΠΎΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄Π΅. ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Git ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΏΡΠΎΡΠ»ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ.
1. ΠΡΠΎΡΠΌΠΎΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΏΡΠΎΡΠ»ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log
. ΠΠ½Π° Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ, Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Ρ
ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π°Π²ΡΠΎΡ, Π΄Π°ΡΠ° ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
git log
ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ²ΠΎΠ΄Π°:
commit 12a34bc56789de0f1a23b45c67890d12e34f5678
Author: ΠΠΌΡ ΠΠ²ΡΠΎΡΠ° <email@example.com>
Date: ΠΡ Π―Π½Π² 1 00:00:00 2022 +0000
ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
commit 98765d4321fedcba0987zyxwv6543210fedcb
Author: ΠΠΌΡ ΠΠ²ΡΠΎΡΠ° <email@example.com>
Date: ΠΠ½ ΠΠ΅ΠΊ 31 00:00:00 2021 +0000
ΠΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΊΠΎΠ΄Π΅
commit 12345a67890bcdef01234gh56789ij0k1lm2345
Author: ΠΠΌΡ ΠΠ²ΡΠΎΡΠ° <email@example.com>
Date: ΠΡ ΠΠ΅ΠΊ 30 00:00:00 2021 +0000
ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ
2. ΠΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΏΡΠΎΡΠ»ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ
Π§ΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git checkout
Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ
ΡΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ Ρ Ρ
ΡΡΠ΅ΠΌ 98765d4321fedcba0987zyxwv6543210fedcb
, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git checkout 98765d4321fedcba0987zyxwv6543210fedcb
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π° ΠΊΠΎΠ΄ΠΎΠΌ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠ°ΠΌΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅.
3. ΠΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ Π²Π΅ΡΠ½ΡΠ»ΠΈΡΡ ΠΊ ΠΏΡΠΎΡΠ»ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΡΠ°ΠΌΠΎΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git checkout
Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ Ρ
ΡΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ°:
git checkout master
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅Ρ Π²Π°Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° Π²Π΅ΡΠΊΡ master
(ΠΈΠ»ΠΈ Π½Π° Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΡΡ Π²Π΅ΡΠΊΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅). ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π° ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π½Π°Ρ
ΠΎΠ΄ΡΡΠ΅Π³ΠΎΡΡ Π½Π° Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ Π²Π°ΠΌΠΈ Π²Π΅ΡΠΊΠ΅.
4. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π΄Π»Ρ ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git checkout -b
Π²ΠΌΠ΅ΡΡΠ΅ Ρ Ρ
ΡΡΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ°:
git checkout -b new_branch_name 98765d4321fedcba0987zyxwv6543210fedcb
ΠΠ΄Π΅ΡΡ new_branch_name
β ΡΡΠΎ ΠΈΠΌΡ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, Π° 98765d4321fedcba0987zyxwv6543210fedcb
β ΡΡΠΎ Ρ
ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ. ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡΡ Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ Ρ ΠΊΠΎΠ΄ΠΎΠΌ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ.
Π Π΅Π·ΡΠΌΠ΅
Git ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΏΡΠΎΡΠ»ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌ, ΡΡΠΎΠ±Ρ ΠΈΠ·ΡΡΠ°ΡΡ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠ΄. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git checkout
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²Π΅ΡΠΊΠΈ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ ΡΠΌΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ Git.