Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

git add — Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ git add ., add -A, add -u ΠΈ add *?

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ. Π‘ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ обозначСния, Ρ‡Ρ‚ΠΎ ΠΈ Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git status -s:

M — (modified) отслСТиваСмыС, измСнились с ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Π΅Ρ‰Π΅ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹
D — (deleted) отслСТиваСмыС, ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ послС ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Π΅Ρ‰Π΅ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹
? — (untracked) нСотслСТиваСмыС, Π½Π΅ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Ρ‹ ΠΊ добавлСнию
! — (ignored) нСотслСТиваСмыС, Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Ρ‹ ΠΊ добавлСнию (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² .gitignore)

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ Β β€”Β Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ . β€” это ΠΏΡƒΡ‚ΡŒ (Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚), Π° всё ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ β€” ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. Π’Π΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π° ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΠΈΡ… сочСтания.

ΠŸΡƒΡ‚ΡŒ . ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, Ρ‚.Π΅. Ρ‚Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π»Π° Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°.

Начиная с Git вСрсии 2.0, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ add ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π² соотвСтствиС с ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ commit ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΌΠ°Π½Π΄.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ . ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π½Π΅ всю Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ (working tree), Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΡƒΡ‚ΡŒ Π² этой области.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли Π²Ρ‹ выполняСтС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ add Π½Π΅ Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Ρ‚ΠΎΠΉ, Π³Π΄Π΅ Π»Π΅ΠΆΠΈΡ‚ .git/), Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ содСрТимоС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ.

Π§Ρ‚ΠΎΠ±Ρ‹ явным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π΄Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Git Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со всСй Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ :/:

# Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ ΠΈΠ· любой Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, добавляСт всю Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ
git add :/
# ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ
git add :/path/to/files/
# Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ
cd test
git add .
# эквивалСнтно этому:
git add :/test
# ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ
cd test
git add ./path
# эквивалСнтно этому:
git add :/test/path

Если Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ добавляСмым Ρ„Π°ΠΉΠ»Π°ΠΌ, Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²ΠΎ всСй Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области, Π° git add ΠΈ git add --no-all просто Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚.


git add . 
git add '*'

Git вСрсии 2.0+ просматриваСт Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ ΠΈ добавляСт Ρ„Π°ΠΉΠ»Ρ‹ M, D, ?.
Git вСрсии 1.Ρ… просматриваСт всю Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΈ добавляСт Ρ„Π°ΠΉΠ»Ρ‹ M, D.

Если '*' даСтся Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…, Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Git ΠΈ это эквивалСнтно

git add .. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅: ΠΈΠ·-ΠΏΠΎΠ΄ cmd.exe git add '*' Π½Π΅ сработаСт, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ git add . ΠΈΠ»ΠΈ git add *.


git add --no-all :/
git add --ignore-removal :/

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² Git v. 2.0+ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ git add . Π² Git v. 1.x, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ добавляСт ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ ΠΈ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ M, ? Π²ΠΎ всСй Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области. Для этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ.

git add --no-all . #добавляСт ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ ΠΈ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² *Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ*
git add --no-all path2/ path3/ # добавляСт ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ ΠΈ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² путях *ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ*

git add -u
git add -update

Git обновляСт (update) статус ΡƒΠΆΠ΅ отслСТиваСмых Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‚. Π΅. M, D.


git add -A
git add --all
git add --no-ignore-removal

Π­Ρ‚ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ эквивалСнтны ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ M, D, ?.

Π‘Π΅Π· Ρ‚ΠΎΡ‡ΠΊΠΈ β€” ΠΈΠ· всСй Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области:

git add -A = git add -A :/ = git add :/ + git add -u

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΡƒΡ‚ΡŒ:

git add -A . = git add . + git add -u .


git add *

Π­Ρ‚ΠΎΡ‚ синтаксис Π»ΡƒΡ‡ΡˆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈ Π²ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ:

ΠŸΡ€ΠΈ этой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ shell (ΠΈΠ»ΠΈ bash ΠΈΠ»ΠΈ другая командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°) просматриваСт Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΈ ΠΎΡ‚Π΄Π°Π΅Ρ‚ Git список Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅. БистСма сработаСт Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ всС Π½Π΅-скрытыС Ρ„Π°ΠΉΠ»Ρ‹, находящиСся Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΡ€Π½Π΅. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° этот список, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² echo *. ( Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅: ΠΈΠ·-ΠΏΠΎΠ΄ cmd.exe git add * Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ git add '*' Π½Π° shell/bash. )

ΠŸΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ (здСсь ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ сразу нСсколько ΠΏΡ€ΠΈΡ‡ΠΈΠ½ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ add *

):

  1. Добавятся Π½Π΅ измСнившиСся с ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Ρ„Π°ΠΉΠ»Ρ‹. Git спокойно ΠΈ ΠΌΠΎΠ»Ρ‡Π° «ΠΏΡ€ΠΎΠΆΡƒΠ΅Ρ‚» этот запрос, Π½Π΅ Π²Π»ΠΈΡΡŽΡ‰ΠΈΠΉ Π½Π° индСкс.
  2. Π‘ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² индСкс Ρ„Π°ΠΉΠ»Ρ‹ Π² Π½Π΅-скрытых ΠΏΠ°ΠΏΠΊΠ°Ρ… M,?.
  3. НС Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Π² скрытых ΠΏΠ°ΠΏΠΊΠ°Ρ…. .M, .?
  4. НС Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ D.
  5. Если Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Ρ…Π²Π°Ρ‡Π΅Π½Ρ‹ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ !, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΈΡ… Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ. Git ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ всю ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ сообщСниС ΠΎΠ± ошибкС.

Π Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² (-u, -A, --no-all) Π½ΡƒΠΆΠ½ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ„Π°ΠΉΠ»ΠΎΠ². ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ --no-all . Π±Ρ‹Π»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ староС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅

add . Π² вСрсиях 1.Ρ….

ΠŸΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ нСсмотря Π½Π° это, Git Π½Π΅ позволяСт Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ (см. ΡΠ²ΠΎΠ΄Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π² Π½Π°Ρ‡Π°Π»Π΅).

Вонкости Π² использовании . ΠΈ :/ Π½ΡƒΠΆΠ½Ρ‹ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΊ Π½Π° всю Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΈ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΡƒ.

ΠžΡΠ½ΠΎΠ²Ρ‹ Git Π·Π° 5Β ΠΌΠΈΠ½ΡƒΡ‚

По ΠΌΠ΅Ρ€Π΅ своСго становлСния Π² Ρ€ΠΎΠ»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ большая Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ вСдСтся Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅. И ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π½ΡƒΠΆΠ½Π° систСма контроля вСрсий, которая ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ измСнСниями Π² ΠΊΠΎΠ΄Π΅, сдСланными Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ.

Gitβ€Šβ€”β€ŠΡΡ‚ΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· самых популярных систСм контроля вСрсий. И, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΠ½Π° ΠΏΠΎΠ²Π΅Ρ€Π³Π°Π΅Ρ‚ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π² ΡˆΠΎΠΊβ€Šβ€”β€ŠΠΏΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π½Π° слово, сам ΠΏΡ€ΠΎΡˆΠ΅Π» Ρ‡Π΅Ρ€Π΅Π· это. К слову ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, я побаивался Git Π½Π° протяТСнии Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π»Π΅Ρ‚.

Если Π²Ρ‹ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈ Π½Π΅ Π΄Ρ€ΠΎΠΆΠΈΡ‚Π΅ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ упоминания Git, Ρ‚ΠΎ смСло Π·Π°ΠΊΡ€Ρ‹Π²Π°ΠΉΡ‚Π΅ эту ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΡ‚Ρ€ΡƒΠ΄Π½Π΅Π΅. Но Ссли Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² Git ΠΈΠ»ΠΈ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² своих знаниях, Ρ‚ΠΎ посвятитС ΠΏΠ°Ρ€Ρƒ ΠΌΠΈΠ½ΡƒΡ‚ своСго Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ основных, Π½ΠΎ вСсьма Π²Π°ΠΆΠ½Ρ‹Ρ…, аспСктов Git.

