πŸ”™ Как Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ Π² 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.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

#7 Π£Ρ€ΠΎΠΊΠΈ Git+GitHub - ΠžΡ‚ΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ

10.1 Git - ΠžΡ‚ΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· revert - ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, revert

5.1 Git - Reset - ЖСсткий reset --hard: ΠΎΡ‚ΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ”— Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Git ΠΊ Visual Studio 2019 Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ: ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΉ Π³Π°ΠΉΠ΄

πŸ”™ Как Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ Π² Git?

πŸ”€ Как ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² git? ΠŸΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ Π³Π°ΠΉΠ΄ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ revert

Как Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Git Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π·Π°ΠΊΠ°Π·