πŸ“‚ КакиС Ρ‚Ρ€ΠΈ состояния ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ для Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Git ΠΏΠΎΠ΄ вСрсионным ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ?

Π’ систСмС контроля вСрсий Git сущСствуСт Ρ‚Ρ€ΠΈ основных состояния Ρ„Π°ΠΉΠ»ΠΎΠ²:

  1. ИзмСнСно (Modified): Π’ этом состоянии Ρ„Π°ΠΉΠ» Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½, Π½ΠΎ измСнСния Π΅Ρ‰Π΅ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² индСкс.
  2. Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΎ (Staged): ПослС внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Ρ‹, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ проиндСксированы ΠΏΠ΅Ρ€Π΅Π΄ фиксациСй. Π’ этом состоянии Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ.
  3. Зафиксировано (Committed): Π’ этом состоянии измСнСния Π² Ρ„Π°ΠΉΠ»Π°Ρ… Π±Ρ‹Π»ΠΈ фиксированы ΠΈ сохранСны Π² локальной Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Git. Π€Π°ΠΉΠ»Ρ‹ Π² этом состоянии ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ бСзопасно вСрсионируСмыми.

# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git status для просмотра состояния Ρ„Π°ΠΉΠ»ΠΎΠ²
git status
    

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

КакиС Ρ‚Ρ€ΠΈ состояния Π΅ΡΡ‚ΡŒ Ρƒ Ρ„Π°ΠΉΠ»ΠΎΠ², находящихся ΠΏΠΎΠ΄ вСрсионным ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ Π² Git

Git - это распрСдСлСнная систСма управлСния вСрсиями, которая позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния Π² исходном ΠΊΠΎΠ΄Π΅. Π’ Git Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚Ρ€ΠΈ основных состояния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ: Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ΅ состояниС (unmodified), ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ΅ состояниС (modified) ΠΈ индСксированноС состояниС (staged).

1. НСизмСнСнноС состояниС (unmodified)

Π€Π°ΠΉΠ» находится Π² Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΌ состоянии, ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ содСрТимоС Π½Π΅ измСнилось с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΈΠ»ΠΈ индСксации. Π’ этом состоянии Git Π½Π΅ рСгистрируСт Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Π΅, ΠΈ ΠΎΠ½ считаСтся Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ.

2. ИзмСнСнноС состояниС (modified)

Π€Π°ΠΉΠ» находится Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΌ состоянии, ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ содСрТимоС Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΈΠ»ΠΈ индСксации. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½, Π½ΠΎ измСнСния Π² Π½Π΅ΠΌ Π΅Ρ‰Π΅ Π½Π΅ ΠΏΡ€ΠΎΡˆΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· процСсс индСксации. Git ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ измСнСния Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git status.

modified: example.txt

3. Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ состояниС (staged)

Π€Π°ΠΉΠ» находится Π² индСксированном состоянии, ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ измСнСния Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² индСкс Git. ИндСкс - это ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ сдСланы Π² Π½ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅. Когда Ρ„Π°ΠΉΠ» находится Π² этом состоянии, Git Π·Π½Π°Π΅Ρ‚ ΠΎ Π΅Π³ΠΎ измСнСниях ΠΈ Π³ΠΎΡ‚ΠΎΠ² ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡ… Π² Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git commit.

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified: example.txt

Для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Ρ„Π°ΠΉΠ»Π° ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ состояния Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π² Git ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

  • git add <file> - добавляСт измСнСния Ρ„Π°ΠΉΠ»Π° Π² индСкс, пСрСводя Π΅Π³ΠΎ Π² индСксированноС состояниС.
  • git restore --staged <file> - удаляСт Ρ„Π°ΠΉΠ» ΠΈΠ· индСкса, возвращая Π΅Π³ΠΎ Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ΅ состояниС.
  • git restore --staged . - удаляСт всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· индСкса, возвращая ΠΈΡ… Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ΅ состояниС.
  • git restore --staged --worktree <file> - отмСняСт измСнСния Ρ„Π°ΠΉΠ»Π°, возвращая Π΅Π³ΠΎ Π² Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ΅ состояниС.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ состояниС Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Git нСзависимо ΠΎΡ‚ вСрсионного контроля ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ Git, Π½ΠΎ ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ»ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ².

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

ΠžΡΠ½ΠΎΠ²Ρ‹ Git: состояния Ρ„Π°ΠΉΠ»ΠΎΠ² (2021)

Как (ΠΈ для Ρ‡Π΅Π³ΠΎ) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ систСму контроля вСрсий git

2.9 Git - ΠžΡΠ½ΠΎΠ²Ρ‹ - Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²

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

Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ VS Code для Java - Π»ΡƒΡ‡ΡˆΠΈΠ΅ совСты ΠΈ руководство

🌿 Π’Π΅Ρ‚ΠΊΠ° Git u : Ρ‡Ρ‚ΠΎ это ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?

⬅️ Как Π² git ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ измСнСния - руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ“‚ КакиС Ρ‚Ρ€ΠΈ состояния ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ для Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Git ΠΏΠΎΠ΄ вСрсионным ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ?

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ git editor? πŸ“ Π£Π·Π½Π°ΠΉΡ‚Π΅ всС ΠΎ функциях ΠΈ возмоТностях git editor!

βš™οΈ Как Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² git: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Π³Π°ΠΉΠ΄ с простыми шагами