Π’ΠΎΡ‚ ΠΎ Ρ‡Π΅ΠΌ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ:

  1. Git clone.
  2. Git checkout.
  3. Git pull.
  4. Git add ΠΈ commit.
  5. Git stash ΠΈ merge.
  6. Git push.

Git clone

ВсСгда ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Π·Π°ΠΊΠ°Ρ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠΏΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² рСпозитория Π½Π° свой Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. БущСствуСт мноТСство способов клонирования рСпозитория. Однако я объясню Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

Допустим, Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ со ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π°, прСдставлСнного Π²Ρ‹ΡˆΠ΅. Для Π½Π°Ρ‡Π°Π»Π° скопируйтС ссылку клонирования (см. Π²Ρ‹ΡˆΠ΅). Π—Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ Ρ‡Π΅Ρ€Π΅Π· cd ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, ΠΊΡƒΠ΄Π° Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„Π°ΠΉΠ»Ρ‹. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ master, Ρ‚ΠΎ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΠΉΡ‚Π΅ git clone ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ссылку, ΠΊΠ°ΠΊ это ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

git clone https://github.com/JamesOkunlade/old-apple.git

Для клонирования ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ рСпозитория сдСлайтС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

git clone https://github. com/JamesOkunlade/old-apple.git -b branch-name

Git checkout

Π›ΡƒΡ‡ΡˆΠ΅ всСго Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² master, Π° ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ всС Ρ„ΠΈΡ‡ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ трСбованиям ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, смСло сливайтС ΠΈΡ… с Π²Π΅Ρ‚ΠΊΠΎΠΉ master.

Π’ процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ рСпозитория. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.

Если Π²Π΅Ρ‚ΠΊΠ° ΡƒΠΆΠ΅ создана:

git checkout branch-name

Если Π²Ρ‹ создаСтС Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΎΠΏΡ†ΠΈΠΉ:

git checkout -b branch-name

Git pull

Π’Π°ΡˆΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ»ΠΈ ΠΊΠΎΠ»Π»Π΅Π³Π°-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΠΈ рСпозитория. И ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΠ΅Ρ€Π΅Π΄ написаниСм ΠΊΠΎΠ΄Π° Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ эти измСнСния Π² Π²Π΅Ρ‚ΠΊΡƒ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π²Π΅Ρ‚ΠΊΡƒ Ρ‡Π΅Ρ€Π΅Π· checkout ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git pull. ПослСдниС измСнСния Π±ΡƒΠ΄ΡƒΡ‚ Π²Π»ΠΈΡ‚Ρ‹ Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

Git add ΠΈΒ commit

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ add ΠΈ commit ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда Π½Π΅Ρ€Π°Π·Π»ΡƒΡ‡Π½Ρ‹. Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°Ρ…Π²Π°Ρ‚ ΠΈ сохранСниС Π΄Π°Π½Π½Ρ‹Ρ…. Π’Ρ‹ Π½Π΅ смоТСтС Π½ΠΈΡ‡Π΅Π³ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ, ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°Ρ…Π²Π°Ρ‚ΠΈΡ‚Π΅ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠΎΠΌΠ°Π½Π΄Π° add всСгда ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΠ΅Ρ‚commit. Π‘ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ add Π²Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ трСбуСтся Π·Π°Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ состоянии, Π° commitсохраняСт Π΅Π³ΠΎ копию.

Для Π·Π°Ρ…Π²Π°Ρ‚Π° всСх Ρ„Π°ΠΉΠ»ΠΎΠ² (ΠΊΡ€ΠΎΠΌΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈΠ·git ignore) понадобится git add. Π—Π°Ρ…Π²Π°Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ взятого Ρ„Π°ΠΉΠ»Π° (ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, index.html) дСлаСтся Ρ‡Π΅Ρ€Π΅Π· git add index.html.

ПослС создания снимков рСпозитория ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π­Ρ‚ΠΎ дСлаСтся Ρ‡Π΅Ρ€Π΅Π· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

git commit -m β€˜commit message’

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ½ΠΈΡ‚ΡŒ спСцифику сохраняСмых снимков. НапримСр:

git add index.html

git commit -m β€˜ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ опции’

Π”Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€&&:

git add index. html && git commit -m β€˜ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ html структуры футСра’

Git stash ΠΈΒ merge

git stash сохранит всС измСнСния Π²Π΅Ρ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΆΠ΄Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ ΠΈ Π²ΠΎΠ»ΡŒΠ΅Ρ‚ копию своих ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π²Π΅Ρ‚ΠΊΡƒ, ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Ρ‚ΠΎΠΉ ΠΆΠ΅ Π²Π΅Ρ‚ΠΊΠΎΠΉ. Git всячСски это привСтствуСт. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ просто Π²Π»ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ измСнСния Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π½ΠΎ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ слияния с Π²Π΅Ρ‚ΠΊΠΎΠΉ, Ρ‚ΠΎ просто сохранитС эти измСнСния Ρ‡Π΅Ρ€Π΅Π·stash. git stash сохранит копию этих ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· список git stash.

git merge – это ΠΊΠΎΠΌΠ°Π½Π΄Π°, которая сливаСт Π΄Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… снимка рСпозитория. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ»ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ снимки ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ Π²Π΅Ρ‚Π²ΠΈ, сдСланныС Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ. Π›ΠΈΠ±ΠΎ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ снимки Ρ€Π°Π·Π½Ρ‹Ρ… Π²Π΅Ρ‚ΠΎΠΊ.

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π² Π²Π΅Ρ‚ΠΊΡƒ master ΠΊΠΎΠΌΠ°Π½Π΄Π° git merge сливаСт Π²Π΅Ρ‚ΠΊΡƒ dev с master ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.

Git push

По Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π²Ρ‹ сохраняСтС снимки Π² Google Π€ΠΎΡ‚ΠΎ, ΠΈ ΠΈΡ… видят Π΄Ρ€ΡƒΠ³ΠΈΠ΅ люди, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ доступ, git push отправляСт Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° сСрвСр, доступный Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ.

git push -u origin branch-name

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ James Okunlade: The essentials of Git explained in five minutes

Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

Π Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс | Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Git

Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ для доступа ΠΊ 15+ бСсплатным курсам ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ с Ρ‚Ρ€Π΅Π½Π°ΠΆΠ΅Ρ€ΠΎΠΌ

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ Π² Π΄Π΅Ρ‚Π°Π»ΠΈ, ΠΏΡ€ΠΎΠΉΠ΄Π΅ΠΌ повСрхностно вСсь ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚ создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Git Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° отслСТивания ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π—Π°Ρ‚Π΅ΠΌ, Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡƒΡ€ΠΎΠΊΠ°Ρ… ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΏΡ€ΠΎ всС этапы. Π’ процСссС ΠΈΠ·ΡƒΡ‡ΠΈΠΌ большоС количСство Π½ΠΎΠ²Ρ‹Ρ… Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ² ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½Ρ‹ для понимания Ρ€Π°Π±ΠΎΡ‚Ρ‹ git.

Git ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Ρ‹ ΠΏΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий. Для этого Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΉΡ‚ΠΈ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

git init. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½ΠΎΠ²Ρ‹ΠΉ, Ρ‚Π°ΠΊ ΠΈ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ. ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΡ‚ этого Π½Π΅ помСняСтся.

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚
mkdir hexlet-git
# ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ
cd hexlet-git
# ВыполняСм ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ
git init
Initialized empty Git repository in /private/tmp/hexlet-git/.git/

Команда git init создаСт Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ β€” Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ .git, которая содСрТит всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Git-Ρ„Π°ΠΉΠ»Ρ‹.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git status ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ статус рСпозитория:

git status
On branch main
No commits yet
nothing to commit (create/copy files and use "git add" to track)

Π’ этом Π²Ρ‹Π²ΠΎΠ΄Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ пустой (No commits yet) ΠΈ Π² Π½Π΅Π³ΠΎ Π½Π΅Ρ‡Π΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅Ρ‚ Π½ΠΎΠ²Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ²:

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» README.md со строкой тСкста
echo 'Hello, Hexlet!' > README.md
echo 'Haskell Curry' > PEOPLE.md

Π’Π΅ΠΏΠ΅Ρ€ΡŒ снова смотрим Π½Π° статус:

git status
# Π§Π°ΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Π° ΡƒΠ±Ρ€Π°Π½Π°
Untracked files:
  (use "git add <file>. .." to include in what will be committed)
    PEOPLE.md
    README.md

Git ΡƒΠ²ΠΈΠ΄Π΅Π», Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ появились Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΠΌΡƒ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ извСстно. Они ΠΏΠΎΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ

нСотслСТиваСмыС (untracked files). Git Π½Π΅ слСдит Π·Π° измСнСниями Π² Ρ‚Π°ΠΊΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ происходит Π² Π΄Π²Π° шага. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом выполняСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² git add <ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ Ρ„Π°ΠΉΠ»Π°>:

# Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°
git add README.md

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ:

git status
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
    new file:   README.md
Untracked files:
  (use "git add <file>..." to include in what will be committed)
    PEOPLE.md

Π€Π°ΠΉΠ» README.md Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ находится Π² состоянии Β«ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚ΡƒΒ» ΠΈΠ»ΠΈ, Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² индСкс. Под ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ понимаСтся ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° Git Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» навсСгда ΠΈ слСдит Π·Π° всСми ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ измСнСниями.

ΠšΠΎΠΌΠΌΠΈΡ‚ β€” это опСрация, которая Π±Π΅Ρ€Π΅Ρ‚ всС ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ измСнСния (ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ любоС количСство Ρ„Π°ΠΉΠ»ΠΎΠ²) ΠΈ отправляСт ΠΈΡ… Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅. Π’ΠΎΡ‚, ΠΊΠ°ΠΊ ΠΎΠ½ выполняСтся:

git commit -m 'add README.md'
[main (root-commit) 3c5d976] add README.md
1 file changed, 1 insertion(+)
create mode 100644 README.md

Π€Π»Π°Π³ -m ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ message, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ описаниС ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. ΠšΠΎΠΌΠΌΠΈΡ‚ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ, Π½ΠΎ Ρ‚ΠΎΠ³Π΄Π° откроСтся Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ввСсти описаниС ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. ΠœΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ осмыслСнныС описания β€” это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Ρ‚ΠΎΠ½. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ соглашСния ΠΏΠΎ имСнованию ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°Ρ… ΠΊ ΡƒΡ€ΠΎΠΊΡƒ.

ΠœΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ вопрос: Π·Π°Ρ‡Π΅ΠΌ Ρ‚Π°ΠΊ слоТно, Π·Π°Ρ‡Π΅ΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ΅Π½ индСкс (ΠΊΡƒΠ΄Π° ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Ρ„Π°ΠΉΠ»Ρ‹ послС git add), ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ нСльзя Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ всС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ сразу Π² ΠΊΠΎΠΌΠΌΠΈΡ‚? Как Π½ΠΈ странно, Ρ‚Π°ΠΊΠΎΠΉ процСсс создан ΠΊΠ°ΠΊ Ρ€Π°Π· для удобства программистов. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²ΠΎ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ². Но это Π½Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ всС эти измСнСния Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ‚.

Π‘ΠΎ смысловой Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния, ΠΊΠΎΠΌΠΌΠΈΡ‚ β€” это ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ логичСски Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π•Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ малСньким, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, исправлСниСм ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ большим, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π“Π»Π°Π²Π½ΠΎΠ΅ Π² ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ β€” Π΅Π³ΠΎ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΡΡ‚ΡŒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€ΠΎΠ²Π½ΠΎ ΠΎΠ΄Π½Ρƒ Π·Π°Π΄Π°Ρ‡Ρƒ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ„Π°ΠΉΠ» README.md находится Π²Π½ΡƒΡ‚Ρ€ΠΈ рСпозитория. Π£Π±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² этом ΠΌΠΎΠΆΠ½ΠΎ, запустив ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git status:

git status
Untracked files:
  (use "git add <file>..." to include in what will be committed)
    PEOPLE.md

Команда git status Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ Π½Π΅ содСрТат ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠŸΡ€ΠΈ этом сам Ρ„Π°ΠΉΠ» README.md находится Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ hexlet-git.


Π‘Π°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°
  1. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ всС шаги ΠΈΠ· ΡƒΡ€ΠΎΠΊΠ°
  2. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ„Π°ΠΉΠ» PEOPLE.md Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. ПослС добавлСния ΠΊΠΎΠΌΠ°Π½Π΄Π° git status ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄:

    git status
    On branch main
    nothing to commit, working tree clean
    

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹
  1. Git Cheatsheet
  2. БоглашСниС ΠΎΠ± ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²
  3. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git?

Π’Π°ΠΌ отвСтят ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π₯СкслСта ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ студСнты.

Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ | Atlassian Git Tutorial

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² Git ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… систСмах управлСния вСрсиями концСпция «сохранСния» прСдставляСт собой Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ½ΠΊΠΈΠΉ процСсс, Ρ‡Π΅ΠΌ сохранСниС Π² тСкстовом процСссорС ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… прилоТСниях для рСдактирования Ρ„Π°ΠΉΠ»ΠΎΠ². Π’Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ «сохранСниС» являСтся синонимом Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° Git «фиксация». ΠšΠΎΠΌΠΌΠΈΡ‚ β€” это Git-эквивалСнт «сохранСния». Π’Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠ΅ сохранСниС слСдуСт Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для пСрСзаписи ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ записи Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹, Git commit β€” это опСрация, которая воздСйствуСт Π½Π° Π½Π°Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ².

Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Git ΠΈ SVN β€” это Ρ‚ΠΎΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉ процСсс. SVN Commits ΠΈΠ»ΠΈ Β«check-inΒ» β€” это ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Π½ΡƒΡŽ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ Π½Π° Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ сСрвСр. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ для фиксации SVN трСбуСтся доступ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Β«ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒΒ» измСнСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠšΠΎΠΌΠΌΠΈΡ‚Ρ‹ Git ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ локально, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΈ нСобходимости ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git push -u origin main . Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ этими двумя ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Git β€” это модСль распрСдСлСнного прилоТСния, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ SVN β€” это цСнтрализованная модСль. РаспрСдСлСнныС прилоТСния, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ Π½ΠΈΡ… Π½Π΅Ρ‚ Π΅Π΄ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΡ‚ΠΊΠ°Π·Π°, ΠΊΠ°ΠΊ Ρƒ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ сСрвСра.

Git ΠΈΠΌΠ΅Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ сохранСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся Β«Π·Π°Π½Π°Ρ‡ΠΊΠ°Β». Π’Π°ΠΉΠ½ΠΈΠΊ β€” это врСмСнная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ хранСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ фиксации. Π’Π°ΠΉΠ½ΠΈΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ, ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π², ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности использования. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС, посСтитС страницу git stash .

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π» ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ. Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ сохранСниС Git ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² любом ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌ содСрТимом. Git ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² настройки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ списком игнорирования. Git ignore configure Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ обсуТдаСтся Π² git ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ  страницу.

Π³ΠΈΡ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

Команда git add добавляСт ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ. Он сообщаСт Git, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ обновлСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ. Однако git add Π½Π° самом Π΄Π΅Π»Π΅ Π½Π΅ ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ сущСствСнного влияния Π½Π° Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ β€” измСнСния фактичСски Π½Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ, ΠΏΠΎΠΊΠ° Π²Ρ‹ Π½Π΅ запуститС git commit .

Π’ сочСтании с этими ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π²Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ потрСбуСтся git status для просмотра состояния Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ области.

Как это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ git add ΠΈ git commit ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ основной Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс Git. Π­Ρ‚ΠΎ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Git, нСзависимо ΠΎΡ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈ совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π­Ρ‚ΠΎ срСдства для записи вСрсий ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ рСпозитория.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° вращаСтся Π²ΠΎΠΊΡ€ΡƒΠ³ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ шаблона рСдактирования/стадии/фиксации. Π‘Π½Π°Ρ‡Π°Π»Π° Π²Ρ‹ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ свои Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Когда Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ копию Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π²Ρ‹ вноситС измСнСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ git Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ . ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½Ρ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΌ снимком, Π²Ρ‹ фиксируСтС Π΅Π³ΠΎ Π² истории ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ git commit . Команда git reset ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ фиксации ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ снимка.

Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ git add ΠΈ git commit Ρ‚Ρ€Π΅Ρ‚ΡŒΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° git push Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° для ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ совмСстного Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ процСсса Git. git push ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ зафиксированных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ для совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π­Ρ‚ΠΎ позволяСт Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ‡Π»Π΅Π½Π°ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π½Π°Π±ΠΎΡ€Ρƒ сохранСнных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

ΠšΠΎΠΌΠ°Π½Π΄Ρƒ git add Π½Π΅ слСдуСт ΠΏΡƒΡ‚Π°Ρ‚ΡŒ с svn add , которая добавляСт Ρ„Π°ΠΉΠ» Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. ВмСсто этого git add Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Π±ΠΎΠ»Π΅Π΅ абстрактном ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ git add Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ измСняСтС Ρ„Π°ΠΉΠ», Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ svn add Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ излишним, Π½ΠΎ этот Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠŸΠ»ΠΎΡ‰Π°Π΄ΠΊΠ° для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ

Основная функция ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git add β€” ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ³Π°Ρ‚ΡŒ ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΠ΅ измСнСния Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ git staging . ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ β€” ΠΎΠ΄Π½Π° ΠΈΠ· самых ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Git, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с Π½Π΅ΠΉ, Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с SVN (ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ с Mercurial). Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎΠ± этом ΠΊΠ°ΠΊ ΠΎ Π±ΡƒΡ„Π΅Ρ€Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ ΠΈ историСй ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ считаСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Β«Ρ‚Ρ€Π΅Ρ… Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π²Β» Git, наряду с Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ ΠΈ историСй ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ сдСлали с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСй фиксации, этап позволяСт ΡΠ³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ связанныС измСнСния Π² узкоспСциализированныС снимки, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ фактичСски зафиксированы Π² истории ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π½ΠΎΡΠΈΡ‚ΡŒ всСвозмоТныС измСнСния Π² нСсвязанныС Ρ„Π°ΠΉΠ»Ρ‹, Π° Π·Π°Ρ‚Π΅ΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ ΠΈΡ… Π½Π° логичСскиС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, добавляя связанныС измСнСния Π½Π° сцСну ΠΈ коммитя ΠΈΡ… ΠΏΠΎ частям. Как ΠΈ Π² любой систСмС контроля вСрсий, Π²Π°ΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ошибки ΠΈ ΠΎΡ‚ΠΌΠ΅Π½ΡΡ‚ΡŒ измСнСния с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ влияниСм Π½Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠžΠ±Ρ‰ΠΈΠ΅ ΠΎΠΏΡ†ΠΈΠΈ

 git add  

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΡŒΡ‚Π΅ всС измСнСния Π² для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

 git add  

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ всС измСнСния Π² для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

 git add -p 

ΠΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ сСанс, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ части Ρ„Π°ΠΉΠ»Π° для добавлСния ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ фиксации. Π­Ρ‚ΠΎ прСдставит Π²Π°ΠΌ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ запросит ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ y для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ Ρ‡Π°Π½ΠΊΠ°, n для игнорирования Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°, s для раздСлСния Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹, e для рСдактирования Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΈ q для Π²Ρ‹Ρ…ΠΎΠ΄Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Когда Π²Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, git add выполняСт Ρ‚Ρƒ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎ ΠΈ svn import . Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

 gitΒ addΒ . 
gitΒ commit

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ запуститС свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, ΡƒΠΊΠ°Π·Π°Π² ΠΏΡƒΡ‚ΡŒ ΠΊ git add :

 git add hello.py 
git commit

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для записи ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹. ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, Git Π½Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ измСнСния Π² Π½ΠΎΠ²Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… ΠΈ измСнСния Π² Ρ„Π°ΠΉΠ»Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

РСзюмС

Π’ ΠΎΠ±Π·ΠΎΡ€Π΅ git add β€” это пСрвая ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, которая прСдписываСт Git Β«ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒΒ» ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ снимок Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² истории ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ². ΠŸΡ€ΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ использовании git add Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ³Π°Ρ‚ΡŒ ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΠ΅ измСнСния ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ. Команда git status Β ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния рСпозитория ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для подтвСрТдСния продвиТСния git add . Команда git reset ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ git add . Π—Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π° git commit ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для фиксации ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ снимка ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π² истории фиксации Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π².

Git β€” git-add ДокумСнтация

ИМЯ

git-add — Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ содСрТимоС Ρ„Π°ΠΉΠ»Π° Π² индСкс

ΠžΠ‘Π—ΠžΠ 

  git add  [--verbose | -v] [--ΠΏΡ€ΠΎΠ±Π½Ρ‹ΠΉ | -n] [--сила | -f] [--ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ | -i] [--ΠΏΠ°Ρ‚Ρ‡ | -ΠΏ]
[--Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ | -e] [--[no-]всС | --[no-]ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ-ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ | [--ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ | -u]] [--sparse]
[--Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ | -N] [--refresh] [--ignore-errors] [--ignore-missing] [--renormalize]
[--chmod=(+|-)x] [--pathspec-from-file=<Ρ„Π°ΠΉΠ»> [--pathspec-file-nul]]
[--] […​] 

ΠžΠŸΠ˜Π‘ΠΠΠ˜Π•

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° обновляСт индСкс, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ содСрТимоС, Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ΅ Π² Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ Π΄Π΅Ρ€Π΅Π²ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ содСрТимоС для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ добавляСт Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ содСрТимоС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡƒΡ‚Π΅ΠΉ Π² Ρ†Π΅Π»ΠΎΠΌ, Π½ΠΎ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для добавлСния ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсСнных Π² Ρ„Π°ΠΉΠ»Ρ‹ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Π΄Π΅Ρ€Π΅Π²Π°, ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ большС Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ Π΄Π΅Ρ€Π΅Π²Π΅.

«ИндСкс» содСрТит ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ снимок содСрТимого Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Π΄Π΅Ρ€Π΅Π²Π°, ΠΈ ΠΎΠ½ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ снимок принимаСтся Π² качСствС содСрТимого ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ послС внСсСния Π»ΡŽΠ±Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄ запуском ΠΊΠΎΠΌΠ°Π½Π΄Π° фиксации, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для добавлСния Π»ΡŽΠ±Ρ‹Ρ… Π½ΠΎΠ²Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² index.

Π­Ρ‚Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ нСсколько Ρ€Π°Π· ΠΏΠ΅Ρ€Π΅Π΄ фиксациСй. Π­Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ добавляСт содСрТимоС ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°(ΠΎΠ²) Π²ΠΎ врСмя ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ добавлСния Π±Π΅ΠΆΠ°Ρ‚ΡŒ; Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ измСнСния Π±Ρ‹Π»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ, Ρ‚ΠΎ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ git add Π΅Ρ‰Π΅ Ρ€Π°Π·, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π² индСкс.

Команда git status ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для получСния сводки ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

Команда git add ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π΅ добавляСт ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. Если Π΅ΡΡ‚ΡŒ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π±Ρ‹Π»ΠΈ явно ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, git add Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ ошибкой со списком ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, достигнутыС рСкурсия ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΈΠ»ΠΈ подстановка ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ², выполняСмая Git (Ρ†ΠΈΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ globs ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ) Π±ΡƒΠ΄ΡƒΡ‚ ΠΌΠΎΠ»Ρ‡Π° ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ. Команда git add ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для добавлСния ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ -f (ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ).

Π‘ΠΌ. git-commit[1] для Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… способов добавлСния ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π² ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ.

ОПЦИИ

…​

Π€Π°ΠΉΠ»Ρ‹ для добавлСния содСрТимого. Fileglobs (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, *.c ) ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π°Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ всС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹. Π’Π°ΠΊΠΆΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ имя ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, dir для добавлСния dir/file1 ΠΈ dir/file2 ) ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ для обновлСния индСкса Π΄ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π² Ρ†Π΅Π»ΠΎΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ dir Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„Π°ΠΉΠ» dir/file1 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ Π΄Π΅Ρ€Π΅Π²Π΅, Ρ„Π°ΠΉΠ» ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³/Ρ„Π°ΠΉΠ»2 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π² Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ Π΄Π΅Ρ€Π΅Π²ΠΎ, Π½ΠΎ ΠΈ Ρ„Π°ΠΉΠ» dir/file3 ΡƒΠ΄Π°Π»Π΅Π½ ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ Π΄Π΅Ρ€Π΅Π²ΠΎ). ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ старыС вСрсии Git использовали ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹; ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ --no-all , Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π½ΠΎ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ синтаксисС см. Π² записи pathspec . Π² гитглоссарии[7].

-Π½
— ΠΏΡ€ΠΎΠ±Π½Ρ‹ΠΉ запуск

На самом Π΄Π΅Π»Π΅ Π½Π΅ добавляйтС Ρ„Π°ΠΉΠ»Ρ‹, просто ΠΏΠΎΠΊΠ°ΠΆΠΈΡ‚Π΅, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π»ΠΈ ΠΎΠ½ΠΈ ΠΈ/ΠΈΠ»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ.

-Π²
—ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ

Π‘ΡƒΠ΄ΡŒΡ‚Π΅ многословны.

-Ρ„
—сила

Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

—Ρ€Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½Ρ‹ΠΉ

Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ записСй индСкса Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ конуса Ρ€Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ git add отказываСтся ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ записи индСкса, ΠΏΡƒΡ‚ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² конус Ρ€Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½ΠΎΠΉ кассы, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ эти Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° Π±Π΅Π· прСдупрСТдСния. Π’ΠΈΠ΄Π΅Ρ‚ΡŒ git-sparse-checkout[1] для Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

-я
—ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ

Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ³ΠΎ содСрТимого Π² Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ Π΄Π΅Ρ€Π΅Π²ΠΎ индСкс. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΡƒΡ‚ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдоставлСны для ограничСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΊ подмноТСству Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Π΄Π΅Ρ€Π΅Π²Π°. Π‘ΠΌ. Β«Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌΒ» для получСния ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

-Ρ€
—ΠΏΠ°Ρ‚Ρ‡

Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ кусков исправлСния ΠΌΠ΅ΠΆΠ΄Ρƒ индСксом ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… Π² индСкс. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ΅ содСрТимоС Π² индСкс.

Π­Ρ‚ΠΎ эффСктивно запускаСт add --interactive , Π½ΠΎ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ΅ мСню ΠΈ сразу ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Π΅ patch . ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌΒ».

-Π΅
—Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ сравнСниС с индСксом Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΈ Π΄Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ. ПослС закрытия Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΎΡ‚ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Ρ…Π°Π½ΠΊΠΎΠ² ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ‚Ρ‡ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ index.

ЦСлью этой ΠΎΠΏΡ†ΠΈΠΈ являСтся Π²Ρ‹Π±ΠΎΡ€ строк ΠΏΠ°Ρ‚Ρ‡Π° для ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ содСрТимоС строк для постановки. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ быстрСС ΠΈ Π³ΠΈΠ±Ρ‡Π΅, Ρ‡Π΅ΠΌ использованиС ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ сСлСктора Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ². Однако Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΡƒΡ‚Π°Ρ‚ΡŒΡΡ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊ индСксу. Π‘ΠΌ. Π Π•Π”ΠΠšΠ’Π˜Π ΠžΠ’ΠΠΠ˜Π• ΠŸΠΠ’Π§Π•Π™ Π½ΠΈΠΆΠ΅.

-Ρƒ
—ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅

ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ индСкс Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΌ, Π³Π΄Π΅ ΠΎΠ½ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΡƒΡŽ запись <ΡƒΠΊΠ°Π· ΠΏΡƒΡ‚ΠΈ>. Π­Ρ‚ΠΎ удаляСт, Π° Ρ‚Π°ΠΊΠΆΠ΅ измСняСт записи индСкса Π½Π° соотвСтствуСт Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ Π΄Π΅Ρ€Π΅Π²Ρƒ, Π½ΠΎ Π½Π΅ добавляСт Π½ΠΎΠ²Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

Если ΠΏΡ€ΠΈ использовании ΠΎΠΏΡ†ΠΈΠΈ -u Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, всС ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ΡΡ отслСТиваСмыС Ρ„Π°ΠΉΠ»Ρ‹ Π²ΠΎ всСм Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ Π΄Π΅Ρ€Π΅Π²Π΅ (старыС вСрсии Git ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ограничСния обновлСния Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ).

-А
—всС
—Π½Π΅-ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ-ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅

ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ индСкс Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ Π΄Π΅Ρ€Π΅Π²Π΅ Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» соотвСтствиС , Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ Ρ‚Π°ΠΌ, Π³Π΄Π΅ индСкс ΡƒΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π²Ρ…ΠΎΠ΄. Π­Ρ‚ΠΎ добавляСт, измСняСт ΠΈ удаляСт элСмСнты указатСля для соотвСтствуСт Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ Π΄Π΅Ρ€Π΅Π²Ρƒ.

Если ΠΏΡ€ΠΈ использовании ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° -A Π½Π΅ Π·Π°Π΄Π°Π½ΠΎ, всС ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹ Π²ΠΎ всСм Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ Π΄Π΅Ρ€Π΅Π²Π΅ (старыС вСрсии Git ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ограничСния обновлСния Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ).

—Π½Π΅Ρ‚-всС
—ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅

ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ индСкс, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, нСизвСстныС index ΠΈ Ρ„Π°ΠΉΠ»Ρ‹, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ Π΄Π΅Ρ€Π΅Π²Π΅, Π½ΠΎ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Π΄Π΅Ρ€Π΅Π²Π°. Π­Ρ‚ΠΎΡ‚ option Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Ссли Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ .

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ для ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΡˆΠΈΠΌ ΠΊ Π±ΠΎΠ»Π΅Π΅ старым вСрсий Git, Ρ‡ΡŒΠ΅ Β«git add …​» Π±Ρ‹Π»ΠΎ синонимом для Β«git add —no-all …​», Ρ‚. Π΅. ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

-Н
— Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

Π—Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡƒΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠΎΠ·ΠΆΠ΅. Π’Ρ…ΠΎΠ΄ ΠΈΠ±ΠΎ ΠΏΡƒΡ‚ΡŒ помСщаСтся Π² индСкс Π±Π΅Π· содСрТания. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π΅Π½, Π² Ρ‚ΠΎΠΌ числС, для ΠΏΠΎΠΊΠ°Π·Π° нСустановлСнного содСрТания Ρ‚Π°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ с git diff ΠΈ ΠΈΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ с git commit -Π° .

—ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ

НС Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΈΡ… stat() информация Π² ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅.

—ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ошибки

Если Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ·-Π·Π° ошибок индСксации ΠΈΡ…, Π½Π΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ, Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Команда ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ с Π½Π΅Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ статусом. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ add.ignoreErrors ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

—ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ-отсутствуСт

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вмСстС с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ —dry-run. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой ΠΎΠΏΡ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ΠΈ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π² ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΈΠ»ΠΈ Π½Π΅Ρ‚.

—no-warn-embedded-repo

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ git add Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ встроСнного Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² индСкс Π±Π΅Π· использования подмодуля git Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² создайтС запись Π² . gitmodules . Π­Ρ‚Π° опция подавляСт ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли Π²Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ выполняСтС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΠΈ).

—ΠΏΠ΅Ρ€Π΅Π½ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ «Ρ‡ΠΈΡΡ‚Ρ‹ΠΉ» процСсс Π·Π°Π½ΠΎΠ²ΠΎ ΠΊΠΎ всСм отслСТиваСмым Ρ„Π°ΠΉΠ»Π°ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… снова Π² индСкс. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ послС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ конфигурация core.autocrlf ΠΈΠ»ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ text Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ с Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ΠΌ строки CRLF/LF. Π­Ρ‚Π° опция ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ -u . ΠžΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ символы CR ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π½Π΅Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹ΠΌΠΈ, поэтому Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ CRLF очищаСтся Π΄ΠΎ LF, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ CRCRLF Ρ‚ΠΎΠ»ΡŒΠΊΠΎ частично ΠΎΡ‡ΠΈΡ‰Π΅Π½ Π΄ΠΎ CRLF.

—chmod=(+|-)x

ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ исполняСмый Π±ΠΈΡ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². исполняСмый Ρ„Π°ΠΉΠ» Π±ΠΈΡ‚ мСняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² индСксС, Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° дискС ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

—pathspec-from-file=<Ρ„Π°ΠΉΠ»>

Pathspec пСрСдаСтся Π² вмСсто Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Если <Ρ„Π°ΠΉΠ»> Ρ‚ΠΎΡ‡Π½ΠΎ соотвСтствуСт - , Ρ‚ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ стандартный Π²Π²ΠΎΠ΄. Pathspec элСмСнты Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ символами LF ΠΈΠ»ΠΈ CR/LF. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Pathspec ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ цитируСтся ΠΊΠ°ΠΊ объяснСно для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ core.quotePath (см. git-config[1]). Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅ --pathspec-file-nul ΠΈ global --literal-pathspecs .

—pathspec-Ρ„Π°ΠΉΠ»-ноль

Π˜ΠΌΠ΅Π΅Ρ‚ смысл Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с --pathspec-from-file . Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Pathspec отдСляСтся символом NUL, Π° всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ символы бСрутся Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π½ΠΎΠ²Ρ‹Π΅ строки ΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ).

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для отдСлСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΎΡ‚ список Ρ„Π°ΠΉΠ»ΠΎΠ² (ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹ΠΌΠΈ) для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки).

ΠŸΠ Π˜ΠœΠ•Π Π«

  • ДобавляСт содСрТимоС ΠΈΠ· всСх Ρ„Π°ΠΉΠ»ΠΎΠ² *.txt Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Documentation ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ:

     $ git Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ/\*.txt 

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠ° * взята ΠΈΠ· ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€; это позволяСт ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ДокумСнтация/.

  • РассматриваСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ добавлСния ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΈΠ· всСх скриптов git-*.sh:

     $ git Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ git-*.sh 

    ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ этот ΠΏΡ€ΠΈΠΌΠ΅Ρ€ позволяСт ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΡƒ (Ρ‚. Π΅. Π²Ρ‹ явно пСрСчисляя Ρ„Π°ΠΉΠ»Ρ‹), ΠΎΠ½ Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³/git-foo.sh .

Π˜ΠΠ’Π•Π ΠΠšΠ’Π˜Π’ΠΠ«Π™ Π Π•Π–Π˜Πœ

Когда ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ, ΠΎΠ½Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ status , Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Π΅Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ».

Π¦ΠΈΠΊΠ» ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ список доступных ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π²Ρ‹Π΄Π°Π΅Ρ‚ подсказку «Π§Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ>». Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° подсказка заканчиваСтся с ΠΎΠ΄Π½ΠΈΠΌ > Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ return, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

 *** ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ***
      1: статус 2: ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ 3: ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ 4: Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ нСотслСТиваСмый
      5: ΠΏΠ°Ρ‚Ρ‡ 6: diff 7: Π²Ρ‹Ρ…ΠΎΠ΄ 8: ΠΏΠΎΠΌΠΎΡ‰ΡŒ
    Π§Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ > 1 

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ s ΠΈΠ»ΠΈ sta ΠΈΠ»ΠΈ статус Π²Ρ‹ΡˆΠ΅, ΠΏΠΎΠΊΠ° Π²Ρ‹Π±ΠΎΡ€ ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½.

Основной Ρ†ΠΈΠΊΠ» ΠΊΠΎΠΌΠ°Π½Π΄ состоит ΠΈΠ· 6 ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄ (плюс help ΠΈ quit).

статус

ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ HEAD ΠΈ index (Ρ‚.Π΅. Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ зафиксировано, Ссли Π²Ρ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ git commit ), ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ индСксом ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° (Ρ‚. Π΅. Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ git commit с использованиСм git add ) для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° выглядит Ρ‚Π°ΠΊ:

 поэтапный нСустановлСнный ΠΏΡƒΡ‚ΡŒ
     1: Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π½ΠΈΡ‡Π΅Π³ΠΎ foo.png
     2: +403/-35 +1/-1 git-add--interactive.perl 

Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ foo.png ΠΈΠΌΠ΅Π΅Ρ‚ отличия ΠΎΡ‚ HEAD (Π½ΠΎ это Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ, поэтому количСство строк Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ) ΠΈ Π½Π΅Ρ‚ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ индСксированной ΠΊΠΎΠΏΠΈΠ΅ΠΉ ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ вСрсия (Ссли вСрсия Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° Ρ‚ΠΎΠΆΠ΅ Π±Ρ‹Π»Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π±Ρ‹Π» Π±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Π½ вмСсто Π½ΠΈΡ‡Π΅Π³ΠΎ ). Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, git-add—interactive.perl, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ 403 строки. ΠΈ 35 строк ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ, Ссли ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² индСксС, Π½ΠΎ Ρ„Π°ΠΉΠ» Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° ΠΈΠΌΠ΅Π΅Ρ‚ дальнСйшиС ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ (ΠΎΠ΄Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ΄Π½ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅).

ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅

ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ состоянии ΠΈ Π²Ρ‹Π΄Π°Π΅Ρ‚ Β«ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ>>Β». быстрый. Когда подсказка заканчиваСтся Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌ >> , Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π°, объСдинСнного ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ ΠΈΠ»ΠΈ запятая. Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹. НапримСр. «2-5 7,9» Π½Π° Π²Ρ‹Π±ΠΎΡ€ 2,3,4,5,7,9 ΠΈΠ· списка. Если Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹, всС ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ ΠΏΠ°Ρ‚Ρ‡ΠΈ взяты. НапримСр. «7-» Π½Π° Π²Ρ‹Π±ΠΎΡ€ 7,8,9 ΠΈΠ· списка. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ * , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ всС.

Π’ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ, Π·Π°Ρ‚Π΅ΠΌ выдСляСтся * , Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

 поэтапный нСустановлСнный ΠΏΡƒΡ‚ΡŒ
  1: Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π½ΠΈΡ‡Π΅Π³ΠΎ foo.png
* 2: +403/-35 +1/-1 git-add--interactive.perl 

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ½ΡΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊ Π²Ρ…ΠΎΠ΄Ρƒ прСфикс - . Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

 ОбновлСниС>> -2 

Π‘Π΄Π΅Π»Π°Π² Π²Ρ‹Π±ΠΎΡ€, ΠΎΡ‚Π²Π΅Ρ‚ΡŒΡ‚Π΅ пустой строкой, Ρ‡Ρ‚ΠΎΠ±Ρ‹ содСрТимоС Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° для Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ Π² индСксС.

Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ , Π° поэтапный информация для Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ возвращаСтся ΠΊ ГЛАВНАЯ вСрсия. Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈΡ… нСотслСТиваСмыми.

Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ нСотслСТиваСмый

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ нСотслСТиваСмыС ΠΏΡƒΡ‚ΠΈ Π² индСкс.

ΠΏΠ°Ρ‚Ρ‡

ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΏΡƒΡ‚ΡŒ ΠΈΠ· состояния нравится Π²Ρ‹Π±ΠΎΡ€. ПослС Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΡƒΡ‚ΠΈ ΠΎΠ½ прСдставляСт Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ индСксом ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ Ρ„Π°ΠΉΠ» Π΄Π΅Ρ€Π΅Π²Π° ΠΈ спросит вас, Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π»ΠΈ Π²Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ смСна ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ куска. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΏΡ†ΠΈΠΈ ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ return:

 Π³ - ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ этот кусок
n - Π½Π΅ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ этот кусок
Π΄ - Π²Ρ‹ΠΉΡ‚ΠΈ; Π½Π΅ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ этот кусок ΠΈΠ»ΠΈ любой ΠΈΠ· ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ
a - ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ этот Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΈ всС ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ Π² Ρ„Π°ΠΉΠ»Π΅
d β€” Π½Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ этот Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ любой ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Ρ„Π°ΠΉΠ»Π΅.
g - Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ кусок, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ
/ - поиск Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ рСгулярному Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ
j - ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ этот Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ, ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚
J - ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ этот Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Π½Π΅Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹ΠΌ, см.  ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚
k - ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ этот Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ, см. ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚
K - ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ этот Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Π½Π΅Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹ΠΌ, см. ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚
s - Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ кусок Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ куски
e - Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ…Π°Π½ΠΊ
? - Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ справку 

ПослС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡΡƒΠ΄ΡŒΠ±Ρ‹ всСх Ρ…Π°Π½ΠΊΠΎΠ², Ссли Π΅ΡΡ‚ΡŒ Ρ…Π°Π½ΠΊΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½, индСкс обновляСтся Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ здСсь return, установив ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ пСрСмСнная Interactive.singleKey ΠΎΡ‚ Π΄ΠΎ true .

Π΄ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠ°Π»

ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ зафиксировано (Ρ‚. Π΅. ΠΌΠ΅ΠΆΠ΄Ρƒ Π“ΠžΠ›ΠžΠ’Π ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ).

Π Π•Π”ΠΠšΠ’Π˜Π ΠžΠ’ΠΠΠ˜Π• ΠŸΠΠ’Π§Π•Π™

Π’Ρ‹Π·ΠΎΠ² git add -e ΠΈΠ»ΠΈ Π²Ρ‹Π±ΠΎΡ€ e ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ куска сСлСктор ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ ΠΏΠ°Ρ‚Ρ‡ Π² вашСм Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅; послС Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ примСняСтся ΠΊ индСксу. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π½ΠΎΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ измСнСния ΠΊ ΠΏΠ°Ρ‚Ρ‡Ρƒ, Π½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ измСнСния ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ привСсти ΠΊ ΠΏΠ°Ρ‚Ρ‡Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ (Ρ‚. Π΅. Π½ΠΈΡ‡Π΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π² индСксС), просто ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ всС строки ΠΏΠ°Ρ‚Ρ‡Π°. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ спискС описаны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‰ΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² ΠΏΠ°Ρ‚Ρ‡Π΅, ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ рСдактирования ΠΈΠΌΠ΅ΡŽΡ‚ для Π½ΠΈΡ… смысл.

Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚

Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ прСдставлСн строками, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ с «+». Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ постановку Π»ΡŽΠ±Ρ‹Ρ… строк добавлСния, ΡƒΠ΄Π°Π»ΠΈΠ² ΠΈΡ….

ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚

Π£Π΄Π°Π»Π΅Π½Π½ΠΎΠ΅ содСрТимоС прСдставлСно строками, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ с «-«. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ поэтапноС ΠΈΡ… ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡƒΡ‚Π΅ΠΌ прСобразования «-» Π² » » (ΠΏΡ€ΠΎΠ±Π΅Π»).

ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ΅ содСрТимоС

Π˜Π·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ прСдставлСн строками «-» (ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ старого ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°) Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ строки Β«+Β» (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΌΠ΅Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎ содСрТимого). Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ постановку ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡƒΡ‚Π΅ΠΌ прСобразования строк «-» Π² » » ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ строк «+». Π˜ΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ‹ ΠΏΠ°Ρ€Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹ΠΌ измСнСниям Π² индСксС.

МоТно Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΈ Π±ΠΎΠ»Π΅Π΅ слоТныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Но Π±ΡƒΠ΄ΡŒΡ‚Π΅ остороТны Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΠ°Ρ‚Ρ‡ примСняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ индСксу Π° Π½Π΅ ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ Π΄Π΅Ρ€Π΅Π²ΠΎ, появится Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ Π΄Π΅Ρ€Π΅Π²ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Β«ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒΒ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ индСкса. НапримСр, Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½ΠΎΠ²ΠΎΠΉ строки, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅Ρ‚ Π½ΠΈ Π² Π½ΠΈ HEAD, Π½ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ Π΄Π΅Ρ€Π΅Π²ΠΎ Π½Π΅ подготовят Π½ΠΎΠ²ΡƒΡŽ строку для фиксации, Π½ΠΎ линия Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π½ΠΎΠΉ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ Π΄Π΅Ρ€Π΅Π²Π΅.

Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ использования этих конструкций ΠΈΠ»ΠΈ Π΄Π΅Π»Π°ΠΉΡ‚Π΅ это с особой ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ.

ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚ΠΎΠ³ΠΎ содСрТимого

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

ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°

МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ строки контСкста, поставив ΠΈΡ… Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ (ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ » » Π² «-«) ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ строки «+» с Π½ΠΎΠ²Ρ‹ΠΌ содСрТимым. Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ строки Β«+Β» для ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Π’ΠΎ всСх случаях новая модификация Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎΠΉ. Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ Π΄Π΅Ρ€Π΅Π²Π΅.

Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅Ρ‚ Π² ΠΏΠ°Ρ‚Ρ‡Π΅; просто Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½ΠΎΠ²Ρ‹Π΅ строки, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… начинаСтся с Β«+Β». Π”ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ появится вСрнулся Π² Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ Π΄Π΅Ρ€Π΅Π²ΠΎ.

Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ нСсколько ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… слСдуСт ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ, Ρ‚.ΠΊ. ΠΎΠ½ΠΈ ΡΠ΄Π΅Π»Π°ΡŽΡ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ‚Ρ‡Π°:

  • Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ контСкста (» «) ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ («-«) строк

  • ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ контСкста ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ строк

  • ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ содСрТимого контСкста ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ строк

ΠšΠžΠΠ€Π˜Π“Π£Π ΠΠ¦Π˜Π―

ВсС, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΆΠ΅ этой строки Π² этом Ρ€Π°Π·Π΄Π΅Π»Π΅, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½ΠΎ ΠΈΠ· Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ git-config[1]. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΊΠ°ΠΊ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ:

add.ignoreErrors
add.ignore-errors (устарСло)

Π‘ΠΎΠΎΠ±Ρ‰Π°Π΅Ρ‚ git add ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΈΠ·-Π·Π° ошибок индСксации. Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚ --ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ошибки опция git-add[1]. add.ignore-errors устарСло, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ Π½Π΅ соотвСтствуСт ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌΡƒ соглашСнию ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ… для ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

add.interactive.useBuiltin

УстановитС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ исходной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Perl интСрактивная вСрсия git-add[1] вмСсто встроСнной вСрсия. ЯвляСтся Π»ΠΈ ΠΏΡ€Π°Π²Π΄ΠΎΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

БМ. Π’ΠΠšΠ–Π•

git-статус[1] git-rm[1] git-сброс [1] git-ΠΌΠ²[1] git-ΠΊΠΎΠΌΠΌΠΈΡ‚[1] git-ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅-индСкс[1]

GIT

Π§Π°ΡΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Π° git[1]

Руководства ΠΏΠΎ Git β€” git add Β· GitHub

Команда git add добавляСт Π½ΠΎΠ²Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² вашСм Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Git.

git add β€” ваТная ΠΊΠΎΠΌΠ°Π½Π΄Π° β€” Π±Π΅Π· Π½Π΅Π΅ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ git commit Π½ΠΈΡ‡Π΅Π³ΠΎ Π±Ρ‹ Π½Π΅ сдСлал. Иногда git add ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π΅ΠΏΡƒΡ‚Π°Ρ†ΠΈΡŽ Π½Π΅Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ шага Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. Но Π½Π° самом Π΄Π΅Π»Π΅ git add β€” Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΈ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт. git add позволяСт Π²Π°ΠΌ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ, Π½Π΅ мСняя Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅.

Когда Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅

git add ?
 git add README.md 

Π’ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Ρ‹ измСняСтС ΠΈ сохраняСтС Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ². Π—Π°Ρ‚Π΅ΠΌ, ΠΏΠ΅Ρ€Π΅Π΄ фиксациСй, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ git Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ . Π­Ρ‚ΠΎΡ‚ шаг позволяСт Π²Π°ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ. ΠšΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ логичСскими, Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹ΠΌΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Π°ΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π½ΠΎ Π½Π΅ всС Ρ‚Π°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ вноситС измСнСния Π² Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ логичСских ΠΈΠ»ΠΈ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ† измСнСния. git add позволяСт систСматичСски Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ваши ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΈ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Git Add?

git add [имя Ρ„Π°ΠΉΠ»Π°] Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ этот Ρ„Π°ΠΉΠ» ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, помСчая Π΅Π³ΠΎ для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ части Ρ„Π°ΠΉΠ»Π° для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΈ фиксации.

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ git Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ΠΎ для фиксации. Π―Π·Ρ‹ΠΊ Β«Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΒ», ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π° самом Π΄Π΅Π»Π΅ «удаляСтС», ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ±ΠΈΠ²Π°Ρ‚ΡŒ с Ρ‚ΠΎΠ»ΠΊΡƒ. Если Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ git stage вмСсто git add , Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ происходящСго ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ясной.

git add ΠΈ git commit ΠΈΠ΄ΡƒΡ‚ Ρ€ΡƒΠΊΠ° ΠΎΠ± Ρ€ΡƒΠΊΡƒ. Они Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ вмСстС. И ΠΎΠ½ΠΈ ΠΎΠ±Π° Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π»ΡƒΡ‡ΡˆΠ΅ всСго, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΈΡ… совмСстной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

git add

ΠžΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ использованиС ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для

git add
  • git add <ΠΏΡƒΡ‚ΡŒ> : ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»
  • git Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ . : ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π² .gitignore ) Π²ΠΎ всСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ
  • git add -p : Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π°Ρ стадия ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ всС многочислСнныС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ git add Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ git-scm.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

git add

git add ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ вписываСтся Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡˆΠ°Π³Π°Ρ…:

  1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ: git branch update-readme
  2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π² этой Π²Π΅Ρ‚ΠΊΠ΅: git checkout update-readme
  3. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹
  4. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹
  5. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ сСгмСнты ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ: git add README.md
  6. ЗафиксируйтС измСнСния: git commit -m Β«ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ README, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ссылки Π½Π° руководство ΠΏΠΎ внСсСнию ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉΒ»
  7. ΠžΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ измСнСния Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ: git push -u origin update-readme

Но git add Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ:

  1. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ: git branch update-readme
  2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π² этой Π²Π΅Ρ‚ΠΊΠ΅: git checkout update-readme
  3. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹
  4. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹
  5. Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°: git add README. md
  6. ЗафиксируйтС ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ: git commit -m "ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ README, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ссылки Π½Π° руководство ΠΏΠΎ внСсСнию Π²ΠΊΠ»Π°Π΄Π°"
  7. Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°: git add CONTRIBUTING.md
  8. ЗафиксируйтС Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π½Π°Π±ΠΎΡ€ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ: git commit -m "ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ руководство"
  9. (ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΠΏΡ€ΠΈ нСобходимости)
  10. ΠžΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ измСнСния Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ: git push -u origin update-readme

git add All Files

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° всСх доступных Ρ„Π°ΠΉΠ»ΠΎΠ² β€” популярная, хотя ΠΈ рискованная опСрация. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя, Π½ΠΎ сопряТСно с Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌ риском:

ΠŸΠ»ΠΎΡ…ΠΎ продуманная история

ΠŸΡ€ΠΈ инсцСнировании всСх доступных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΡΠ½ΠΎΡΡ‚ΡŒ вашСй истории, скорСС всСго, пострадаСт. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свою ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ β€” ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π²Π΅Π»ΠΈΡ‡Π°ΠΉΡˆΠΈΡ… прСимущСств использования Git. Если ваши ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ слишком Π²Π΅Π»ΠΈΠΊΠΈ, содСрТат нСсвязанныС измСнСния ΠΈΠ»ΠΈ нСясно описаны Π² сообщСнии ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Π²Ρ‹ потСряСтС прСимущСства просмотра ΠΈ измСнСния истории.

Π‘Π»ΡƒΡ‡Π°ΠΉΠ½ΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΈ фиксация Ρ„Π°ΠΉΠ»ΠΎΠ²

ΠŸΡ€ΠΈ использовании ΠΎΠΏΡ†ΠΈΠΈ добавлСния всСх Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ случайно Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΈ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ». НаиболСС распространСнныС Ρ„Π»Π°Π³ΠΈ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ Ρ„Π°ΠΉΠ»Ρ‹, отслСТиваСмыС Π² Ρ„Π°ΠΉΠ»Π΅ .gitignore . Но любой Ρ„Π°ΠΉΠ», Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² Ρ„Π°ΠΉΠ»Π΅ .gitignore , Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ ΠΈ зафиксирован. Π­Ρ‚ΠΎ относится ΠΊ большим Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌ, содСрТащим ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Ρ‚Π°ΠΊΡƒΡŽ ​​как ΠΏΠ°Ρ€ΠΎΠ»ΠΈ ΠΈΠ»ΠΈ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

ΠŸΡ€ΠΈΠ½ΡΡ‚ΠΈΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ всСх Ρ„Π°ΠΉΠ»ΠΎΠ²

Если ΠΏΡ€ΠΈΡˆΠ»ΠΎ врСмя ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄. Как всСгда, ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ставитС ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚Π΅.

  • git add -A : Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ всС Ρ„Π°ΠΉΠ»Ρ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π½ΠΎΠ²Ρ‹Π΅, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΈ Π² Π±ΠΎΠ»Π΅Π΅ высоких ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ всС Π΅Ρ‰Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ git
  • git Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ . : рСкурсивно добавляСт вСсь ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ„Π°ΠΉΠ»Ρ‹, ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Ρ‚ΠΎΡ‡ΠΊΠΈ
  • .
  • git add -u : этапы Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², НЕ Π½ΠΎΠ²Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²
НовыС Ρ„Π°ΠΉΠ»Ρ‹ ΠœΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π£Π΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π€Π°ΠΉΠ»Ρ‹ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ с Ρ‚ΠΎΡ‡ΠΊΠΈ Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π’Ρ‹ΡΡˆΠΈΠ΅ справочники
git Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ -A Π”Π° Π”Π° Π”Π° Π”Π° Π”Π° Π”Π°
git Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ . Π”Π° Π”Π° Π”Π° Π”Π° Π”Π° β„–
git Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ -u β„– Π”Π° Π”Π° Π”Π° Π”Π° Π”Π°

git add Папка ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»

Π‘Π°ΠΌΡ‹ΠΉ бСзопасный ΠΈ понятный способ использования git add β€” ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ. Бинтаксис для этого ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

git add directory/ : внСсти всС измСнСния Π²ΠΎ всС Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ 9. 0005 ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³
git add README.md : внСситС всС измСнСния Π² Ρ„Π°ΠΉΠ» README.md

ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹

Π Π°Π±ΠΎΡ‚Π°. НСвозмоТно Β«ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ области.

НапримСр, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ вноситС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ измСнСния Π² этот Ρ„Π°ΠΉΠ» Π² своСм Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π’Π΅ΠΏΠ΅Ρ€ΡŒ вСрсии Π² вашСм Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΈ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ области Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ. Если Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠΌΠ΅Ρ‚Π΅ ΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΉ вСрсии Ρ„Π°ΠΉΠ»Π° ΠΈΠ· ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ области, измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π² вашСм Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ , Π½ΠΎ Π½Π΅ , Π±ΡƒΠ΄ΡƒΡ‚ пСрСзаписаны.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этого, сначала ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΡŒΡ‚Π΅ всС измСнСния, Π° Π·Π°Ρ‚Π΅ΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ ΠΈΡ… вмСстС ΠΈΠ»ΠΈ зафиксируйтС измСнСния ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ сброс Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ фиксация.

ИспользованиС
git reset для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ git add

git reset β€” гибкая ΠΈ мощная ΠΊΠΎΠΌΠ°Π½Π΄Π°. Одним ΠΈΠ· Π΅Π³ΠΎ многочислСнных Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования являСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ 90Β 153 ΠΈΠ· 90Β 154 ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ области. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Β«ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΉΒ» ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ сброса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ установлСн ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ поэтапныС измСнСния ΠΈΠ· ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ области Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π½Π΅ затрагивая Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ, сначала ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π½Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² рассматриваСмых Ρ„Π°ΠΉΠ»Π°Ρ…, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅. Π—Π°Ρ‚Π΅ΠΌ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ git reset HEAD (ΠΎΠ½ ΠΆΠ΅ git reset --mixed HEAD ).

БвязанныС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹

  • git status : всСгда Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ идСя, эта ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Π² ΠΊΠ°ΠΊΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ находятся Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π»ΡŽΠ±ΡƒΡŽ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π²Π°ΠΆΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.
  • git checkout [Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ] : ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΈ обновляСт Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.
  • git commit -m Β«ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ сообщСниС» : снимки Ρ„Π°ΠΉΠ»ΠΎΠ² постоянно Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ вСрсий.