Mv git: Git — git-mv Documentation
git rm ΠΈ git mv
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π²Π°ΠΆΠ½ΡΠΉ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²ΠΎΠΏΡΠΎΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Git — ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ.
Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π ΡΠΈΡΡΠ΅ΠΌΠ΅ Git ΠΈΠΌΠ΅ΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ
ΠΎΠΆΠΈ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ
Π² Linux/Mac OS. ΠΠΎ Π΄Π»Ρ Git ΠΎΠ½ΠΈ Π²ΡΠ³Π»ΡΠ΄ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½Π°ΡΠ΅:
— Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ
— Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΈΠΆΠ΅ Ρ ΡΠ°ΡΡΠΌΠΎΡΡΡ ΠΎΠ±Π΅ ΡΡΠΈ ΠΊΠΎΠΌΠ°Π΄Π½Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ.
ΠΠΎΠΌΠ°Π½Π΄Π° git rm
ΠΠ»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Git, ΠΊΠ°ΠΊ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ Π²ΡΡΠ΅, ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° . ΠΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
(Π² ΡΠΎΠΌ ΠΆΠ΅ Linux) Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ°ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Git.
ΠΠ°ΠΊ Ρ ΠΎΡΠΎΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Git ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΡΡΠ΅Ρ ΠΈΠΏΠΎΡΡΠ°ΡΡΡ : Π² ΠΎΠ±Π»Π°ΡΡΠΈ βWorking Directoryβ, Π² ΠΎΠ±Π»Π°ΡΡΠΈ βStaging Areaβ, Π² ΠΎΠ±Π»Π°ΡΡΠΈ βRepositoryβ. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ βWorking Directoryβ Π½Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π΅Π³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ βStaging Areaβ ΠΈ βRepositoryβ.
ΠΠΎΡΡΠΎΠΌΡ, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ», Π½ΡΠΆΠ½ΠΎ (Π² ΠΈΠ΄Π΅Π°Π»Π΅) Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΠ΄ΡΡΠ΄ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° ΠΈΠ· Π Π°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ βWorking Directoryβ, Π·Π°ΡΠ΅ΠΌ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ° βStaging Areaβ ΠΈ ΠΏΠΎΡΠΎΠΌ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ βRepositoryβ:
$ rm index.html
$ git add .
$ git commit -m 'Delete file index.html'
ΠΠΎΠΌΠ°Π½Π΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΈ ΡΠ΅ΠΌ ΠΈΠ½ΡΠΌ, ΠΊΠ°ΠΊ βΠ²ΡΠΈΡΡΠΌβ Π² Git ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π²ΡΡ
ΠΏΠ΅ΡΠ²ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄:
$ rm index.html
$ git add .
Π‘Π΄Π΅Π»Π°Π½ΠΎ ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Git. ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ . ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠ°ΠΉΠ»
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½.
Π£Π΄Π°Π»ΠΈΠΌ Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ :
ΠΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠ°ΠΉΠ» Π±ΡΠ» ΡΡΠ°Π·Ρ ΡΠ΄Π°Π»Π΅Π½ ΠΈΠ· Π΄Π²ΡΡ
ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ: ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° βWorking Directoryβ ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ βStaging Areaβ. ΠΠΎ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΠ°ΠΉΠ» Π²ΡΠ΅ ΠΆΠ΅ ΠΎΡΡΠ°Π»ΡΡ, ΠΎ ΡΠ΅ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
.
ΠΡΠ±ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ commit Π·Π°ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°:
ΠΠΎΠΌΠ°Π½Π΄Π° git rm -cached
Π£ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΏΠ°ΡΠ° ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
ΠΊΠ»ΡΡΠ΅ΠΉ, ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡ
. ΠΠ°Π΄Π°ΡΠ° ΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° — ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π΅
ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ βStaging Areaβ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° βWorking Directoryβ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ·Π΄Π°Π½ ΡΠ°ΠΉΠ»
ΠΈ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° Π΅Π³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ (Π½ΠΎ Π½Π΅ ΡΠΈΠΊΡΠ°ΡΠΈΡ):
Π£Π΄Π°Π»ΠΈΠΌ Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ :
ΠΡΠ»ΠΈΡΠ½ΠΎ! ΠΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° . ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠΎΠΌΠ°Π½Π΄Π°
ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ βWorking Directoryβ ΠΈΠΌΠ΅Π΅ΡΡΡ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ (untracked) ΡΠ°ΠΉΠ» ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ
.
ΠΠΎΠΌΠ°Π½Π΄Π° git rm -f
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π» Π²Π°ΡΠΈΠ°Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΈ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ βStaging Areaβ, Π½ΠΎ ΠΎΡΡΠ°Π΅ΡΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ βWorking Directoryβ. ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ .
ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ° ΠΆΠ΅ ΡΠ°ΠΌΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° , Π½ΠΎ Ρ ΠΊΠ»ΡΡΠΎΠΌ
—
. Π’Π°ΠΊΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ (Π½ΠΎ Π΅ΡΠ΅ Π½Π΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ) ΡΠ°ΠΉΠ» ΠΊΠ°ΠΊ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ βStaging Areaβ, ΡΠ°ΠΊ ΠΈ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ βWorking Directoryβ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π΅Π³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
:
Π€Π°ΠΉΠ» ΡΠ΄Π°Π»Π΅Π½ ΠΊΠ°ΠΊ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ βStaging Areaβ, ΡΠ°ΠΊ ΠΈ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ βWorking Directoryβ. Π ΠΈΡΠΎΠ³Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠ°Π·Π½ΠΈΡΡ.
ΠΠΎΠΌΠ°Π½Π΄Π° git mv — ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²
Π ΡΠΈΡΡΠ΅ΠΌΠ΅ Git ΠΈΠΌΠ΅Π΅ΡΡΡ βΡΠ²ΠΎΡβ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π‘Π»ΠΎΠ²ΠΎ βΡΠ²ΠΎΡβ Π·Π΄Π΅ΡΡ Π½Π΅ Π΄Π°ΡΠΎΠΌ Π²Π·ΡΡΠΎ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ — Π°Π½Π°Π»ΠΎΠ³ΠΈΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΏΠΎΠ»Π½Π°Ρ. ΠΠΎΠΌΠ°Π½Π΄Π°
ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ»Ρ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ βΡΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡβ ΠΎΠ± ΡΡΠΈΡ
ΡΠΎΠ±ΡΡΠΈΡΡ
ΠΎΠ±Π»Π°ΡΡΡ βStaging Areaβ:
ΠΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π»ΡΠ±ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ:
$ git commit -m 'Move index.html to papka'
[master 868d428] Move index.html to papka
1 file changed, 0 insertions(+), 0 deletions(-)
rename index.html => papka/index.html (100%)
ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
:
ΠΠΎΡ ΠΈ Π²ΡΠ΅ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ\ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ
, ΠΏΠΎΠ΄ Π²ΡΠ΅Π²ΠΈΠ΄ΡΡΠΈΠΌ ΠΎΠΊΠΎΠΌ Git.
git
ΠΠ°ΠΊΠΎΠ²Π° ΡΠ΅Π»Ρ git-mv? | ΠΠ»ΠΎΠ³ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ
Git ΠΏΡΠΎΡΡΠΎ ΠΏΡΡΠ°Π΅ΡΡΡ ΡΠ³Π°Π΄Π°ΡΡ Π΄Π»Ρ Π²Π°Ρ, ΡΡΠΎ Π²Ρ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ. ΠΠ½Π° Π΄Π΅Π»Π°Π΅Ρ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅, ΡΡΠΎΠ±Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π½Π΅ΡΡΡΠΈΠΌΡΡ ΠΈΡΡΠΎΡΠΈΡ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠΎ Π½Π΅ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ. Π’Π°ΠΊ ΡΡΠΎ git mv
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π±ΡΡΡ ΡΠ²Π½ΡΠΌ Ρ Π²Π°ΡΠΈΠΌ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΎΡΠΈΠ±ΠΎΠΊ.
ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ ΠΏΡΡΡΠΎΠ³ΠΎ Π ΠΠΠ,
git init
echo "First" >a
echo "Second" >b
git add *
git commit -m "initial commit"
mv a c
mv b a
git status
ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
# On branch master
# Changes not staged for commit:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: a
# deleted: b
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# c
no changes added to commit (use "git add" and/or "git commit -a")
Π°Π²ΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π΅ π
ΠΠ»ΠΈ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»?
$ git add *
$ git commit -m "change"
$ git log c
commit 0c5425be1121c20cc45df04734398dfbac689c39
Author: Sergey Orshanskiy <*****@gmail.com>
Date: Sat Oct 12 00:24:56 2013 -0400
change
ΠΈ Π·Π°ΡΠ΅ΠΌ
$ git log --follow c
Author: Sergey Orshanskiy <*****@gmail.com>
Date: Sat Oct 12 00:24:56 2013 -0400
change
commit 50c2a4604a27be2a1f4b95399d5e0f96c3dbf70a
Author: Sergey Orshanskiy <*****@gmail.com>
Date: Sat Oct 12 00:24:45 2013 -0400
initial commit
ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ (Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ .git
ΠΏΠ°ΠΏΠΊΠ° ΠΏΡΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ):
git init
echo "First" >a
echo "Second" >b
git add *
git commit -m "initial commit"
git mv a c
git status
ΡΠ°ΠΊ:
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# renamed: a -> c
git mv b a
git status
ΡΠ΅ΠΏΠ΅ΡΡ Π½ΠΈΠΊΡΠΎ Π½Π΅ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π΅Π½:
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: a
# deleted: b
# new file: c
#
Π² ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅? ΠΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅…
git add *
git commit -m "change"
git log c
git log --follow c
…ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΎΡ ΠΆΠ΅, ΡΡΠΎ ΠΈ Π²ΡΡΠ΅: ΡΠΎΠ»ΡΠΊΠΎ --follow
ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΠΎΠ»Π½ΡΡ ΠΈΡΡΠΎΡΠΈΡ.
ΡΠ΅ΠΏΠ΅ΡΡ, Π±ΡΠ΄ΡΡΠ΅ ΠΎΡΡΠΎΡΠΎΠΆΠ½Ρ Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΊΠ°ΠΊ Π»ΡΠ±ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΡΡΡΠ°Π½Π½ΠΎ ΡΡΡΠ΅ΠΊΡΡ.
ΠΡΠΈΠΌΠ΅Ρ:
git init
echo "First" >a
git add a
git commit -m "initial a"
echo "Second" >b
git add b
git commit -m "initial b"
git mv a c
git commit -m "first move"
git mv b a
git commit -m "second move"
git log --follow a
commit 81b80f5690deec1864ebff294f875980216a059d
Author: Sergey Orshanskiy <*****@gmail.com>
Date: Sat Oct 12 00:35:58 2013 -0400
second move
commit f284fba9dc8455295b1abdaae9cc6ee941b66e7f
Author: Sergey Orshanskiy <*****@gmail.com>
Date: Sat Oct 12 00:34:54 2013 -0400
initial b
ΡΡΠ°Π²Π½ΠΈΡΠ΅ Π΅Π³ΠΎ Ρ:
git init
echo "First" >a
git add a
git commit -m "initial a"
echo "Second" >b
git add b
git commit -m "initial b"
git mv a c
git mv b a
git commit -m "both moves at the same time"
git log --follow a
ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
commit 84bf29b01f32ea6b746857e0d8401654c4413ecd
Author: Sergey Orshanskiy <*****@gmail.com>
Date: Sat Oct 12 00:37:13 2013 -0400
both moves at the same time
commit ec0de3c5358758ffda462913f6e6294731400455
Author: Sergey Orshanskiy <*****@gmail.com>
Date: Sat Oct 12 00:36:52 2013 -0400
initial a
Ups… Π’Π΅ΠΏΠ΅ΡΡ ΠΈΡΡΠΎΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ a Π²ΠΌΠ΅ΡΡΠΎ Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ b, ΡΡΠΎ Π½Π΅Π²Π΅ΡΠ½ΠΎ. ΠΠΎΡΡΠΎΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π΄Π΅Π»Π°Π»ΠΈ Π΄Π²Π° Ρ
ΠΎΠ΄Π° Π·Π° ΡΠ°Π·, Git Π·Π°ΠΏΡΡΠ°Π»ΡΡ ΠΈ Π½Π΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΡΡΠ°ΡΠΈ, Π² ΠΌΠΎΠΈΡ
ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Ρ
ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΠ»ΠΎ, ΠΊΠΎΠ³Π΄Π° Ρ ΡΠ΄Π°Π»ΡΠ»/ΡΠΎΠ·Π΄Π°Π²Π°Π» ΡΠ°ΠΉΠ»Ρ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ git mv
. ΠΠ΅ΠΉΡΡΠ²ΡΠΉΡΠ΅ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎ; Π²Ρ Π±ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½Π½ΡΠΉ…
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ bash, git, npm ΠΈ yarn, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ package.json ΠΈ semver / Π₯Π°Π±Ρ
ΠΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ, Π΄ΡΡΠ·ΡΡ!
ΠΡΠ΅Π΄Π»Π°Π³Π°Ρ Π²Π°ΡΠ΅ΠΌΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ Π½Π΅Π±ΠΎΠ»ΡΡΡΡ ΡΠΏΠ°ΡΠ³Π°Π»ΠΊΡ ΠΏΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ bash, git, npm, yarn, package.json ΠΈ semver.
Π£ΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ: [dir-name] β ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, | β ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«ΠΈΠ»ΠΈΒ».
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ ΠΈ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·ΡΡΠ°ΡΡ Π²ΡΠ²ΠΎΠ΄, ΡΠ°ΠΊ Π²Ρ Π±ΡΡΡΡΠΎ ΠΈΡ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Π°ΠΌ Π½ΡΠΆΠ½Ρ, Π° ΠΊΠ°ΠΊΠΈΠ΅ Π½Π΅Ρ.
ΠΡΠΈΠ½ΠΎΡΡ ΠΈΠ·Π²ΠΈΠ½Π΅Π½ΠΈΡ Π·Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΠΈ. ΠΡΠ΄Ρ ΡΠ°Π΄ Π»ΡΠ±ΡΠΌ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡΠΌ ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ.
ΠΠ΅Π· Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΡ ΠΏΡΠ΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠΉ.
ΠΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅:
bash
bash ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°: Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ bash Π±ΡΠ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π²ΠΌΠ΅ΡΡΠ΅ Ρ git.
Π‘ΠΏΡΠ°Π²ΠΊΠ°:
help
ΠΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄:
history
ΠΡΠΈΡΡΠΊΠ° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°:
clear
ΠΡΡ ΠΎΠ΄ ΠΈΠ· ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°:
exit
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ:
// make directory
mkdir [dir-name]
// ΠΏΡΠΈΠΌΠ΅Ρ
mkdir my-app
// Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΈΡΠ΅ΡΠΎΡΠΈΠΉ
mkdir -p {dir1,dir2}
// Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ
Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ
mkdir -p my-app/{css,js}
Π‘ΠΌΠ΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ:
// change directory
cd [dir-name]
// ΠΏΡΠΈΠΌΠ΅Ρ
cd my-app
// ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ
cd !$
// ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ
cd ..
// Π½Π° Π΄Π²Π° ΡΡΠΎΠ²Π½Ρ Π²ΡΡΠ΅
cd ../..
// ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ
cd -
// Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ
cd ~
ΠΡΡΡ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ:
// print work directory
pwd
Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²:
// list
ls
// Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΊΡΡΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ
ls -a | -f
// Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ
// Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ°
ls -l
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°:
touch [file-name]
// ΠΏΡΠΈΠΌΠ΅Ρ
touch index.html
// Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²
touch my-app/{index.html,css/style.css,js/script.js}
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π°:
cat [file-name]
// ΠΏΡΠΈΠΌΠ΅Ρ
cat index.html
// ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΈ Π²ΡΠ±ΠΎΡΠΊΠ° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
cat [file-name] | sort | uniq
// ΠΌΠ΅Π½ΡΡΠ΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°
less [file-name] // q - exit
// n ΡΡΡΠΎΠΊ Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°ΠΉΠ»Π°
head -50 [file-name]
// n ΡΡΡΠΎΠΊ Ρ ΠΊΠΎΠ½ΡΠ° ΡΠ°ΠΉΠ»Π°
tail -50 [file-name]
// ΠΏΠΎΠΈΡΠΊ ΡΠ»ΠΎΠ²Π°
grep [string] [file-name]
// ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π°ΡΡ
ΠΈΠ²Π°
unzip [achive-name]
// ΡΠΈΠΏ ΡΠ°ΠΉΠ»Π°
file [file-name]
ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°:
// copy
cp [file1] [file2]
// move
mv [file1] [file2]
// ΠΏΡΠΈΠΌΠ΅Ρ
// ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² Π΄ΡΡΠ³ΡΡ
mv [dir1]/*.* [dir2]
// remove
rm [file-name]
// ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ
rmdir [dir-name]
// ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΡΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ
rm -r [dir-name]
// ΠΈΠ»ΠΈ
rm -rf [dir-name]
ΠΡΠ²ΠΎΠ΄ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΡΡΡΠΎΠΊΠΈ:
echo [string]
// ΠΏΡΠΈΠΌΠ΅Ρ
echo hello
// ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡ ΡΠ°ΠΉΠ»Π°
echo hello > greet.txt
// Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΡΠ°ΠΉΠ»
echo hello >> greet.txt
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»Π°:
wget [url]
ΠΠΎΠ½Π½Π΅ΠΊΡΠΎΡΡ:
true && echo hello
false || echo hello
echo hello ; ls
ΠΠΎΠ½Π²Π΅ΠΉΠ΅Ρ:
// ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΎΠ² ΡΡΡΠΎΠΊΠΈ - \n
cat [file] | wc -l
git
git ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠ½ΠΈΠ³Π° Pro Git.
Π‘ΠΊΡΠΈΠ½ΠΊΠ°ΡΡ ΠΠ»ΡΠΈ ΠΠ°Π½ΡΠΎΡΠ°.
ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ: Git How To.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°: git-scm.com.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ:
git --version
Π‘ΠΏΡΠ°Π²ΠΊΠ°:
git help
git help [command-name]
git [command-name] --help | -h
ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ:
// --local - Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎ
// --global - Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
// --system - Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ Π²ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Ρ.Π΅. Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
git config --global user.name "My Name"
git config --global user.email "[email protected]"
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ:
// ΡΠΏΠΈΡΠΎΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ
Π½Π°ΡΡΡΠΎΠ΅ΠΊ
git config --list | -l --global
// ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ
Π½Π°ΡΡΡΠΎΠ΅ΠΊ
git config --global --edit | -e
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ:
git init
ΠΡΠΈΡΡΠΊΠ° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ:
// -d - Π²ΠΊΠ»ΡΡΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, -x - Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ, -f - ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½Π°Ρ
git clean | -dxf
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ:
// remove
git rm [file-name]
git rm -r [dir-name]
git rm --force | -f
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²:
// git add + git remove
// move
git mv [old-file] [new-file]
ΠΡΠΎΡΠΌΠΎΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ:
git status
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
git add [file-name]
git add --force | -f
// Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ
git add . | --all | -A
// Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π² Π½Π΅ΠΉ ΠΏΡΡΡΠΎΠΉ ΡΠ°ΠΉΠ» .gitkeep
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ (ΠΊΠΎΠΌΠΌΠΈΡΠ°):
// ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°
git commit
// ΠΊΠΎΠΌΠΌΠΈΡ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡ git add . | -A
// Π΅ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
git commit --message | -m "My Message"
// Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π΅ΡΠ»ΠΈ git add [file-name] Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·
git commit --all | -a -m | -am "My Message"
// ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°
git commit --amend "My Message" | --no-edit
ΠΡΠΎΡΠΌΠΎΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°:
// ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ
git show
// Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ
git show [hash] // ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΏΠ΅ΡΠ²ΡΠ΅ 4 ΡΠΈΠΌΠ²ΠΎΠ»Π°
// ΠΏΠΎΠΈΡΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ°ΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
git show :/[string]
// ΠΏΠΎΠΈΡΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΏΠΎ ΡΠ΅Π³Ρ
git show [tag-name]
ΠΡΠΎΡΠΌΠΎΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ:
git diff HEAD | @ // HEAD - ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΠΊΠ°; @ - Π°Π»ΠΈΠ°Ρ Π΄Π»Ρ HEAD
// staged
git diff --staged | --cached
git diff [hash2] [hash3]
// ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ
git diff [branch2]...[branch3]
// ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ ΠΏΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
git commit --verbose | -v
// ΠΊΠ°ΡΡΠΎΠΌΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
git diff --word-diff | --color-words
ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
git log
// n - ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
git log -n
// --since, --after - ΠΏΠΎΡΠ»Π΅
// --until, --before - Π΄ΠΎ
// ΡΠ°Π·Π½ΠΈΡΠ°
git log -p
// Π±ΡΡΡΡΠΎΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
git log --graph --oneline --stat
// ΠΊΠ°ΡΡΠΎΠΌΠ½ΠΎΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
git log --pretty=format
// ΠΏΡΠΈΠΌΠ΅Ρ
git log --pretty=format:'%C(red)%h %C(green)%cd %C(reset)| %C(blue)%s%d %C(yellow)[%an]' --date=short | format-local:'%F %R'
// ΠΏΠΎΠΈΡΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠ»ΠΎΠ²Ρ, ΡΠ°ΠΉΠ»Ρ, Π²Π΅ΡΠΊΠ΅; i - Π±Π΅Π· ΡΡΠ΅ΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°
git log --grep | -G [string] | [file] | [branch] & -i
// ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΡΡΠΎΠΊΠ°ΠΌ
git log --grep [string1] --grep [string2] --all-match
// ΠΏΠΎΠΈΡΠΊ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ ΡΠ°ΠΉΠ»Π°
git log -L '/<head>/','/<\/head>/':index.html
// ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ Π°Π²ΡΠΎΡΡ
git log --author=[name]
ΠΡΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
git reset
// --hard - Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ
// --soft - Π±Π΅Π· ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°
// --mixed - ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: Π±Π΅Π· ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, Π½ΠΎ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ
git reset --hard [hash] | @~ // @~ - ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² HEAD
// Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ
git reset --hard ORIG_HEAD
// Π½Π΅ ΠΏΡΡΠ°ΡΡ Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π²Π΅ΡΠΊΠΈ
git checkout
git restore
Π Π°Π±ΠΎΡΠ° Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ:
// ΡΠΏΠΈΡΠΎΠΊ Π²Π΅ΡΠΎΠΊ
git branch
// ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ
git branch [branch-name]
// ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²Π΅ΡΠΊΡ
git checkout [branch-name]
// branch + checkout
git checkout -b [branch-name]
// ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅
git branch -m [old-branch] [new-branch]
// ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ
git branch -d [branch-name]
// ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ
git merge [branch-name]
Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ:
// ΠΎΠ±ΡΡΠ½ΠΎ, ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°, ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ
// ΠΏΡΠΈΠ½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΡΠ»ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π²Π΅ΡΠΊΠΈ
git checkout --ours
// ΠΏΡΠΈΠ½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ
git checkout --theirs
// ΠΎΡΠΌΠ΅Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΡ
git reset --merge
git merge --abort
// ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ
git checkout --conflict=diff3 --merge [file-name]
// ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅
git merge --continue
Π£Π΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:
// ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
git clone [url] & [dir]
// ΠΏΡΠΎΡΠΌΠΎΡΡ
git remote
git remote show
git remote add [shortname] [url]
git remote rename [old-name] [new-name]
// ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
// git fetch + git merge
git pull
// ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
git push
Π’Π΅Π³ΠΈ:
// ΠΏΡΠΎΡΠΌΠΎΡΡ
git tag
// Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½Π°Ρ ΠΌΠ΅ΡΠΊΠ°
git tag [tag-name]
//ΠΏΡΠΈΠΌΠ΅Ρ
git tag v1-beta
// Π°Π½Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΌΠ΅ΡΠΊΠ°
git tag -a v1 -m "My Version 1"
// ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅
git tag -d [tag-name]
ΠΡΠ»Π°Π΄ΠΊΠ°
git bisect
git blame
git grep
Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π΅Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠ΅Π½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
// ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅
git stash
// ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅
git stash pop
ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°:
git cherry-pick | -x [hash]
// Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ
// ΠΎΡΠΌΠ΅Π½Π°
git cherry-pick --abort
// ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ
git cherry-pick --continue
git cherry-pick --no-commit | -n
// --cherry = --cherry-mark --left-right --no-merges
git log --oneline --cherry [branch2] [branch3]
ΠΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅:
git rebase [branch]
// ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°
// ΠΎΡΠΌΠ΅Π½Π°
git rebase --abort
// ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ
git rebase --skip
// ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ
git rebase --continue
// ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ»ΠΈΡΠ½ΠΈΡ
git rebase --preserve-merges | -p
// ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
git rebase -i [branch]
ΠΠ²ΡΠΎΠ·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ²:
// rerere - reuse recorder resolution
// rerere.enabled true | false
// rerere.autoUpdate true | false
// rerere-train.sh - ΡΠΊΡΠΈΠΏΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ rerere
git rerere forget [file-name]
ΠΠ±ΡΠ°ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ:
git revert @ | [hash]
// ΠΎΡΠΌΠ΅Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΡ
// git reset --hard @~ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ
git revert [hash] -m 1
// git merge [branch] Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ
// ΠΎΡΠΌΠ΅Π½Π° ΠΎΡΠΌΠ΅Π½Ρ
git revert [hash]
// ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Ρ rebase
git rebase [branch2] [branch3] | --onto [branch2] [hash] [branch3]
git merge [branch]
git rebase [hash] --no-ff
ΠΡΠΈΠΌΠ΅Ρ Π°Π»ΠΈΠ°ΡΠΎΠ² (ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠΉ) Π΄Π»Ρ .gitconfig:
[alias]
aa = add -A
co = checkout
ci = commit -m
st = status
br = branch
ΠΡΠΈΠΌΠ΅Ρ .gitconfig:
[user]
name = [My Name]
email = [[email protected]]
username = [myusername]
[core]
editor = [myeditor]
whitespace = fix,-indent-with-non-tab,trailing-space,cr-at-eol
pager = delta
[web]
browser = google-chrome
[instaweb]
httpd = apache2 -f
[rerere]
enabled = 1
autoupdate = 1
[push]
default = matching
[color]
ui = auto
[color "branch"]
current = yellow bold
local = green bold
remote = cyan bold
[color "diff"]
meta = yellow bold
frag = magenta bold
old = red bold
new = green bold
whitespace = red reverse
[color "status"]
added = green bold
changed = yellow bold
untracked = red bold
[difftool]
prompt = false
[delta]
features = line-numbers decorations
line-numbers = true
[delta "decorations"]
minus-style = red bold normal
plus-style = green bold normal
minus-emph-style = white bold red
minus-non-emph-style = red bold normal
plus-emph-style = white bold green
plus-non-emph-style = green bold normal
file-style = yellow bold none
file-decoration-style = yellow box
hunk-header-style = magenta bold
hunk-header-decoration-style = magenta box
minus-empty-line-marker-style = normal normal
plus-empty-line-marker-style = normal normal
line-numbers-right-format = "{np:^4}β "
[github]
user = [username]
token = token
[gitflow "prefix"]
versiontag = v
[sequence]
editor = interactive-rebase-tool
[alias]
a = add --all
ai = add -i
###
ap = apply
as = apply --stat
ac = apply --check
###
ama = am --abort
amr = am --resolved
ams = am --skip
###
b = branch
ba = branch -a
bd = branch -d
bdd = branch -D
br = branch -r
bc = rev-parse --abbrev-ref HEAD
bu = !git rev-parse --abbrev-ref --symbolic-full-name "@{u}"
bs = !git-branch-status
###
c = commit
ca = commit -a
cm = commit -m
cam = commit -am
cem = commit --allow-empty -m
cd = commit --amend
cad = commit -a --amend
ced = commit --allow-empty --amend
###
cl = clone
cld = clone --depth 1
clg = !sh -c 'git clone git://github.com/$1 $(basename $1)' -
clgp = !sh -c 'git clone [email protected]:$1 $(basename $1)' -
clgu = !sh -c 'git clone [email protected]:$(git config --get user.username)/$1 $1' -
###
cp = cherry-pick
cpa = cherry-pick --abort
cpc = cherry-pick --continue
###
d = diff
dp = diff --patience
dc = diff --cached
dk = diff --check
dck = diff --cached --check
dt = difftool
dct = difftool --cached
###
f = fetch
fo = fetch origin
fu = fetch upstream
###
fp = format-patch
###
fk = fsck
###
g = grep -p
###
l = log --oneline
lg = log --oneline --graph --decorate
###
ls = ls-files
lsf = !git ls-files | grep -i
###
m = merge
ma = merge --abort
mc = merge --continue
ms = merge --skip
###
o = checkout
om = checkout master
ob = checkout -b
opr = !sh -c 'git fo pull/$1/head:pr-$1 && git o pr-$1'
###
pr = prune -v
###
ps = push
psf = push -f
psu = push -u
pst = push --tags
###
pso = push origin
psao = push --all origin
psfo = push -f origin
psuo = push -u origin
###
psom = push origin master
psaom = push --all origin master
psfom = push -f origin master
psuom = push -u origin master
psoc = !git push origin $(git bc)
psaoc = !git push --all origin $(git bc)
psfoc = !git push -f origin $(git bc)
psuoc = !git push -u origin $(git bc)
psdc = !git push origin :$(git bc)
###
pl = pull
pb = pull --rebase
###
plo = pull origin
pbo = pull --rebase origin
plom = pull origin master
ploc = !git pull origin $(git bc)
pbom = pull --rebase origin master
pboc = !git pull --rebase origin $(git bc)
###
plu = pull upstream
plum = pull upstream master
pluc = !git pull upstream $(git bc)
pbum = pull --rebase upstream master
pbuc = !git pull --rebase upstream $(git bc)
###
rb = rebase
rba = rebase --abort
rbc = rebase --continue
rbi = rebase --interactive
rbs = rebase --skip
###
re = reset
rh = reset HEAD
reh = reset --hard
rem = reset --mixed
res = reset --soft
rehh = reset --hard HEAD
remh = reset --mixed HEAD
resh = reset --soft HEAD
rehom = reset --hard origin/master
###
r = remote
ra = remote add
rr = remote rm
rv = remote -v
rn = remote rename
rp = remote prune
rs = remote show
rao = remote add origin
rau = remote add upstream
rro = remote remove origin
rru = remote remove upstream
rso = remote show origin
rsu = remote show upstream
rpo = remote prune origin
rpu = remote prune upstream
###
rmf = rm -f
rmrf = rm -r -f
###
s = status
sb = status -s -b
###
sa = stash apply
sc = stash clear
sd = stash drop
sl = stash list
sp = stash pop
ss = stash save
ssk = stash save -k
sw = stash show
st = !git stash list | wc -l 2>/dev/null | grep -oEi '[0-9][0-9]*'
###
t = tag
td = tag -d
###
w = show
wp = show -p
wr = show -p --no-color
###
svnr = svn rebase
svnd = svn dcommit
svnl = svn log --oneline --show-commit
###
subadd = !sh -c 'git submodule add git://github.com/$1 $2/$(basename $1)' -
subrm = !sh -c 'git submodule deinit -f -- $1 && rm -rf .git/modules/$1 && git rm -f $1' -
subup = submodule update --init --recursive
subpull = !git submodule foreach git pull --tags origin master
###
assume = update-index --assume-unchanged
unassume = update-index --no-assume-unchanged
assumed = !git ls -v | grep ^h | cut -c 3-
unassumeall = !git assumed | xargs git unassume
assumeall = !git status -s | awk {'print $2'} | xargs git assume
###
bump = !sh -c 'git commit -am \"Version bump v$1\" && git psuoc && git release $1' -
release = !sh -c 'git tag v$1 && git pst' -
unrelease = !sh -c 'git tag -d v$1 && git pso :v$1' -
merged = !sh -c 'git o master && git plom && git bd $1 && git rpo' -
aliases = !git config -l | grep alias | cut -c 7-
snap = !git stash save 'snapshot: $(date)' && git stash apply 'stash@{0}'
bare = !sh -c 'git symbolic-ref HEAD refs/heads/$1 && git rm --cached -r . && git clean -xfd' -
whois = !sh -c 'git log -i -1 --author=\"$1\" --pretty=\"format:%an <%ae>\"' -
serve = daemon --reuseaddr --verbose --base-path=. --export-all ./.git
###
behind = !git rev-list --left-only --count $(git bu)...HEAD
ahead = !git rev-list --right-only --count $(git bu)...HEAD
###
ours = "!f() { git checkout --ours $@ && git add $@; }; f"
theirs = "!f() { git checkout --theirs $@ && git add $@; }; f"
subrepo = !sh -c 'git filter-branch --prune-empty --subdirectory-filter $1 master' -
human = name-rev --name-only --refs=refs/heads/*
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
ΠΡΠΈΠΌΠ΅Ρ .gitignore:
### Node ###
# Logs
logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Optional npm cache directory
.npm
# Dependency directories
/node_modules
/jspm_packages
/bower_components
# Yarn Integrity file
.yarn-integrity
# Optional eslint cache
.eslintcache
# dotenv environment variables file(s)
.env
.env.*
#Build generated
dist/
build/
# Serverless generated files
.serverless/
### SublimeText ###
# cache files for sublime text
*.tmlanguage.cache
*.tmPreferences.cache
*.stTheme.cache
# workspace files are user-specific
*.sublime-workspace
# project files should be checked into the repository, unless a significant
# proportion of contributors will probably not be using SublimeText
# *.sublime-project
### VisualStudioCode ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
### Vim ###
*.sw[a-p]
### WebStorm/IntelliJ ###
/.idea
modules.xml
*.ipr
*.iml
### System Files ###
*.DS_Store
# Windows thumbnail cache files
Thumbs.db
ehthumbs.db
ehthumbs_vista.db
# Folder config file
Desktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
npm
npm ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ: npmjs.com.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°.
npm ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Node.js.
Π’Π°ΠΊΠΆΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Node.js ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ npx, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±Π΅Π· ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ: npx create-react-app my-app.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ:
node --version | -v
npm --version | -v
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅:
npm i -g npm@latest
Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄:
npm help
npm help [command-name]
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
npm init
// auto
npm init --yes | -y
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
npm install | i
// ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
npm explore [package-name]
// ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π²ΡΠ΅Ρ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
npm doctor
// ΠΎΡΠΈΡΡΠΊΠ°
npm ci
ΠΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ:
npm i --force | -f
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²:
npm i --only=production | --only=prod
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
npm i [package-name]
npm i [package-name@version]
// ΠΏΡΠΈΠΌΠ΅Ρ
npm i express
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ:
npm i --save-dev | -D [package-name]
// ΠΏΡΠΈΠΌΠ΅Ρ
npm i -D nodemon
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
npm update | up [package-name]
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
// dependency
npm remove | rm | r [package-name]
// devDependency
npm r -D [package-name]
ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°/ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅/ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°:
npm i/up/r -g [package-name]
// ΠΏΡΠΈΠΌΠ΅Ρ
npm i -g create-react-app
// ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
create-react-app my-app
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²:
npm outdated
npm outdated [package-name]
Π‘ΠΏΠΈΡΠΎΠΊ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ:
npm list | ls
// top level
npm ls --depth=0 | --depth 0
// global + top level
npm ls -g --depth 0
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ΅:
npm view | v [package-name]
// ΠΏΡΠΈΠΌΠ΅Ρ
npm v react
npm v react.description
ΠΠ°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠ°/Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
npm run [script]
// ΠΏΡΠΈΠΌΠ΅Ρ
// package.json: "scripts": { "dev": "nodemon server.js" }
npm run dev
// script start ΠΈΠ»ΠΈ node server.js
npm start
npm stop
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄ΡΠ±Π»ΠΈΡΡΡΡΠΈΡ ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²:
npm dedupe | ddp
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²:
npm prune
ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ (ΡΠ³ΡΠΎΠ· Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ):
npm audit
// json
npm audit --json
// plain text
npm audit --parseable
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ:
npm audit fix
yarn
yarn, ΠΊΠ°ΠΊ ΠΈ npm, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ: yarnpkg.com.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°:
npm i -g yarn
ΠΠΎΠΌΠ°Π½Π΄Π° Β«yarn dlxΒ» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±Π΅Π· ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ: yarn dlx create-react-app my-app. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ yarn Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π΄ΠΎ Π²ΡΠΎΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ: yarn set version berry.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ:
yarn --version | -v
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅:
yarn set version latest
Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄:
yarn help
yarn help [command-name]
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
yarn init
// auto
yarn init --yes | -y
// "private": true Π² package.json
yarn init --private | -p
// auto + private
yarn init -yp
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ:
yarn
// ΠΈΠ»ΠΈ
yarn install
// ΡΠΈΡ
Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
yarn install --silent | -s
// ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°
yarn --check-files
ΠΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ:
yarn install --force
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²:
yarn install --production | --prod
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
yarn add [package-name]
yarn add [package-name@version]
// ΠΏΡΠΈΠΌΠ΅Ρ
yarn add express
// ΡΠΈΡ
Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
yarn add --silent
// ΠΈΠ»ΠΈ
yarn add -s
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ:
yarn add --dev | -D [package-name]
// ΠΏΡΠΈΠΌΠ΅Ρ
yarn add -D nodemon
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
yarn upgrade [package-name]
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
yarn remove [package-name]
ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°/ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅/ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°:
yarn global add/upgrade/remove [package-name]
// ΠΏΡΠΈΠΌΠ΅Ρ
yarn global add create-react-app
// ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
create-react-app my-app
Π‘ΠΏΠΈΡΠΎΠΊ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ:
yarn list
// top level
yarn list --depth=0 | --depth 0
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ΅:
yarn info [package-name]
// ΠΈΠ»ΠΈ
yarn why [package-name]
// ΠΏΡΠΈΠΌΠ΅Ρ
yarn info react
yarn info react description
yarn why webpack
ΠΠ°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠ°/Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
yarn [script]
// ΠΈΠ»ΠΈ
yarn run [script]
// ΠΏΡΠΈΠΌΠ΅Ρ
// package.json: "scripts": { "dev": "nodemon server.js" }
yarn dev
package.json
{
"name": "my-app",
"version": "1.0.0",
"description": "my awesome app",
"keywords": [
"amazing",
"awesome",
"best"
],
"private": true,
"main": "server.js",
"license": "MIT",
"homepage": "https://my-website.com",
"repository": {
"type": "git",
"url": "https://github.com/user/repo.git"
},
"repository": "github:user/repo",
"author": {
"name": "My Name",
"email": "[email protected]",
"url": "https://my-website.com"
},
"author": "My Name <[email protected]> (https://my-website.com)",
"contributers": [
{
"name": "Friend Name",
"email": "[email protected]",
"url": "https://friend-website.com"
}
],
"contributors": "Friend Name <friendemail.com> (https://friend-website.com)",
"dependencies": {
"express": "^4.17.1"
},
"devDependencies": {
"nodemon": "^2.0.4"
},
"scripts": {
"start": "react-scripts start",
"dev": "nodemon server.js"
}
}
- name β Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°
- version β Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° (ΡΠΌ. Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅)
- description β ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° (Π·Π°ΡΠ΅ΠΌ Π½ΡΠΆΠ΅Π½ ΠΏΠ°ΠΊΠ΅Ρ?)
- keywords β ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° (ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΠΏΠΎΠΈΡΠΊ Π² ΡΠ΅Π΅ΡΡΡΠ΅ npm)
- private β ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² true ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ° Π² ΡΠ΅Π΅ΡΡΡΠ΅ npm
- main β ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π° Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
- repository β ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ (ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ²)
- author β Π°Π²ΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° (ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ²)
- contributors β ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° (Π»ΡΠ΄ΠΈ, Π²Π½Π΅ΡΡΠΈΠ΅ Π²ΠΊΠ»Π°Π΄ Π² ΠΏΡΠΎΠ΅ΠΊΡ)
- dependencies β Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° (ΠΏΠ°ΠΊΠ΅ΡΡ, Π±Π΅Π· ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ)
- devDependencies β Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (ΠΏΠ°ΠΊΠ΅ΡΡ, Π±Π΅Π· ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ)
- scripts β ΠΊΠΎΠΌΠ°Π½Π΄Ρ (Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, Π·Π°Π΄Π°ΡΠΈ), ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«yarn devΒ» Π·Π°ΠΏΡΡΡΠΈΡ ΡΠΊΡΠΈΠΏΡ Β«nodemon server.jsΒ»
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ ΡΠ°ΠΉΠ»Π° Β«package.jsonΒ»: npm-package.json
Π€Π°ΠΉΠ»Ρ Β«package-lock.jsonΒ» ΠΈ Β«yarn.lockΒ» ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ , ΡΠ΅ΠΌ package.json, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π²ΠΌΠ΅ΡΡΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ Π²Π΅ΡΡΠΈΠΉ.
ΠΠ΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠΌΠ΅Π΅Ρ Π²Π΅ΡΡΠΈΡ, ΡΠΎΡΡΠΎΡΡΡΡ ΠΈΠ· ΡΡΠ΅Ρ ΡΠΈΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 1.0.0), Π³Π΄Π΅ ΠΏΠ΅ΡΠ²Π°Ρ ΡΠΈΡΡΠ° β ΠΌΠ°ΠΆΠΎΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ (major), Π²ΡΠΎΡΠ°Ρ β ΠΌΠΈΠ½ΠΎΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ (minor), ΡΡΠ΅ΡΡΡ β ΠΏΠ°ΡΡΠ΅Π²Π°Ρ Π²Π΅ΡΡΠΈΡ (ΠΏΠ°ΡΡ, patch). ΠΡΠΏΡΡΠΊ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΅Π»ΠΈΠ·ΠΎΠΌ.
Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ ΡΠΈΡΡ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (semver) ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
- major β Π²Π½Π΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
- minor β Π½ΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠ°Ρ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ
- patch β ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ, Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ
ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ Π²Π΅ΡΡΠΈΠΉ ΠΈΠ»ΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ ΡΠ΅Π»ΠΈΠ·Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² (ΠΊΠΎΠΌΠΏΠ°ΡΠ°ΡΠΎΡΠΎΠ²):
- * β Π»ΡΠ±Π°Ρ Π²Π΅ΡΡΠΈΡ (Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠ΅)
- <1.0.0 β Π»ΡΠ±Π°Ρ Π²Π΅ΡΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠ΅Π½ΡΡΠ΅ 1.0.0
- <=1.0.0 β Π»ΡΠ±Π°Ρ Π²Π΅ΡΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½Π° 1.0.0
- >1.0.0 β Π»ΡΠ±Π°Ρ Π²Π΅ΡΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΠΎΠ»ΡΡΠ΅ 1.0.0
- >=1.0.0 β Π»ΡΠ±Π°Ρ Π²Π΅ΡΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½Π° 1.0.0
- =1.0.0 β ΡΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΡΠΈΡ 1.0.0 (ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ «=» ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΡΡΠΈΡΡ)
- >=1.0.0 <2.0.0 β Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ 1.0.0 ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ 2.0.0
- 1.0.0-2.0.0 β Π½Π°Π±ΠΎΡ Π²Π΅ΡΡΠΈΠΉ Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ
- ^1.0.0 β ΠΌΠΈΠ½ΠΎΡΠ½ΡΠ΅ ΠΈ ΠΏΠ°ΡΡΠ΅Π²ΡΠ΅ ΡΠ΅Π»ΠΈΠ·Ρ (>=1.0.0 <2.0.0)
- ~.1.0.0 β ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΡΡΠ΅Π²ΡΠ΅ ΡΠ΅Π»ΠΈΠ·Ρ (>=1.0.0 <1.1.0)
ΠΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ semver: node-semver.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.
Git — Book
2nd Edition (2014)
Download Ebook
The entire Pro Git book, written by Scott Chacon and Ben Straub and published by Apress, is available here. All content is licensed under the Creative Commons Attribution Non Commercial Share Alike 3.0 license. Print versions of the book are available on Amazon.com.>
- 1.1
Π ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ - 1.2
ΠΡΠ°ΡΠΊΠ°Ρ ΠΈΡΡΠΎΡΠΈΡ Git - 1.3
ΠΡΠ½ΠΎΠ²Ρ Git - 1.4
ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° - 1.5
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Git - 1.6
ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Git - 1.7
ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠΌΠΎΡΡ? - 1.8
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
- 1.1
- 2.1
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ - 2.2
ΠΠ°ΠΏΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ - 2.3
ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² - 2.4
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΡΠΌΠ΅Π½Ρ - 2.5
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ - 2.6
Π Π°Π±ΠΎΡΠ° Ρ ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ - 2.7
ΠΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ Π² Git - 2.8
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
- 2.1
- 3.1
Π Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠΈ Π² Π΄Π²ΡΡ ΡΠ»ΠΎΠ²Π°Ρ - 3.2
- 3.1
Git-Mv β Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΎΠ΄Π½Π° ΠΏΠ°ΠΏΠΊΠ° Ρ ~ 300 ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ~ 30 ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ. Π― Π²ΡΡΠ΅Π·Π°Π» ΠΏΠ°ΠΏΠΊΡ (Ctrl + X) ΠΈ Π²ΡΡΠ°Π²ΠΈΠ» (Ctrl + V) Π² ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΡ ΠΏΠ°ΠΏΠΊΡ. Π’ΠΎΠ³Π΄Π° Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΄Π΅Π»Π°Π» git add -A . ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ git status Ρ Π±Ρ ΡΠΊΠ°Π·Π°Π»,…
6Β ΠΌΠ΅ΡΡΡΠ΅Π², 2Β Π½Π΅Π΄Π΅Π»ΠΈ Π½Π°Π·Π°Π΄
J4N
ΠΡΠΎ-ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΈ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎ git Π½Π΅ ΡΠΌΠΎΠ³ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ, ΡΡΠΎ ΡΡΠΎ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΉΠ». ΠΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ git mv , ΠΏΠΎΡΡΠΎΠΌΡ, ΠΊΠΎΠ³Π΄Π° Ρ ΠΏΠΎΠ»ΡΡΠΈΠ» Π·Π°ΠΏΡΠΎΡ Π½Π° pull, Ρ ΡΠ²ΠΈΠ΄Π΅Π» Π΄ΠΎΠ±Π°Π²Π»…
6Β ΠΌΠ΅ΡΡΡΠ΅Π², 2Β Π½Π΅Π΄Π΅Π»ΠΈ Π½Π°Π·Π°Π΄
Roberto
Π ΠΏΡΠΎΡΠ»ΠΎΠΌ ΠΌΠ΅ΡΡΡΠ΅ Ρ Π½Π°ΡΠ°Π» Π²Π½ΠΎΡΠΈΡΡ Π²ΠΊΠ»Π°Π΄ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ GitHub, ΠΎΡΠΊΡΡΠ²Π°Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠ΅ΠΏΠΎ, ΡΠΎΠ·Π΄Π°Π²Π°Ρ Π²Π΅ΡΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΡΠΏΡΠ°Π²Π»ΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΏΠ΅ΡΠ΅Π½ΠΎΡ. ΠΠΎΠ²ΡΠΎΡΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π΄Π½…
Π― Π·Π½Π°Ρ, ΡΡΠΎ git ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ‘git rm’ ΠΈ ‘git mv’ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ/ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ². ΠΠΎ Ρ Π½Π΅ Π²ΠΈΠΆΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ. ΠΠ±ΡΡΠ½ΠΎ Ρ ΠΏΡΠΎΡΡΠΎ mv ΠΈΠ»ΠΈ rm ΡΠ°ΠΉΠ»Ρ ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ …
10Β Π»Π΅Ρ, 1Β ΠΌΠ΅ΡΡΡ Π½Π°Π·Π°Π΄
prosseek
ΠΠΎΠΏΡΠΎΡ ΠΠΌΠ΅Π΅Ρ Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Ρ Git ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git mv , Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ Ρ MS -DOS move ΠΈΠ»ΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊ Windows? Π Π΄Π½ΠΈ Subversion Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ»ΠΎ
5Β Π»Π΅Ρ, 1Β ΠΌΠ΅ΡΡΡ Π½Π°Π·Π°Π΄
Lernkurve
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ GIT ΠΏΠΎΠ΄ ΠΎΠΊΠ½Π°ΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° GIT Bash ΠΈ ΠΏΡΡΠ°ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π² Π΄ΡΡΠ³ΠΎΠΉ. Π― ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΠ°Π·Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ clean, commit again ΠΈ Ρ.Π΄., ΠΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄…
Π― ΠΏΡΠΎΡΠΈΡΠ°Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ git, ΠΈ ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠ΅ΡΠΈΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, — ΡΡΠΎ ΡΠΎΡ , ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ git subtree . Π‘Π»Π΅Π΄ΡΡ ΡΠ°Π³Π°ΠΌ, Π²ΡΠ΅, ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΠ°Π±ΠΎΡΠ°Π΅…
Π£ ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΌΠΎΠΈΠΌΠΈ ΠΌΠ΅ΡΡΠ½ΡΠΌΠΈ Π²Π΅ΡΠΊΠΈΠΌΠΈ. ΠΠΎΠ³Π΄Π° Ρ ΠΏΡΡΠ°ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ git checkout <branch> Ρ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅: error: The following untracked working tree files would be overwri…
Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° git — git-repo a — subdirectory 2015 — git-submodule b — git-submodule c — git-submodule d Π― Ρ ΠΎΡΠ΅Π» Π±Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ git c Π² ΠΏΠ°ΠΏΠΊΡ 2015. Π― Π·Π½Π°Ρ «Π³ΡΡΠ·Π½ΡΠ΅…
Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ> 100 ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π» Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π°Π·Π°Π΄ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΏΡΡΠΈ: /Users/myusername/ ΠΠ΄Π½Π°ΠΊΠΎ Π²ΡΠ΅ ΠΌΠΎΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ²…
Π― ΡΠΈΡΠ°Π», ΡΡΠΎ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π² git Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π·Π°ΡΠ΅ΠΌ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ». Git ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ ΡΠ°ΠΉΠ» ΠΈΠ· ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ, Π²…
10Β Π»Π΅Ρ, 6Β ΠΌΠ΅ΡΡΡΠ΅Π² Π½Π°Π·Π°Π΄
Greg K
Π bash Ρ ΠΌΠΎΠ³Ρ find. -name jndi.properties -exec rename ‘s/jndi/environment/’ {} \; find. -name jndi.properties -exec rename ‘s/jndi/environment/’ {} \; ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ Π½Π°ΠΉΡΠΈ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ jndi.propertie ΠΈ ΠΏ…
4Β Π³ΠΎΠ΄Π°, 4Β ΠΌΠ΅ΡΡΡΠ° Π½Π°Π·Π°Π΄
dr jerry
ΠΡΠΎ Π²ΠΎΠΏΡΠΎΡ ΠΊ Π΄ΡΡΠ³ΠΎΠΌΡ Π²ΠΎΠΏΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ Π·Π°Π΄Π°Π» ΡΠ°Π½ΡΡΠ΅ . ΠΠ΅ΡΠ΅Π΄ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» something ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ Π² someth
Π ΠΌΠΎΠ΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° git ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΡΡΠ³ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΡΡΠΎ Ρ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΠΎΠ³Ρ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΠΎΠ·Π΄Π°Π² Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΠΊΠΈ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π½Π΅ ΡΠ΅ΡΡΡ ΠΊ…
Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π΄Π²Π΅ Π²Π΅ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΏΡΡΠ°ΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ. Π ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎ 2-ΠΌ Π²Π΅ΡΠΊΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ. ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Ρ ΠΏΡΡΠ°ΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡΡ…
3Β Π³ΠΎΠ΄Π°, 8Β ΠΌΠ΅ΡΡΡΠ΅Π² Π½Π°Π·Π°Π΄
ufk
Π― ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» mv Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΡΡ ΠΏΠΎΠ΄ git. Π― ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π» ΡΠ°ΠΉΠ» ΠΎΡ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ° Π΄ΠΎ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°, ΡΠΎΡ ΡΠ°Π½ΡΡ Π΅Π³ΠΎ ΠΈΠΌΡ. mv abc.java ABC.java Π― ΡΠ°ΠΊΠΆΠ΅ Π²Π½Π΅Ρ ΠΈΠ·ΠΌΠ΅…
4Β Π³ΠΎΠ΄Π°, 7Β ΠΌΠ΅ΡΡΡΠ΅Π² Π½Π°Π·Π°Π΄
AshwiniR
git rm | Atlassian Git Tutorial
Π Π½Π°ΡΠ°Π»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Git ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ: Β«ΠΠ°ΠΊ Π·Π°ΡΡΠ°Π²ΠΈΡΡ Git Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²?Β» Π§ΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Git, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git rm
. ΠΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git add
.
ΠΠ±Π·ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git rm
ΠΠΎΠΌΠ°Π½Π΄Π° git rm
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π°Π»ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ»ΠΈ Π³ΡΡΠΏΠΏΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ git rm
β ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ° Git. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ git rm
ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ· ΡΠ°Π·Π΄Π΅Π»Π° ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°. Π£Π΄Π°Π»ΠΈΡΡ Ρ Π΅Π΅ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΉΠ» ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π½Π΅Π»ΡΠ·Ρ. Π€Π°ΠΉΠ»Ρ, Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΡΡ
Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Ρ ΡΠ°ΠΉΠ»Π°ΠΌ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ HEAD
. Π ΡΠ»ΡΡΠ°Π΅ ΡΠ°ΡΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΡΠ°ΠΉΠ»Π° ΠΈΠ· ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ HEAD
ΠΈ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΠΈΠ· ΡΠ°Π·Π΄Π΅Π»Π° ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π΄Π΅ΡΠ΅Π²Π° Git Π·Π°Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅. Π’Π°ΠΊΠ°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΈΡ
Π²Π½Π΅ΡΠ΅Π½ΠΈΡ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ git rm
Π½Π΅ ΡΠ΄Π°Π»ΡΠ΅Ρ Π²Π΅ΡΠΊΠΈ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π²Π΅ΡΠΎΠΊ Git ΡΠΌ. Π·Π΄Π΅ΡΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ»Ρ, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°ΡΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ», Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ±Π΅Π» (file1 file2 file3
) ΠΈΠ»ΠΈ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ (~./directory/*)
.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ -f
ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Git ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ HEAD
ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ ΡΠ°Π·Π΄Π΅Π»Π° ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ dry run ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°ΡΠΈΡΠ½ΡΠΌ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠΌ. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΠ±Π½ΡΠΉ Π·Π°ΠΏΡΡΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git rm
Π±Π΅Π· ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π Π²ΡΠ²ΠΎΠ΄Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π±ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ -r
β ΡΡΠΎ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ ΡΠ»ΠΎΠ²Π° recursive. ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git rm
Π² ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΠ½Π° ΡΠ΄Π°Π»ΡΠ΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΈ Π²ΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΅Π³ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ
ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ².
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΡΠ»ΠΈΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠΌΠ΅Π½ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΎΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄Π΅ git rm
. Π Π°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΏΠΎΠ»Π΅Π·Π΅Π½, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠΌΠ΅ΡΡ ΠΈΠΌΠ΅Π½Π°, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ cached ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»Ρ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠ΅ΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π€Π°ΠΉΠ»Ρ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΡΡΠ°ΡΡΡΡ Π½Π΅ΡΡΠΎΠ½ΡΡΡΠΌΠΈ.
ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π·Π°Π²Π΅ΡΡΠΈΡΡΡΡ ΡΠΎ ΡΡΠ°ΡΡΡΠΎΠΌ sigterm, ΡΠ°Π²Π½ΡΠΌ 0, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ»Ρ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ, Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Ρ. Sigterm β ΡΡΠΎ ΠΊΠΎΠ΄ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² Unix. ΠΠΎΠ΄ 0 ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΡΠΏΠ΅ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ --ignore-unmatch
ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π΅Π½, Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° git rm
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠΎΡΡΠ°Π²Π΅ ΡΠΊΡΠΈΠΏΡΠ° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈ ΠΎΡΠΊΠ°Π·Π΅.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ quiet ΡΠΊΡΡΠ²Π°Π΅Ρ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git rm
. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ».
ΠΡΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git rm
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½ΠΎΡΠΈΠΌΡΠ΅ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git rm
, Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ. ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΡΠ°Π·Π΄Π΅Π» ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π΅ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ, ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠΎΠ·Π΄Π°Π½ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈ ΠΎΠ½ΠΈ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². Π’Π°ΠΊ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git rm, ΠΌΠΎΠΆΠ½ΠΎ Β«ΠΎΡΠΌΠ΅Π½ΠΈΡΡΒ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄ Git.
ΠΠΎΠΌΠ°Π½Π΄Π° git reset Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ ΡΠ°Π·Π΄Π΅Π» ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π΄ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° HEAD
. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ git rm
, Π±ΡΠ΄ΡΡ ΠΎΡΠΌΠ΅Π½Π΅Π½Ρ.
Π’Π°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git checkout: ΠΎΠ½Π° Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π½ΠΎΠ²Π΅ΠΉΡΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ°ΠΉΠ»Π° ΠΈΠ· ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ HEAD
.
ΠΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ git rm
Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΈΠ·-Π·Π° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡ
ΡΠ°Π½ΠΈΠ»ΠΎΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git reflog
, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΡΡΡΠ»ΠΊΡ, ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ git rm
. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ git reflog ΡΠΌ. Π·Π΄Π΅ΡΡ.
ΠΠΎΡΡΠ½Π΅Π½ΠΈΡ
ΠΡΠ³ΡΠΌΠ΅Π½Ρ file>, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΎΡΠ½ΡΠ΅ ΠΏΡΡΠΈ, ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ². ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΄Π°Π»ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΡΠΈ, Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Git ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
Π¨Π°Π±Π»ΠΎΠ½Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΈΠΌΠ΅Π½Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ². ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ° ΡΠ»Π΅Π΄ΡΠ΅Ρ Π±ΡΡΡ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ: directory/*
ΠΈ directory*
. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ
ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ directory/
, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π²ΡΠΎΡΠΎΠΉ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ
ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², ΠΈΠΌΡ ΠΊΠΎΡΠΎΡΡΡ
Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π½Π° directory β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, directory1
, directory2
, directory_whatever
ΠΈ Ρ. Π΄., ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΠΌ.
ΠΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git rm
ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git rm
ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Π΄Π΅ΡΠ΅Π²ΡΡΡ
ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΈ ΡΠ°Π·Π΄Π΅Π»Π° ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ². Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π½Π΅ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π΄ΠΎ ΡΠ΅Ρ
ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠΎΠ·Π΄Π°Π½ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΠΎΡΠ΅ΠΌΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ git rm, Π° Π½Π΅ rm
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Git ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ rm
Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΈΠΌ ΡΠ°ΠΉΠ»Π° ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³. ΠΠΎ ΡΠ°Π·Π΄Π΅Π» ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ. Π§ΡΠΎΠ±Ρ Π²Π½Π΅ΡΡΠΈ Π² Π½Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
ΠΏΡΡΠ΅ΠΉ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git add
. ΠΠΎΠΌΠ°Π½Π΄Π° git rm
ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΏΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΈ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΠΈ ΡΠ°Π·Π΄Π΅Π» ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΡΠΈΠΌΠ΅ΡΡ
gitΒ rmΒ Documentation/\*.txt
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ
ΡΠ°ΠΉΠ»ΠΎΠ² *.txt
Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Documentation
ΠΈ Π²ΡΠ΅Ρ
Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ
.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠΈΠΌΠ²ΠΎΠ» Π·Π²Π΅Π·Π΄ΠΎΡΠΊΠΈ * Π·Π΄Π΅ΡΡ ΡΠΊΡΠ°Π½ΠΈΡΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ ΠΊΠΎΡΠΎΠΉ ΡΠ΅ΡΡΡ. ΠΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Π½Π΅ ΡΠ°ΡΡΠΈΡΡΠ»Π° ΡΠ°Π±Π»ΠΎΠ½. Π ΡΠ°ΠΊΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ ΠΎΠ½ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΡΠΈ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΈ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌ, Π½Π°Ρ
ΠΎΠ΄ΡΡΠΈΠΌΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Documentation/
.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ force Π΄Π»Ρ Π²ΡΠ΅Ρ
ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ git-*.sh
. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ force ΡΠ²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠ΅Π»Π΅Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΈ ΡΠ°Π·Π΄Π΅Π»Π° ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ².
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΡ
ΡΠΆΠ΅ Π½Π΅Ρ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅
Π ΡΠ°Π·Π΄Π΅Π»Π΅ Β«ΠΠΎΡΠ΅ΠΌΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ git rm
, Π° Π½Π΅ rm
Β» Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° git rm
ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°: ΠΎΠ½Π° ΡΠΎΡΠ΅ΡΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ rm
ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git add
, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ· ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΈ ΡΠ°Π·Π΄Π΅Π»Π° ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠ»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ rm
, ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½ΡΠΌ.
ΠΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΡΠ²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΡΠΎΡΡΠ°Π²Π΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git commit -a
. ΠΠ½Π° Π²Π½Π΅ΡΠ΅Ρ Π²ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π² ΡΠ°Π·Π΄Π΅Π» ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ.
ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΡΠΎΠΈΡ Π·Π°Π΄Π°ΡΠ° Π±Π΅Π·Π²ΠΎΠ·Π²ΡΠ°ΡΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ, ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ rm
, Π½ΡΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
gitΒ diffΒ --name-onlyΒ --diff-filter=DΒ -zΒ |Β xargsΒ -0Β gitΒ rmΒ --cached
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ git rm --cached
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ ΡΠ°Π·Π΄Π΅Π» ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΠΎΠΌΠ°Π½Π΄Π° git rm: Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΎΠΌΠ°Π½Π΄Π° git rm
Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π°Π΄ Π΄Π²ΡΠΌΡ Π³Π»Π°Π²Π½ΡΠΌΠΈ Π΄Π΅ΡΠ΅Π²ΡΡΠΌΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ Git: ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ ΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΎΠΌ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΎΠΌΠ°Π½Π΄Π° git rm
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π°Π»ΡΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Git. ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ rm
ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git add
: ΡΠ½Π°ΡΠ°Π»Π° git rm ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π° Π·Π°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π² ΡΠ°Π·Π΄Π΅Π» ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° β ΠΎΠ΄Π½Π° ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ
, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΡΠΌΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Git.
git rm ΠΈ git mv
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π²Π°ΠΆΠ½ΡΠΉ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²ΠΎΠΏΡΠΎΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Git — ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ.
Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π ΡΠΈΡΡΠ΅ΠΌΠ΅ Git ΠΈΠΌΠ΅ΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ
ΠΎΠΆΠΈ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ
Π² Linux / Mac OS. ΠΠΎ Π΄Π»Ρ Git ΠΎΠ½ΠΈ Π²ΡΠ³Π»ΡΠ΄ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½Π°ΡΠ΅:
— Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ
— Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΈΠΆΠ΅ Ρ ΡΠ°ΡΡΠΌΠΎΡΡΡ ΠΎΠ±Π΅ ΡΡΠΈ ΠΊΠΎΠΌΠ°Π΄Π½Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ.
ΠΠΎΠΌΠ°Π½Π΄Π° git rm
ΠΠ»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Git, ΠΊΠ°ΠΊ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ Π²ΡΡΠ΅, ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° .ΠΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
(Π² ΡΠΎΠΌ ΠΆΠ΅ Linux) Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ
ΡΠ°ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Git.
ΠΠ°ΠΊ Ρ ΠΎΡΠΎΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Git ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΡΡΠ΅Ρ ΠΈΠΏΠΎΡΡΠ°ΡΡΡ : Β«Π Π°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Β», Π² ΠΎΠ±Π»Π°ΡΡΠΈ Β«ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡΒ», Π² ΠΎΠ±Π»Π°ΡΡΠΈ Β«Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉΒ». Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ Β«Π Π°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Β» Π½Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π΅Π³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ Β«ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡΒ» ΠΈ Β«Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉΒ».
ΠΠΎΡΡΠΎΠΌΡ, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ», Π½ΡΠΆΠ½ΠΎ (Π² ΠΈΠ΄Π΅Π°Π»Π΅) Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΠ΄ΡΡΠ΄ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΈΠ· Π Π°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Β«Π Π°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Β», ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Β«ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡΒ» ΠΈ ΠΏΠΎΡΠΎΠΌ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Β«Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉΒ»:
$ rm ΠΈΠ½Π΄Π΅ΠΊΡ.html
$ git add.
$ git commit -m 'Π£Π΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ» index.html'
ΠΠΎΠΌΠ°Π½Π΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΈ ΡΠ΅ΠΌ ΠΈΠ½ΡΠΌ, ΠΊΠ°ΠΊ Β«Π²ΡΠΈΡΡΠΌΒ» Π² Git ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π²ΡΡ
ΠΏΠ΅ΡΠ²ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄:
$ rm index.html
$ git add.
Π‘Π΄Π΅Π»Π°Π½ΠΎ ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Git. ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ . ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠ°ΠΉΠ»
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½.
Π£Π΄Π°Π»ΠΈΠΌ Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ :
ΠΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠ°ΠΉΠ» Π±ΡΠ» ΡΠ΄Π°Π»Π΅Π½ ΠΈΠ· Π΄Π²ΡΡ
ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ: ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Β«Π Π°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Β» ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ Β«ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡΒ».ΠΠΎ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΠ°ΠΉΠ» Π²ΡΠ΅ ΠΆΠ΅ ΠΎΡΡΠ°Π»ΡΡ, ΠΎ ΡΠ΅ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
.
ΠΡΠ±ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π·Π°ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°:
ΠΠΎΠΌΠ°Π½Π΄Π° git rm -cached
Π£ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΏΠ°ΡΠ° ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
ΠΊΠ»ΡΡΠ΅ΠΉ, ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡ
. ΠΠ°Π΄Π°ΡΠ° ΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° — ΠΊΠΎΠΌΠ°Π½Π΄Π°
ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Β«ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈΒ», Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π΅Π³ΠΎ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Β«Π Π°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Β». ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ·Π΄Π°Π½ ΡΠ°ΠΉΠ»
ΠΈ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° Π΅Π³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ (Π½ΠΎ Π½Π΅ ΡΠΈΠΊΡΠ°ΡΠΈΡ):
Π£Π΄Π°Π»ΠΈΠΌ Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ :
ΠΡΠ»ΠΈΡΠ½ΠΎ! ΠΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° .ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΡΡΡΠ΄
ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Β«Π Π°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Β» ΠΈΠΌΠ΅Π΅ΡΡΡ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ (Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ) ΡΠ°ΠΉΠ» ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ
.
ΠΠΎΠΌΠ°Π½Π΄Π° git rm -f
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π» Π²Π°ΡΠΈΠ°Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΈ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ ΠΎΡΡΠ°Π΅ΡΡΡ Π² Β«Π Π°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅Β». ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ .
ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ° ΠΆΠ΅ ΡΠ°ΠΌΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° , Π½ΠΎ Ρ ΠΊΠ»ΡΡΠΎΠΌ
—
.Π’Π°ΠΊΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ (Π½ΠΎ Π΅ΡΠ΅ Π½Π΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ) ΡΠ°ΠΉΠ» ΠΊΠ°ΠΊ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ Β«ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½Π°Ρ Π·ΠΎΠ½Π°Β», ΡΠ°ΠΊ ΠΈ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ Β«Π Π°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Β».
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π΅Π³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
:
Π€Π°ΠΉΠ» ΡΠ΄Π°Π»Π΅Π½ ΠΊΠ°ΠΊ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ Β«ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡΒ», ΡΠ°ΠΊ ΠΈ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ Β«Π Π°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Β». Π ΠΈΡΠΎΠ³Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠ°Π·Π½ΠΈΡΡ.
ΠΠΎΠΌΠ°Π½Π΄Π° git mv — ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²
Π ΡΠΈΡΡΠ΅ΠΌΠ΅ Git ΠΈΠΌΠ΅Π΅ΡΡΡ Β«ΡΠ²ΠΎΡΒ» ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π‘Π»ΠΎΠ²ΠΎ Β«ΡΠ²ΠΎΡΒ» Π·Π΄Π΅ΡΡ Π½Π΅ Π΄Π°ΡΠΎΠΌ Π²Π·ΡΡΠΎ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ — Π°Π½Π°Π»ΠΎΠ³ΠΈΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΏΠΎΠ»Π½Π°Ρ. ΠΠΎΠΌΠ°Π½Π΄Π°
ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ»Ρ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Β«ΡΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡΒ» ΠΎΠ± ΡΡΠΈΡ
ΡΠΎΠ±ΡΡΠΈΡΡ
ΠΎΠ±Π»Π°ΡΡΡ Β«Staging AreaΒ»:
ΠΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π»ΡΠ±ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ:
$ git commit -m 'ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ.html Π² papka '
[master 868d428] ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ index.html Π² ΠΏΠ°ΠΏΠΊΡ papka
1 ΡΠ°ΠΉΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½, 0 Π²ΡΡΠ°Π²ΠΎΠΊ (+), 0 ΡΠ΄Π°Π»Π΅Π½ΠΈΠΉ (-)
ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ index.html => papka / index.html (100%)
ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
:
ΠΠΎΡ ΠΈ Π²ΡΠ΅ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ \ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ
, ΠΏΠΎΠ΄ Π²ΡΠ΅Π²ΠΈΠ΄ΡΡΠΈΠΌ ΠΎΠΊΠΎΠΌ Git.
ΠΌΠ΅ΡΠ·Π°Π²Π΅Ρ
.
ΠΠ°ΠΊΠΎΠ²Π° ΡΠ΅Π»Ρ git-mv? | ΠΠ»ΠΎΠ³ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ
Git ΠΏΡΠΎΡΡΠΎ ΠΏΡΡΠ°Π΅ΡΡΡ ΡΠ³Π°Π΄Π°ΡΡ Π΄Π»Ρ Π²Π°Ρ, ΡΡΠΎ Π²Ρ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ. ΠΠ½Π° Π΄Π΅Π»Π°Π΅Ρ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅, ΡΡΠΎΠ±Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π½Π΅ΡΡΡΠΈΠΌΡΡ ΠΈΡΡΠΎΡΠΈΡ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠΎ Π½Π΅ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ. Π’Π°ΠΊ ΡΡΠΎ git mv
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π±ΡΡΡ Ρ Π²Π°ΡΠΈΠΌ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠ²Π½ΡΠΌ.
ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠ°ΡΠ°Π»ΠΎ Ρ ΠΏΡΡΡΠΎΠ³ΠΎ Π ΠΠΠ,
git init
echo "ΠΠ΅ΡΠ²ΡΠΉ"> Π°
echo "Second"> b
git add *
git commit -m "Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ"
ΠΌΠ² Π° Ρ
mv b a
git status
ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
# ΠΠ°ΡΡΠ΅Ρ ΡΠΈΠ»ΠΈΠ°Π»Π°
# ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ:
# (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ "git add / rm ... "ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠΎ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΎ)
# (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ "git checkout - <ΡΠ°ΠΉΠ»> ...", ΡΡΠΎΠ±Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅)
#
# ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ: a
# ΡΠ΄Π°Π»Π΅Π½ΠΎ: b
#
# ΠΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ:
# (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ "git add ..." Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΡΠΎ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΎ)
#
# c
Π² ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ "git add" ΠΈ / ΠΈΠ»ΠΈ "git commit -a")
Π°Π²ΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π΅ π
ΠΠ»ΠΈ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»?
$ git add *
$ git commit -m "ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ"
$ git ΠΆΡΡΠ½Π°Π» c
ΡΠΎΠ²Π΅ΡΡΠΈΡΡ 0c5425be1121c20cc45df04734398dfbac689c39
ΠΠ²ΡΠΎΡ: Π‘Π΅ΡΠ³Π΅ΠΉ ΠΡΡΠ°Π½ΡΠΊΠΈΠΉ <***** @ gmail.com>
ΠΠ°ΡΠ°: Π‘Π± 12 ΠΎΠΊΡ, 00:24:56 2013 -0400
ΠΌΠ΅Π½ΡΡΡ
ΠΈ Π·Π°ΡΠ΅ΠΌ
$ git log - ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ c
ΠΠ²ΡΠΎΡ: Π‘Π΅ΡΠ³Π΅ΠΉ ΠΡΡΠ°Π½ΡΠΊΠΈΠΉ <***** @ gmail.com>
ΠΠ°ΡΠ°: Π‘Π± 12 ΠΎΠΊΡ, 00:24:56 2013 -0400
ΠΌΠ΅Π½ΡΡΡ
ΡΠΎΠ²Π΅ΡΡΠΈΡΡ 50c2a4604a27be2a1f4b95399d5e0f96c3dbf70a
ΠΠ²ΡΠΎΡ: Π‘Π΅ΡΠ³Π΅ΠΉ ΠΡΡΠ°Π½ΡΠΊΠΈΠΉ <***** @ gmail.com>
ΠΠ°ΡΠ°: Π‘Π± 12 ΠΎΠΊΡ, 00:24:45 2013 -0400
Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ
ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ (Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ .git
ΠΏΠ°ΠΏΠΊΠ° ΠΏΡΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ):
git init
echo "ΠΠ΅ΡΠ²ΡΠΉ"> Π°
echo "Second"> b
git add *
git commit -m "Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ"
git mv a c
git status
ΡΠ°ΠΊ:
# ΠΠ°ΡΡΠ΅Ρ ΡΠΈΠ»ΠΈΠ°Π»Π°
# ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ:
# (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ "git reset HEAD <ΡΠ°ΠΉΠ»>... "ΡΠ±ΡΠ°ΡΡ ΡΡΠ΅Π½Ρ)
#
# ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΎ: a -> c
git mv b a
git status
ΡΠ΅ΠΏΠ΅ΡΡ Π½ΠΈΠΊΡΠΎ Π½Π΅ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π΅Π½:
# ΠΠ°ΡΡΠ΅Ρ ΡΠΈΠ»ΠΈΠ°Π»Π°
# ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ:
# (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ "git reset HEAD <ΡΠ°ΠΉΠ»> ...", ΡΡΠΎΠ±Ρ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΡΠ΅Π½Ρ)
#
# ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ: a
# ΡΠ΄Π°Π»Π΅Π½ΠΎ: b
# Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ»: c
#
Π² ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅? ΠΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅ …
git add *
git commit -m "ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ"
git ΠΆΡΡΠ½Π°Π» c
git log - ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ c
… ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΎΡ ΠΆΠ΅, ΡΡΠΎ ΠΈ Π²ΡΡΠ΅: ΡΠΎΠ»ΡΠΊΠΎ - ΡΠ»Π΅Π΄ΡΠΉΡΠ΅
ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΠΎΠ»Π½ΡΡ ΠΈΡΡΠΎΡΠΈΡ.
ΡΠ΅ΠΏΠ΅ΡΡ, Π±ΡΠ΄ΡΡΠ΅ ΠΎΡΡΠΎΡΠΎΠΆΠ½Ρ Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΊΠ°ΠΊ Π»ΡΠ±ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΡΠ°Π½Π½ΠΎ ΡΡΡΠ΅ΠΊΡΡ .
ΠΡΠΈΠΌΠ΅Ρ:
git init
echo "ΠΠ΅ΡΠ²ΡΠΉ"> Π°
git Π΄ΠΎΠ±Π°Π²ΠΈΡΡ
git commit -m "Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ Π°"
echo "Second"> b
git Π΄ΠΎΠ±Π°Π²ΠΈΡΡ b
git commit -m "Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ Π±"
git mv a c
git commit -m "ΠΏΠ΅ΡΠ²ΡΠΉ Ρ
ΠΎΠ΄"
git mv b a
git commit -m "Π²ΡΠΎΡΠΎΠΉ Ρ
ΠΎΠ΄"
git log - ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ Π½Π°
ΡΠΎΠ²Π΅ΡΡΠΈΡΡ 81b80f5690deec1864ebff294f875980216a059d
ΠΠ²ΡΠΎΡ: Π‘Π΅ΡΠ³Π΅ΠΉ ΠΡΡΠ°Π½ΡΠΊΠΈΠΉ <***** @ gmail.com>
ΠΠ°ΡΠ°: Π‘Π± 12 ΠΎΠΊΡ, 00:35:58 2013 -0400
Π²ΡΠΎΡΠΎΠΉ Ρ
ΠΎΠ΄
ΡΠΎΠ²Π΅ΡΡΠΈΡΡ f284fba9dc8455295b1abdaae9cc6ee941b66e7f
ΠΠ²ΡΠΎΡ: Π‘Π΅ΡΠ³Π΅ΠΉ ΠΡΡΠ°Π½ΡΠΊΠΈΠΉ <***** @ gmail.com>
ΠΠ°ΡΠ°: Π‘Π± 12 ΠΎΠΊΡ, 00:34:54 2013 -0400
Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ Π±
ΡΡΠ°Π²Π½ΠΈΡΠ΅ Π΅Π³ΠΎ Ρ:
git init
echo "ΠΠ΅ΡΠ²ΡΠΉ"> Π°
git Π΄ΠΎΠ±Π°Π²ΠΈΡΡ
git commit -m "Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ Π°"
echo "Second"> b
git Π΄ΠΎΠ±Π°Π²ΠΈΡΡ b
git commit -m "Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ Π±"
git mv a c
git mv b a
git commit -m "ΠΎΠ±Π° Ρ
ΠΎΠ΄Π° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ"
git log - ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ Π½Π°
ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
ΡΠΎΠ²Π΅ΡΡΠΈΡΡ 84bf29b01f32ea6b746857e0d8401654c4413ecd
ΠΠ²ΡΠΎΡ: Π‘Π΅ΡΠ³Π΅ΠΉ ΠΡΡΠ°Π½ΡΠΊΠΈΠΉ <***** @ gmail.com>
ΠΠ°ΡΠ°: Π‘Π± 12 ΠΎΠΊΡ, 00:37:13 2013 -0400
ΠΎΠ±Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ
ΡΠΎΠ²Π΅ΡΡΠΈΡΡ ec0de3c5358758ffda462913f6e6294731400455
ΠΠ²ΡΠΎΡ: Π‘Π΅ΡΠ³Π΅ΠΉ ΠΡΡΠ°Π½ΡΠΊΠΈΠΉ <***** @ gmail.com>
ΠΠ°ΡΠ°: Π‘Π± 12 ΠΎΠΊΡ, 00:36:52 2013 -0400
ΠΈΠ½ΠΈΡΠΈΠ°Π»Ρ
Π£ΠΏΡ … Π’Π΅ΠΏΠ΅ΡΡ ΠΈΡΡΠΎΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ a Π²ΠΌΠ΅ΡΡΠΎ Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ b , ΡΡΠΎ Π½Π΅Π²Π΅ΡΠ½ΠΎ. ΠΠΎΡΡΠΎΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π΄Π΅Π»Π°Π»ΠΈ Π΄Π²Π° Ρ
ΠΎΠ΄Π° Π·Π° ΡΠ°Π·, Git Π·Π°ΠΏΡΡΠ°Π»ΡΡ ΠΈ Π½Π΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΡΡΠ°ΡΠΈ, Π² ΠΌΠΎΠΈΡ
ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Ρ
ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΠ»ΠΎ, ΠΊΠΎΠ³Π΄Π° Ρ ΡΠ΄Π°Π»ΡΠ» / ΡΠΎΠ·Π΄Π°Π²Π°Π» ΡΠ°ΠΉΠ»Ρ Π²ΠΌΠ΅ΡΡΠΎ git mv
. ΠΠ΅ΠΉΡΡΠ²ΡΠΉΡΠ΅ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎ; Π²Ρ Π±ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½Π½ΡΠΉ …
.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ bash, git, npm ΠΈ yarn, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ package.json ΠΈ semver / Π₯Π°Π±Ρ
ΠΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ, Π΄ΡΡΠ·ΡΡ!
ΠΡΠ΅Π΄Π»Π°Π³Π°Ρ Π²Π°ΡΠ΅ΠΌΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ Π½Π΅Π±ΠΎΠ»ΡΡΡΡ ΡΠΏΠ°ΡΠ³Π°Π»ΠΊΡ ΠΏΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ bash, git, npm, yarn, package.json ΠΈ semver.
Π£ΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ: [dir-name] — ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, | — ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«ΠΈΠ»ΠΈΒ».
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π²Π²Π΅ΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ ΠΈ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·ΡΡΠΈΡΡ Π²ΡΠ²ΠΎΠ΄, ΡΠ°ΠΊ Π²Ρ Π±ΡΡΡΡΠΎ ΠΈΡ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Π°ΠΌ Π½ΡΠΆΠ½Ρ, Π° ΠΊΠ°ΠΊΠΈΠ΅ Π½Π΅Ρ.
ΠΡΠΈΠ½ΠΎΡΡ ΠΈΠ·Π²ΠΈΠ½Π΅Π½ΠΈΡ Π·Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΠΈ. ΠΡΠ΄Ρ ΡΠ°Π΄ Π»ΡΠ±ΡΠΌ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡΠΌ ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ.
ΠΠ΅Π· Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΡ ΠΏΡΠ΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠΉ.
ΠΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅:
bash
bash ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°: Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ bash Π±ΡΠ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π²ΠΌΠ΅ΡΡΠ΅ Ρ git.
Π‘ΠΏΡΠ°Π²ΠΊΠ°:
ΡΠΏΡΠ°Π²ΠΊΠ°
ΠΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄:
ΠΡΡΠΎΡΠΈΡ
ΠΡΠΈΡΡΠΊΠ° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°:
clear
ΠΡΡ ΠΎΠ΄ ΠΈΠ· ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°:
exit
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ:
// ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³
mkdir [ΠΈΠΌΡ-ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°]
// ΠΏΡΠΈΠΌΠ΅Ρ
mkdir ΠΌΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
// Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΈΡΠ΅ΡΠΎΡΠΈΠΉ
mkdir -p {dir1, dir2}
// Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ
Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ
mkdir -p ΠΌΠΎΠ΅-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ / {css, js}
Π‘ΠΌΠ΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ:
// ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³
cd [dir-name]
// ΠΏΡΠΈΠΌΠ΅Ρ
cd my-app
// ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ
cd! $
// ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ
CD ..
// Π½Π° Π΄Π²Π° ΡΡΠΎΠ²Π½Ρ Π²ΡΡΠ΅
CD ../..
// ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ
CD -
// Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ
cd ~
ΠΡΡΡ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ:
// ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³
pwd
Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²:
// ΡΠΏΠΈΡΠΎΠΊ
ls
// Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΊΡΡΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ
ls -a | -f
// Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ
// Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ°
ls -l
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°:
touch [ΠΈΠΌΡ-ΡΠ°ΠΉΠ»Π°]
// ΠΏΡΠΈΠΌΠ΅Ρ
ΡΠ΅Π½ΡΠΎΡΠ½ΡΠΉ index.html
// Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΊΠΎΡΠ½ΠΈΡΠ΅ΡΡ my-app / {index.html, css / style.css, js / script.js}
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π°:
cat [ΠΈΠΌΡ-ΡΠ°ΠΉΠ»Π°]
// ΠΏΡΠΈΠΌΠ΅Ρ
ΠΈΠ½Π΄Π΅ΠΊΡ ΠΊΠΎΡΠΊΠΈ.html
// ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΈ Π²ΡΠ±ΠΎΡΠΊΠ° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
ΠΊΠΎΡ [ΠΈΠΌΡ-ΡΠ°ΠΉΠ»Π°] | ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ | uniq
// ΠΌΠ΅Π½ΡΡΠ΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°
less [ΠΈΠΌΡ-ΡΠ°ΠΉΠ»Π°] // q - Π²ΡΡ
ΠΎΠ΄
// n ΡΡΡΠΎΠΊ Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°ΠΉΠ»Π°
head -50 [ΠΈΠΌΡ-ΡΠ°ΠΉΠ»Π°]
// n ΡΡΡΠΎΠΊ Ρ ΠΊΠΎΠ½ΡΠ° ΡΠ°ΠΉΠ»Π°
Ρ
Π²ΠΎΡΡ -50 [ΠΈΠΌΡ-ΡΠ°ΠΉΠ»Π°]
// ΠΏΠΎΠΈΡΠΊ ΡΠ»ΠΎΠ²Π°
grep [ΡΡΡΠΎΠΊΠ°] [ΠΈΠΌΡ-ΡΠ°ΠΉΠ»Π°]
// ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π°ΡΡ
ΠΈΠ²Π°
ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ [ΠΈΠΌΡ Π°ΡΡ
ΠΈΠ²Π°]
// ΡΠΈΠΏ ΡΠ°ΠΉΠ»Π°
ΡΠ°ΠΉΠ» [ΠΈΠΌΡ-ΡΠ°ΠΉΠ»Π°]
ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ°ΠΉΠ»Π°:
// ΠΊΠΎΠΏΠΈΡ
cp [ΡΠ°ΠΉΠ»1] [ΡΠ°ΠΉΠ»2]
// ΠΏΠ΅ΡΠ΅Π΅Ρ
Π°ΡΡ
mv [ΡΠ°ΠΉΠ»1] [ΡΠ°ΠΉΠ»2]
// ΠΏΡΠΈΠΌΠ΅Ρ
// ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² Π΄ΡΡΠ³ΡΡ
mv [dir1] / *.* [dir2]
// Π£Π΄Π°Π»ΠΈΡΡ
rm [ΠΈΠΌΡ-ΡΠ°ΠΉΠ»Π°]
// ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ
rmdir [ΠΈΠΌΡ-ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°]
// ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΡΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ
rm -r [ΠΈΠΌΡ-ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°]
// ΠΈΠ»ΠΈ
rm -rf [ΠΈΠΌΡ-ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°]
ΠΡΠ²ΠΎΠ΄ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΡΡΡΠΎΠΊΠΈ:
echo [ΡΡΡΠΎΠΊΠ°]
// ΠΏΡΠΈΠΌΠ΅Ρ
ΡΡ
ΠΎ ΠΏΡΠΈΠ²Π΅Ρ
// ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡ ΡΠ°ΠΉΠ»Π°
ΡΡ
ΠΎ ΠΏΡΠΈΠ²Π΅Ρ> greet.txt
// Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΡΠ°ΠΉΠ»
ΡΡ
ΠΎ ΠΏΡΠΈΠ²Π΅Ρ >> greet.txt
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»Π°:
wget [url]
ΠΠΎΠ½Π½Π΅ΠΊΡΠΎΡΡ:
true && echo hello
Π»ΠΎΠΆΡ || ΡΡ
ΠΎ ΠΏΡΠΈΠ²Π΅Ρ
ΡΡ
ΠΎ ΠΏΡΠΈΠ²Π΅Ρ; ls
ΠΠΎΠ½Π²Π΅ΠΉΠ΅Ρ:
// ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΎΠ² ΡΡΡΠΎΠΊΠΈ - \ n
ΠΊΠΎΡ [ΡΠ°ΠΉΠ»] | wc -l
Π³ΠΈΡ
git ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠ½ΠΈΠ³Π° Pro Git.
Π‘ΠΊΡΠΈΠ½ΠΊΠ°ΡΡ ΠΠ»ΡΠΈ ΠΠ°Π½ΡΠΎΡΠ°.
ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ: Git How To.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°: git-scm.com.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ:
git --version
Π‘ΠΏΡΠ°Π²ΠΊΠ°:
git help
git help [ΠΈΠΌΡ-ΠΊΠΎΠΌΠ°Π½Π΄Ρ]
git [ΠΈΠΌΡ-ΠΊΠΎΠΌΠ°Π½Π΄Ρ] --help | -ΡΠ°Ρ
ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ:
// --local - Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎ
// --global - Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
// --ΡΠΈΡΡΠ΅ΠΌΠ° - Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ Π²ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Ρ.Π΅. Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
git config --global user.name Β«ΠΠΎΠ΅ ΠΈΠΌΡΒ»
git config --global user.email "[email protected]"
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ:
// ΡΠΏΠΈΡΠΎΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ
Π½Π°ΡΡΡΠΎΠ΅ΠΊ
git config --list | -l --global
// ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ
Π½Π°ΡΡΡΠΎΠ΅ΠΊ
git config --global --edit | -e
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ:
git init
ΠΡΠΈΡΡΠΊΠ° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ:
// -d - Π²ΠΊΠ»ΡΡΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, -x - Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ, -f - ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½Π°Ρ
git clean | -dxf
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ:
// ΡΠ΄Π°Π»ΠΈΡΡ
git rm [ΠΈΠΌΡ-ΡΠ°ΠΉΠ»Π°]
git rm -r [ΠΈΠΌΡ-ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°]
git rm --force | -f
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²:
// git add + git remove
// ΠΏΠ΅ΡΠ΅Π΅Ρ
Π°ΡΡ
git mv [ΡΡΠ°ΡΡΠΉ ΡΠ°ΠΉΠ»] [Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ»]
ΠΡΠΎΡΠΌΠΎΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ:
git status
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
git add [ΠΈΠΌΡ-ΡΠ°ΠΉΠ»Π°]
git add --force | -f
// Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ
git add.| --Π²ΡΠ΅ | -Π
// Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΡΡΠΎΠΉ ΡΠ°ΠΉΠ» .gitkeep
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ (ΠΊΠΎΠΌΠΌΠΈΡΠ°):
// ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°
git commit
// ΠΊΠΎΠΌΠΌΠΈΡ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡ git add. | -Π
// Π΅ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
git commit --message | -m "ΠΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅"
// Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π΅ΡΠ»ΠΈ git add [ΠΈΠΌΡ-ΡΠ°ΠΉΠ»Π°] Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·
git commit --all | -a -m | -am "ΠΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅"
// ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°
git commit --amend "ΠΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅" | --Π½Π΅Ρ-ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ
ΠΡΠΎΡΠΌΠΎΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°:
// ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ
ΠΌΠ΅ΡΠ·Π°Π²Π΅Ρ ΡΠΎΡ
// Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ
git show [hash] // ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΏΠ΅ΡΠ²ΡΡ
4 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
// ΠΏΠΎΠΈΡΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ°ΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
git show: / [ΡΡΡΠΎΠΊΠ°]
// ΠΏΠΎΠΈΡΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΏΠΎ ΡΠ΅Π³Ρ
git show [ΠΈΠΌΡ-ΡΠ΅Π³Π°]
ΠΡΠΎΡΠΌΠΎΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ:
git diff HEAD | @ // HEAD - ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΠΊΠ°; @ - Π°Π»ΠΈΠ°Ρ Π΄Π»Ρ HEAD
// ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
git diff --staged | --cached
git diff [hash2] [hash3]
// ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ
git diff [Π²Π΅ΡΠΊΠ°2]... [Π²Π΅ΡΠΊΠ°3]
// ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ ΠΏΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
git commit --verbose | -v
// ΠΊΠ°ΡΡΠΎΠΌΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
git diff --word-diff | --ΡΠ²Π΅Ρ-ΡΠ»ΠΎΠ²Π°
ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
git log
// n - ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
git log -n
// --since, --after - ΠΏΠΎΡΠ»Π΅
// - Π΄ΠΎ, - Π΄ΠΎ - Π΄ΠΎ
// ΡΠ°Π·Π½ΠΈΡΠ°
git log -p
// Π±ΡΡΡΡΠΎΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
git log --graph --oneline --stat
// ΠΊΠ°ΡΡΠΎΠΌΠ½ΠΎΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
git log --pretty = format
// ΠΏΡΠΈΠΌΠ΅Ρ
git log --pretty = format: '% C (ΠΊΡΠ°ΡΠ½ΡΠΉ)% h% C (Π·Π΅Π»Π΅Π½ΡΠΉ)% cd% C (ΡΠ±ΡΠΎΡ) | % C (ΡΠΈΠ½ΠΈΠΉ)% s% d% C (ΠΆΠ΅Π»ΡΡΠΉ) [% an] '--date = short | Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ: '% F% R'
// ΠΏΠΎΠΈΡΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠ»ΠΎΠ²Ρ, ΡΠ°ΠΉΠ»Ρ, Π²Π΅ΡΠΊΠ΅; i - Π±Π΅Π· ΡΡΠ΅ΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°
git log --grep | -G [ΡΡΡΠΎΠΊΠ°] | [ΡΠ°ΠΉΠ»] | [Π²Π΅ΡΠΊΠ°] & -i
// ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΡΡΠΎΠΊΠ°ΠΌ
git log --grep [ΡΡΡΠΎΠΊΠ°1] --grep [ΡΡΡΠΎΠΊΠ°2] --all-match
// ΠΏΠΎΠΈΡΠΊ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ ΡΠ°ΠΉΠ»Π°
git log -L '/ /', '/ <\ / head> /': index.html
// ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ Π°Π²ΡΠΎΡΡ
git log --author = [ΠΈΠΌΡ]
ΠΡΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
git reset
// --hard - Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ
// --soft - Π±Π΅Π· ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ
// - ΡΠΌΠ΅ΡΠ°Π½Π½ΡΠΉ - ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: Π±Π΅Π· ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, Π½ΠΎ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ
git reset --hard [Ρ
Π΅Ρ] | @ ~ // @ ~ - ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² HEAD
// Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ
git reset --hard ORIG_HEAD
// Π½Π΅ ΠΏΡΡΠ°ΡΡ Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π²Π΅ΡΠΊΠΈ
git checkout
git Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ
Π Π°Π±ΠΎΡΠ° Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ:
// ΡΠΏΠΈΡΠΎΠΊ Π²Π΅ΡΠΎΠΊ
Π²Π΅ΡΠΊΠ° git
// ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ
git branch [ΠΈΠΌΡ-Π²Π΅ΡΠΊΠΈ]
// ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²Π΅ΡΠΊΡ
git checkout [Π½Π°Π·Π²Π°Π½ΠΈΠ΅-Π²Π΅ΡΠΊΠΈ]
// Π²Π΅ΡΠΊΠ° + ΠΊΠ°ΡΡΠ°
git checkout -b [Π½Π°Π·Π²Π°Π½ΠΈΠ΅-Π²Π΅ΡΠΊΠΈ]
// ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅
git branch -m [ΡΡΠ°ΡΠ°Ρ Π²Π΅ΡΠΊΠ°] [Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΠΊΠ°]
// ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ
git branch -d [ΠΈΠΌΡ-Π²Π΅ΡΠΊΠΈ]
// ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ
git merge [Π½Π°Π·Π²Π°Π½ΠΈΠ΅-Π²Π΅ΡΠΊΠΈ]
Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ:
// ΠΎΠ±ΡΡΠ½ΠΎ, ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°, ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ
// ΠΏΡΠΈΠ½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΡΠ»ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π²Π΅ΡΠΊΠΈ
git checkout - ΡΠ°ΡΡ
// ΠΏΡΠΈΠ½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ
git checkout --theirs
// ΠΎΡΠΌΠ΅Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΡ
git reset --merge
git merge --abort
// ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ
git checkout --conflict = diff3 --merge [ΠΈΠΌΡ-ΡΠ°ΠΉΠ»Π°]
// ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅
git merge - ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ
Π£Π΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:
// ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
git clone [URL] ΠΈ [ΠΊΠ°ΡΠ°Π»ΠΎΠ³]
// ΠΏΡΠΎΡΠΌΠΎΡΡ
git ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ
git ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΡΠΎΡ
git ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ [ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅ ΠΈΠΌΡ] [URL]
git ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ [ΡΡΠ°ΡΠΎΠ΅ ΠΈΠΌΡ] [Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ]
// ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
// git fetch + git merge
git pull
// ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
git push
Π’Π΅Π³ΠΈ:
// ΠΏΡΠΎΡΠΌΠΎΡΡ
git tag
// Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½Π°Ρ ΠΌΠ΅ΡΠΊΠ°
git tag [ΠΈΠΌΡ-ΡΠ΅Π³Π°]
// ΠΏΡΠΈΠΌΠ΅Ρ
git tag v1-beta
// Π°Π½Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΌΠ΅ΡΠΊΠ°
git tag -a v1 -m "ΠΠΎΡ Π²Π΅ΡΡΠΈΡ 1"
// ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅
git tag -d [ΠΈΠΌΡ ΡΠ΅Π³Π°]
ΠΡΠ»Π°Π΄ΠΊΠ°
git bisect
ΠΌΠ΅ΡΠ·Π°Π²Π΅Ρ Π²ΠΈΠ½ΠΎΠ²Π°Ρ
git grep
Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π΅Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠ΅Π½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
// Π‘ΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅
git stash
// ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅
git stash pop
ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°:
git cherry-pick | -x [Ρ
Π΅Ρ]
// Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ
// ΠΎΡΠΌΠ΅Π½Π°
git cherry-pick --abort
// ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ
git cherry-pick - ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ
git cherry-pick --no-commit | -n
// --cherry = --cherry-mark --left-right --no-merges
git log --oneline --cherry [Π²Π΅ΡΠΊΠ°2] [Π²Π΅ΡΠΊΠ°3]
ΠΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅:
git rebase [Π²Π΅ΡΠΊΠ°]
// ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°
// ΠΎΡΠΌΠ΅Π½Π°
git rebase --abort
// ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ
git rebase - ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ
// ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ
git rebase - ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ
// ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ»ΠΈΡΠ½ΠΈΡ
git rebase --preserve-merges | -ΠΏ
// ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
git rebase -i [Π²Π΅ΡΠΊΠ°]
ΠΠ²ΡΠΎΠ·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ²:
// ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ - ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
// ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ.Π²ΠΊΠ»ΡΡΠ΅Π½ ΠΏΡΠ°Π²Π΄Π° | Π»ΠΎΠΆΠ½ΡΠΉ
// rerere.autoUpdate true | Π»ΠΎΠΆΠ½ΡΠΉ
// rerere-train.sh - ΡΠΊΡΠΈΠΏΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ rerere
git rerere Π·Π°Π±ΡΠ΄ΡΡΠ΅ [ΠΈΠΌΡ-ΡΠ°ΠΉΠ»Π°]
ΠΠ±ΡΠ°ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ:
git revert @ | [Ρ
Π΅Ρ]
// ΠΎΡΠΌΠ΅Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΡ
// git reset --hard @ ~ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ
git revert [Ρ
ΡΡ] -m 1
// git merge [Π²Π΅ΡΠΊΠ°] Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ
// ΠΎΡΠΌΠ΅Π½Π° ΠΎΡΠΌΠ΅Π½Ρ
git revert [Ρ
Π΅Ρ]
// ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Ρ rebase
git rebase [Π²Π΅ΡΠΊΠ°2] [Π²Π΅ΡΠΊΠ°3] | --onto [Π²Π΅ΡΠΊΠ°2] [Ρ
Π΅Ρ] [Π²Π΅ΡΠΊΠ°3]
git merge [Π²Π΅ΡΠΊΠ°]
git rebase [Ρ
Π΅Ρ] --no-ff
ΠΡΠΈΠΌΠ΅Ρ Π°Π»ΠΈΠ°ΡΠΎΠ² (ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠΉ) Π΄Π»Ρ.gitconfig:
[ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ]
aa = Π΄ΠΎΠ±Π°Π²ΠΈΡΡ -A
co = ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ°Π·Π°
ci = ΡΠΎΠ²Π΅ΡΡΠΈΡΡ -m
st = ΡΡΠ°ΡΡΡ
br = ΡΠΈΠ»ΠΈΠ°Π»
ΠΡΠΈΠΌΠ΅Ρ .gitconfig:
[ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ]
name = [ΠΠΎΠ΅ ΠΈΠΌΡ]
ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΏΠΎΡΡΠ° = [[email protected]]
ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ = [myusername]
[core]
ΡΠ΅Π΄Π°ΠΊΡΠΎΡ = [myeditor]
ΠΏΡΠΎΠ±Π΅Π» = ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ, -indent-with-non-tab, trailing-space, cr-at-eol
ΠΏΠ΅ΠΉΠ΄ΠΆΠ΅Ρ = Π΄Π΅Π»ΡΡΠ°
[ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ]
Π±ΡΠ°ΡΠ·Π΅Ρ = google-chrome
[instaweb]
httpd = apache2 -f
[rerere]
Π²ΠΊΠ»ΡΡΠ΅Π½ = 1
autoupdate = 1
[ΠΡ ΡΠ΅Π±Ρ]
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ = ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅
[ΡΠ²Π΅Ρ]
ui = Π°Π²ΡΠΎ
[ΡΠ²Π΅ΡΠ½Π°Ρ Β«Π²Π΅ΡΠΊΠ°Β»]
ΡΠ΅ΠΊΡΡΠΈΠΉ = ΠΆΠ΅Π»ΡΡΠΉ ΠΏΠΎΠ»ΡΠΆΠΈΡΠ½ΡΠΉ
local = Π·Π΅Π»Π΅Π½ΡΠΉ ΠΆΠΈΡΠ½ΡΠΉ
remote = Π³ΠΎΠ»ΡΠ±ΠΎΠΉ ΠΆΠΈΡΠ½ΡΠΉ
[ΡΠ²Π΅Ρ Β«ΡΠ°Π·Π½ΠΈΡΠ°Β»]
ΠΌΠ΅ΡΠ° = ΠΆΠ΅Π»ΡΡΠΉ ΠΏΠΎΠ»ΡΠΆΠΈΡΠ½ΡΠΉ
frag = ΠΆΠΈΡΠ½ΡΠΉ ΠΏΡΡΠΏΡΡΠ½ΡΠΉ
old = ΠΊΡΠ°ΡΠ½ΡΠΉ ΠΆΠΈΡΠ½ΡΠΉ
new = Π·Π΅Π»Π΅Π½ΡΠΉ ΠΆΠΈΡΠ½ΡΠΉ
ΠΏΡΠΎΠ±Π΅Π» = ΠΊΡΠ°ΡΠ½ΡΠΉ ΡΠ΅Π²Π΅ΡΡ
[ΡΠ²Π΅Ρ Β«ΡΡΠ°ΡΡΡΒ»]
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ = Π·Π΅Π»Π΅Π½ΡΠΉ ΠΆΠΈΡΠ½ΡΠΉ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ = ΠΆΠ΅Π»ΡΡΠΉ ΠΏΠΎΠ»ΡΠΆΠΈΡΠ½ΡΠΉ
untracked = ΠΆΠΈΡΠ½ΡΠΉ ΠΊΡΠ°ΡΠ½ΡΠΉ
[difftool]
ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ° = Π»ΠΎΠΆΡ
[Π΄Π΅Π»ΡΡΠ°]
features = ΡΠΊΡΠ°ΡΠ΅Π½ΠΈΡ Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΡΡΡΠΎΠΊ
Π½ΠΎΠΌΠ΅ΡΠ° ΡΡΡΠΎΠΊ = ΠΈΡΡΠΈΠ½Π°
[Π΄Π΅Π»ΡΡΠ° "ΡΠΊΡΠ°ΡΠ΅Π½ΠΈΡ"]
ΠΌΠΈΠ½ΡΡ-ΡΡΠΈΠ»Ρ = ΠΊΡΠ°ΡΠ½ΡΠΉ ΠΆΠΈΡΠ½ΡΠΉ ΡΡΠΈΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ
plus-style = Π·Π΅Π»Π΅Π½ΡΠΉ ΠΆΠΈΡΠ½ΡΠΉ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ
minus-emph-style = Π±Π΅Π»ΡΠΉ ΠΆΠΈΡΠ½ΡΠΉ ΠΊΡΠ°ΡΠ½ΡΠΉ
minus-non-emph-style = ΠΊΡΠ°ΡΠ½ΡΠΉ ΠΆΠΈΡΠ½ΡΠΉ ΡΡΠΈΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ
plus-emph-style = Π±Π΅Π»ΡΠΉ ΠΆΠΈΡΠ½ΡΠΉ Π·Π΅Π»Π΅Π½ΡΠΉ
plus-non-emph-style = Π·Π΅Π»Π΅Π½ΡΠΉ ΠΏΠΎΠ»ΡΠΆΠΈΡΠ½ΡΠΉ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ
file-style = ΠΆΠ΅Π»ΡΡΠΉ ΠΏΠΎΠ»ΡΠΆΠΈΡΠ½ΡΠΉ Π½Π΅Ρ
file-decoration-style = ΠΆΠ΅Π»ΡΠ°Ρ ΠΊΠΎΡΠΎΠ±ΠΊΠ°
hunk-header-style = ΠΏΡΡΠΏΡΡΠ½ΡΠΉ ΠΆΠΈΡΠ½ΡΠΉ
hunk-header-decoration-style = ΠΏΡΡΠΏΡΡΠ½ΡΠΉ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ
minus-empty-line-marker-style = Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ
plus-empty-line-marker-style = Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ
line-numbers-right-format = "{np: ^ 4} β"
[github]
user = [ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ]
token = ΡΠΎΠΊΠ΅Π½
[gitflow "ΠΏΡΠ΅ΡΠΈΠΊΡ"]
versiontag = v
[ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ]
ΡΠ΅Π΄Π°ΠΊΡΠΎΡ = ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
[ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ]
Π° = Π΄ΠΎΠ±Π°Π²ΠΈΡΡ - Π²ΡΠ΅
ai = Π΄ΠΎΠ±Π°Π²ΠΈΡΡ -i
###
ap = ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ
ΠΊΠ°ΠΊ = ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ --stat
ac = apply --check
###
ama = am --abort
amr = am --resolved
ams = am --skip
###
b = Π²Π΅ΡΠΊΠ°
ba = Π²Π΅ΡΠΊΠ° -a
bd = Π²Π΅ΡΠΊΠ° -d
bdd = Π²Π΅ΡΠΊΠ° -D
br = Π²Π΅ΡΠΊΠ° -r
bc = rev-parse --abbrev-ref ΠΠΠΠΠΠΠ
bu =! git rev-parse --abbrev-ref --symbolic-full-name "@ {u}"
Π±Ρ =! git-Π²Π΅ΡΠΊΠ°-ΡΡΠ°ΡΡΡ
###
c = ΡΠΎΠ²Π΅ΡΡΠΈΡΡ
ca = commit -a
cm = ΡΠΎΠ²Π΅ΡΡΠΈΡΡ -m
cam = commit -am
cem = commit --allow-empty -m
cd = commit --amend
cad = commit -a --amend
ced = ΡΠΎΠ²Π΅ΡΡΠΈΡΡ --allow-empty --amend
###
cl = clone
cld = clone --depth 1
clg =! sh -c 'git clone git: // github.com / $ 1 $ (Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ $ 1) '-
clgp =! sh -c 'git clone [email protected]: $ 1 $ (Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ $ 1)' -
clgu =! sh -c 'git clone [email protected]: $ (git config --get user.username) / $ 1 $ 1' -
###
cp = Π²ΡΠ±ΠΎΡ Π²ΠΈΡΠ½ΠΈ
cpa = Π²ΡΠ±ΠΎΡ Π²ΠΈΡΠ½ΠΈ --abort
cpc = Π²ΡΠ±ΠΎΡ Π²ΠΈΡΠ½ΠΈ - ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ
###
d = diff
dp = diff --patience
dc = diff --cached
dk = diff --check
dck = diff --cached --check
dt = difftool
dct = difftool --cached
###
f = ΠΏΠΎΠ»ΡΡΠΈΡΡ
fo = ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ
fu = ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΠΎΡΡ
ΠΎΠ΄ΡΡΠΈΠΉ ΠΏΠΎΡΠΎΠΊ
###
fp = ΡΠΎΡΠΌΠ°Ρ-ΠΏΠ°ΡΡ
###
fk = fsck
###
g = grep -p
###
l = ΠΆΡΡΠ½Π°Π» --oneline
lg = log --oneline --graph --decorate
###
ls = ls-ΡΠ°ΠΉΠ»Ρ
lsf =! git ls-files | grep -i
###
m = ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ
ma = ΡΠ»ΠΈΡΠ½ΠΈΠ΅ --abort
mc = merge - ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ
ΠΌΡ = ΡΠ»ΠΈΡΠ½ΠΈΠ΅ - ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ
###
o = ΠΎΡΠΎΡΠΌΠΈΡΡ Π·Π°ΠΊΠ°Π·
om = ΠΊΠ°ΡΡΠΈΡ
ob = checkout -b
opr =! sh -c 'git fo pull / $ 1 / head: pr- $ 1 && git o pr- $ 1'
###
ΠΏΡ = ΠΎΠ±ΡΠ΅Π·Π°ΡΡ -v
###
ps = push
psf = push -f
psu = push -u
pst = push --tags
###
pso = push origin
psao = push - Π²ΡΠ΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅
psfo = push -f origin
psuo = push -u origin
###
psom = push origin master
psaom = push - ΠΌΠ°ΡΡΠ΅Ρ Π²ΡΠ΅Ρ
ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²
psfom = push -f origin master
psuom = push -u origin master
psoc =! git push origin $ (git bc)
psaoc =! git push --all origin $ (git bc)
psfoc =! git push -f origin $ (git bc)
psuoc =! git push -u origin $ (git bc)
psdc =! git push origin: $ (git bc)
###
pl = ΡΡΠ½ΡΡΡ
pb = pull --rebase
###
plo = ΠΈΡΡ
ΠΎΠ΄Π½Π°Ρ ΡΠΎΡΠΊΠ°
pbo = pull --rebase origin
plom = Π²Π΅Π΄ΡΡΠΈΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΏΡΠΎΠΈΡΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ
ploc =! git pull origin $ (git bc)
pbom = pull --rebase origin master
pboc =! git pull --rebase origin $ (git bc)
###
plu = ΡΡΠ½ΡΡΡ Π²Π²Π΅ΡΡ
plum = ΠΏΠΎΡΡΠ½ΠΈΡΠ΅ Π²Π΅Π΄ΡΡΠ΅Π³ΠΎ Π²Π²Π΅ΡΡ
ΠΏΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ
pluc =! git pull upstream $ (git bc)
pbum = pull --rebase Π²Π΅Π΄ΡΡΠΈΠΉ Π²Π΅Π΄ΡΡΠΈΠΉ ΡΠ΅ΡΠ²Π΅Ρ
pbuc =! git pull --rebase upstream $ (git bc)
###
rb = ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°ΡΡ
rba = rebase --abort
rbc = rebase - ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ
rbi = rebase --interactive
rbs = rebase --skip
###
re = ΡΠ±ΡΠΎΡΠΈΡΡ
rh = ΡΠ±ΡΠΎΡΠΈΡΡ HEAD
reh = reset --hard
rem = reset - ΡΠΌΠ΅ΡΠ°Π½Π½ΡΠΉ
res = ΡΠ±ΡΠΎΡ - soft
rehh = reset --hard HEAD
remh = reset - ΡΠΌΠ΅ΡΠ°Π½Π½Π°Ρ ΠΠΠΠΠΠΠ
resh = reset - soft HEAD
rehom = reset --hard origin / master
###
r = ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ
ra = ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅
rr = ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ rm
rv = ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ -v
rn = ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅
rp = ΡΠ΄Π°Π»Π΅Π½Π½Π°Ρ ΠΎΠ±ΡΠ΅Π·ΠΊΠ°
rs = ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΡΠΎΡ
rao = ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°
rau = ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π²Π΅ΡΡ
ΠΏΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ
rro = ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°
rru = ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΠΎΡΡ
ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°
rso = ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΡ
rsu = ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΡΠΎΡ Π²Π²Π΅ΡΡ
ΠΏΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ
rpo = ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΎΠ±ΡΠ΅Π·ΠΊΠΈ
rpu = ΡΠ΄Π°Π»Π΅Π½Π½Π°Ρ ΠΎΠ±ΡΠ΅Π·ΠΊΠ° Π²ΠΎΡΡ
ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°
###
rmf = rm -f
rmrf = rm -r -f
###
s = ΡΡΠ°ΡΡΡ
sb = ΡΡΠ°ΡΡΡ -s -b
###
sa = stash ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ
sc = ΡΠ°ΠΉΠ½ΠΈΠΊ ΠΎΡΠΈΡΡΠΈΡΡ
sd = ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ½ΠΈΠΊΠ°
sl = ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ½ΠΈΠΊΠΎΠ²
sp = stash pop
ss = ΡΠ°ΠΉΠ½ΠΈΠΊ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ
ssk = stash save -k
sw = ΡΠ°ΠΉΠ½ΠΈΠΊ ΡΠΎΡ
st =! git ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ½ΠΈΠΊΠΎΠ² | wc -l 2> / dev / null | grep -oEi '[0-9] [0-9] *'
###
t = ΡΠ΅Π³
td = ΡΠ΅Π³ -d
###
w = ΠΏΠΎΠΊΠ°Π·Π°ΡΡ
wp = ΠΏΠΎΠΊΠ°Π·Π°ΡΡ -p
wr = ΠΏΠΎΠΊΠ°Π·Π°ΡΡ -p --no-color
###
svnr = svn rebase
svnd = svn dcommit
svnl = svn log --oneline --show-commit
###
subadd =! sh -c 'git submodule add git: // github.h | Π²ΡΡΠ΅Π·Π°ΡΡ -c 3-
unassumeall =! git ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ | xargs git unassume
acceptall =! git status -s | awk {'print $ 2'} | xargs git ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ
###
bump =! sh -c 'git commit -am \ "Version bump v $ 1 \" && git psuoc && git release $ 1' -
release =! sh -c 'git tag v $ 1 && git pst' -
unrelease =! sh -c 'git tag -d v $ 1 && git pso: v $ 1' -
merged =! sh -c 'git o master && git plom && git bd $ 1 && git rpo' -
aliases =! git config -l | grep ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ | Π²ΡΡΠ΅Π·Π°ΡΡ -c 7-
snap =! git stash save 'snapshot: $ (date)' && git stash apply 'stash @ {0}'
bare =! sh -c 'git symbolic-ref HEAD refs / Heads / $ 1 && git rm --cached -r.&& git clean -xfd '-
whois =! sh -c 'git log -i -1 --author = \ "$ 1 \" --pretty = \ "ΡΠΎΡΠΌΠ°Ρ:% an <% ae> \"' -
serve = daemon --reuseaddr --verbose --base-path =. --export-all ./.git
###
Π·Π° =! git rev-list --left-only --count $ (git bu) ... ΠΠΠΠΠΠ
Π²ΠΏΠ΅ΡΠ΅Π΄ =! git rev-list --right-only --count $ (git bu) ... HEAD
###
ours = "! f () {git checkout --ours $ @ && git add $ @;}; f"
ΠΈΡ
= "! f () {git checkout --theirs $ @ && git add $ @;}; f"
subrepo =! sh -c 'git filter-branch --prune-empty --subdirectory-filter $ 1 master' -
human = name-rev --name-only --refs = refs / Heads / *
[ΡΠΈΠ»ΡΡΡ "lfs"]
clean = git-lfs clean -% f
smudge = git-lfs smudge -% f
ΠΏΡΠΎΡΠ΅ΡΡ = git-lfs ΡΠΈΠ»ΡΡΡ-ΠΏΡΠΎΡΠ΅ΡΡ
required = true
ΠΡΠΈΠΌΠ΅Ρ.gitignore:
### Π£Π·Π΅Π» ###
# ΠΡΡΠ½Π°Π»Ρ
ΠΆΡΡΠ½Π°Π»Ρ
npm-debug.log *
ΠΏΡΡΠΆΠ°-debug.log *
ΠΏΡΡΠΆΠ°-error.log *
# ΠΠ΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΊΠ΅ΡΠ° npm
.npm
# ΠΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
/ node_modules
/ jspm_packages
/ bower_components
# Π€Π°ΠΉΠ» ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΏΡΡΠΆΠΈ
.yarn-ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ
# ΠΠ΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠ΅Ρ eslint
.eslintcache
# ΡΠ°ΠΉΠ» (Ρ) ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ dotenv
.env
.env. *
# ΠΠΎΡΡΡΠΎΠΉΠΊΠ° ΡΠΎΠ·Π΄Π°Π½Π°
dist /
build /
# ΠΠ΅ΡΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠ΅ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ
.serverless /
### SublimeText ###
# ΠΊΠ΅Ρ-ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°
* .tmlanguage.ΡΠ°ΠΉΠ½ΠΈΠΊ
* .tmPreferences.cache
* .stTheme.cache
# ΡΠ°ΠΉΠ»Π° ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
* .sublime-workspace
# ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Ρ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ
# ΡΠ°ΡΡΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ², Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ SublimeText
# * .sublime-project
### VisualStudioCode ###
.vscode / *
! .vscode / settings.json
! .vscode / tasks.json
! .vscode / launch.json
! .vscode / extensions.json
### Vim ###
*.ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ]
### WebStorm / IntelliJ ###
/.idea
modules.xml
* .ipr
* .iml
### Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ###
* .DS_Store
# Π€Π°ΠΉΠ»Ρ ΠΊΡΡΠ° ΡΡΠΊΠΈΠ·ΠΎΠ² Windows
ΠΠΎΠ»ΡΡΠΈΠ΅ ΠΏΠ°Π»ΡΡΡ.db
ehthumbs.db
ehthumbs_vista.db
# Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΠ°ΠΏΠΊΠΈ
Desktop.ini
# ΠΠΎΡΠ·ΠΈΠ½Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π² ΠΎΠ±ΡΠΈΡ
ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ
ΡΠ΅ΡΡΡΡΠ°Ρ
$ RECYCLE.BIN /
# ΠΠΈΠ½ΠΈΠ°ΡΡΡΡ
._ *
# Π€Π°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ Π² ΠΊΠΎΡΠ½Π΅ ΡΠΎΠΌΠ°
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
. ΠΡΡΠΎΡ
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
Π½ / ΠΌΠΈΠ½
npm ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ: npmjs.com.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°.
npm ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Node.js.
Π’Π°ΠΊΠΆΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Node.js ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ npx, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±Π΅Π· ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ: npx create-react-app my-app.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ:
ΡΠ·Π΅Π» - Π²Π΅ΡΡΠΈΡ | -v
npm --version | -v
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅:
npm i -g npm @ latest
Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄:
npm help
npm help [ΠΈΠΌΡ-ΠΊΠΎΠΌΠ°Π½Π΄Ρ]
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
npm init
// Π°Π²ΡΠΎ
npm init --yes | -Ρ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
npm install | Ρ
// ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
npm ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ [Π½Π°Π·Π²Π°Π½ΠΈΠ΅-ΠΏΠ°ΠΊΠ΅ΡΠ°]
// ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π²ΡΠ΅Ρ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
Π½ΠΏΠΌ Π΄ΠΎΠΊΡΠΎΡ
// ΠΎΡΠΈΡΡΠΊΠ°
npm ci
ΠΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ:
npm i --force | -f
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²:
npm i --only = production | --only = prod
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
npm i [ΠΈΠΌΡ-ΠΏΠ°ΠΊΠ΅ΡΠ°]
npm Ρ [Π½Π°Π·Π²Π°Π½ΠΈΠ΅-ΠΏΠ°ΠΊΠ΅ΡΠ° @ Π²Π΅ΡΡΠΈΡ]
// ΠΏΡΠΈΠΌΠ΅Ρ
npm Ρ Π²ΡΡΠ°ΠΆΠ°Ρ
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ:
npm i --save-dev | -D [ΠΈΠΌΡ-ΠΏΠ°ΠΊΠ΅ΡΠ°]
// ΠΏΡΠΈΠΌΠ΅Ρ
npm i -D nodemon
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
npm update | Π²Π²Π΅ΡΡ
[Π½Π°Π·Π²Π°Π½ΠΈΠ΅-ΠΏΠ°ΠΊΠ΅ΡΠ°]
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
// Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ
npm ΡΠ΄Π°Π»ΠΈΡΡ | rm | Π³ [Π½Π°Π·Π²Π°Π½ΠΈΠ΅-ΠΏΠ°ΠΊΠ΅ΡΠ°]
// devDependency
npm r -D [ΠΈΠΌΡ-ΠΏΠ°ΠΊΠ΅ΡΠ°]
ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° / ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ / ΠΏΠ°ΠΊΠ΅Ρ:
npm i / up / r -g [package-name]
// ΠΏΡΠΈΠΌΠ΅Ρ
npm Ρ -g ΡΠΎΠ·Π΄Π°ΡΡ-ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
// ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²:
npm ΡΡΡΠ°ΡΠ΅Π»ΠΎ
npm ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΉ [Π½Π°Π·Π²Π°Π½ΠΈΠ΅-ΠΏΠ°ΠΊΠ΅ΡΠ°]
Π‘ΠΏΠΈΡΠΎΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ:
ΡΠΏΠΈΡΠΎΠΊ npm | ls
// Π²Π΅ΡΡ
Π½ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ
npm ls --depth = 0 | - Π³Π»ΡΠ±ΠΈΠ½Π° 0
// Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ + Π²Π΅ΡΡ
Π½ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ
npm ls -g --depth 0
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ΅:
npm ΠΏΡΠΎΡΠΌΠΎΡΡ | v [ΠΈΠΌΡ-ΠΏΠ°ΠΊΠ΅ΡΠ°]
// ΠΏΡΠΈΠΌΠ΅Ρ
npm v ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ
npm v ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ.ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΠ°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠ° / Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
npm run [ΡΠΊΡΠΈΠΏΡ]
// ΠΏΡΠΈΠΌΠ΅Ρ
// package.json: "scripts": {"dev": "nodemon server.js"}
npm Π·Π°ΠΏΡΡΡΠΈΡΡ dev
// Π·Π°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠ° ΠΈΠ»ΠΈ ΡΠ·Π΅Π» server.js
npm start
npm stop
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄ΡΠ±Π»ΠΈΡΡΡΡΠΈΡ ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²:
npm dedupe | ddp
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²:
npm prune
ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ (ΡΠ³ΡΠΎΠ·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ):
npm audit
// json
npm audit --json
// ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ΅ΠΊΡΡ
npm audit --parseable
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ:
npm audit fix
ΠΏΡΡΠΆΠ°
yarn, ΠΊΠ°ΠΊ ΠΈ npm, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ: yarnpkg.com.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°:
npm i -g yarn
ΠΠΎΠΌΠ°Π½Π΄Π° Β«yarn dlxΒ» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±Π΅Π· ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ: yarn dlx create-react-app my-app. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ yarn Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π΄ΠΎ Π²ΡΠΎΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ: yarn set version berry.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ:
ΠΏΡΡΠΆΠ° - Π²Π΅ΡΡΠΈΡ | -v
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅:
ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ Π½Π°Π±ΠΎΡΠ° ΠΏΡΡΠΆΠΈ
Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄:
yarn help
yarn help [ΠΈΠΌΡ-ΠΊΠΎΠΌΠ°Π½Π΄Ρ]
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
ΠΏΡΡΠΆΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
// Π°Π²ΡΠΎ
ΠΏΡΡΠΆΠ° init --yes | -Ρ
// "ΡΠ°ΡΡΠ½ΡΠΉ": true Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅.json
ΠΏΡΡΠΆΠ° init --private | -ΠΏ
// Π°Π²ΡΠΎ + ΡΠ°ΡΡΠ½ΡΠΉ
ΠΏΡΡΠΆΠ° init -yp
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ:
ΠΏΡΡΠΆΠ°
// ΠΈΠ»ΠΈ
ΠΏΡΡΠΆΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ
// ΡΠΈΡ
Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΡΠΆΠΈ - ΡΠΈΡ
Π°Ρ | -s
// ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°
ΠΏΡΡΠΆΠ° --check-files
ΠΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ:
yarn install --force
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΡΠΆΠΈ --ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ | --prod
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
yarn add [package-name]
ΠΏΡΡΠΆΠ° Π΄ΠΎΠ±Π°Π²ΠΈΡΡ [Π½Π°Π·Π²Π°Π½ΠΈΠ΅-ΠΏΠ°ΠΊΠ΅ΡΠ° @ Π²Π΅ΡΡΠΈΡ]
// ΠΏΡΠΈΠΌΠ΅Ρ
ΠΏΡΡΠΆΠ° Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΊΡΠΏΡΠ΅ΡΡ
// ΡΠΈΡ
Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
ΠΏΡΡΠΆΠ° Π΄ΠΎΠ±Π°Π²ΠΈΡΡ - ΡΠΈΡ
ΠΈΠΉ
// ΠΈΠ»ΠΈ
ΠΏΡΡΠΆΠ°
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ:
yarn add --dev | -D [ΠΈΠΌΡ-ΠΏΠ°ΠΊΠ΅ΡΠ°]
// ΠΏΡΠΈΠΌΠ΅Ρ
ΠΏΡΡΠΆΠ° Π΄ΠΎΠ±Π°Π²ΠΈΡΡ -D nodemon
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΡΠΆΠΈ [package-name]
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
yarn remove [package-name]
ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° / ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ / ΠΏΠ°ΠΊΠ΅Ρ:
yarn global add / upgrade / remove [package-name]
// ΠΏΡΠΈΠΌΠ΅Ρ
ΠΏΡΡΠΆΠ° Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅-ΡΠ΅Π°ΠΊΡΠΈΡ
// ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
Π‘ΠΏΠΈΡΠΎΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ:
ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΡΠΆΠΈ
// Π²Π΅ΡΡ
Π½ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ
ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΡΠΆΠΈ --depth = 0 | - Π³Π»ΡΠ±ΠΈΠ½Π° 0
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ΅:
ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΡΠΆΠΈ [package-name]
// ΠΈΠ»ΠΈ
ΠΏΡΡΠΆΠ° ΠΏΠΎΡΠ΅ΠΌΡ [Π½Π°Π·Π²Π°Π½ΠΈΠ΅-ΠΏΠ°ΠΊΠ΅ΡΠ°]
// ΠΏΡΠΈΠΌΠ΅Ρ
ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΡΠΆΠΈ ΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ
ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΡΠΆΠ΅ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΏΡΡΠΆΠ° ΠΏΠΎΡΠ΅ΠΌΡ webpack
ΠΠ°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠ° / Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
yarn [ΡΠΊΡΠΈΠΏΡ]
// ΠΈΠ»ΠΈ
ΠΏΡΡΠΆΠ° Π·Π°ΠΏΡΡΡΠΈΡΡ [ΡΡΠ΅Π½Π°ΡΠΈΠΉ]
// ΠΏΡΠΈΠΌΠ΅Ρ
// ΠΏΠ°ΠΊΠ΅Ρ.json: "scripts": {"dev": "nodemon server.js"}
ΠΏΡΡΠΆΠ° dev
package.json
{
"ΠΈΠΌΡ": "ΠΌΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅",
"Π²Π΅ΡΡΠΈΡ": "1.0.0",
"description": "ΠΠΎΠ΅ ΠΊΠ»Π°ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅",
"ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π°": [
"ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ",
"Π·Π΄ΠΎΡΠΎΠ²ΠΎ",
"ΠΡΡΡΠΈΠΉ"
],
"ΡΠ°ΡΡΠ½ΡΠΉ": ΠΏΡΠ°Π²Π΄Π°,
"main": "server.js",
Β«Π»ΠΈΡΠ΅Π½Π·ΠΈΡΒ»: Β«MITΒ»,
"Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΠ°": "https://my-website.com",
"ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ": {
"ΡΠΈΠΏ": "ΠΌΠ΅ΡΠ·Π°Π²Π΅Ρ",
"url": "https://github.com/user/repo.git"
},
"ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ": "github: ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ / ΡΠ΅ΠΏΠΎ",
"author": {
"name": "ΠΠΎΠ΅ ΠΈΠΌΡ",
"email": "myemail @ example.2.0.4 "
},
"scripts": {
"start": "Π·Π°ΠΏΡΡΠΊ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΡΠ΅Π°ΠΊΡΠΈΠΈ",
"dev": "nodemon server.js"
}
}
- Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ — Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°
- Π²Π΅ΡΡΠΈΡ — Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° (ΡΠΌ. ΠΠ΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅)
- ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ — ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° (Π·Π°ΡΠ΅ΠΌ Π½ΡΠΆΠ΅Π½ ΠΏΠ°ΠΊΠ΅Ρ?)
- ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ² — ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° (ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΠΏΠΎΠΈΡΠΊ Π² ΡΠ΅Π΅ΡΡΡΠ΅ npm)
- private — ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² true ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ° Π² ΡΠ΅Π΅ΡΡΡΠ΅ npm
- Π³Π»Π°Π²Π½Π°Ρ — ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π° Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
- — ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ (ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ²)
- Π°Π²ΡΠΎΡ — Π°Π²ΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° (ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ²)
- ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² — ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° (Π»ΡΠ΄ΠΈ, Π²Π½Π΅ΡΡΠΈΠ΅ Π²ΠΊΠ»Π°Π΄ Π² ΠΏΡΠΎΠ΅ΠΊΡ)
- Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ — Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° (ΠΏΠ°ΠΊΠ΅ΡΡ, Π±Π΅Π· ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ)
- devDependencies — Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (ΠΏΠ°ΠΊΠ΅ΡΡ, Π±Π΅Π· ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ)
- ΡΠΊΡΠΈΠΏΡΠΎΠ² — ΠΊΠΎΠΌΠ°Π½Π΄Ρ (Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, Π·Π°Π΄Π°ΡΠΈ), ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«yarn devΒ» Π·Π°ΠΏΡΡΡΠΈΡ ΡΠΊΡΠΈΠΏΡ Β«ΡΠ΅ΡΠ²Π΅Ρ nodemon.js Β»
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ ΡΠ°ΠΉΠ»Π° Β«package.jsonΒ»: npm-package.json
Π€Π°ΠΉΠ»Ρ Β«package-lock.jsonΒ» ΠΈ Β«yarn.lockΒ» ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ , ΡΠ΅ΠΌ package.json, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π°Π²ΡΠΎΡΠΈΡΠ΅ΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π²ΠΌΠ΅ΡΡΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ Π²Π΅ΡΡΠΈΠΉ.
ΠΠ΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠΌΠ΅Π΅Ρ Π²Π΅ΡΡΠΈΡ, ΡΠΎΡΡΠΎΡΡΡΡ ΠΈΠ· ΡΡΠ΅Ρ ΡΠΈΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 1.0.0), Π³Π΄Π΅ ΠΏΠ΅ΡΠ²Π°Ρ ΡΠΈΡΡΠ° — ΠΌΠ°ΠΆΠΎΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ (ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ), Π²ΡΠΎΡΠ°Ρ — ΠΌΠΈΠ½ΠΎΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ (Π²ΡΠΎΡΠΎΡΡΠ΅ΠΏΠ΅Π½Π½Π°Ρ), ΡΡΠ΅ΡΡΡ — ΠΏΠ°ΡΡΠ΅Π²Π°Ρ Π²Π΅ΡΡΠΈΡ (ΠΏΠ°ΡΡ, ΠΏΠ°ΡΡ).ΠΡΠΏΡΡΠΊ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΅Π»ΠΈΠ·ΠΎΠΌ.
Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ ΡΠΈΡΡ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (semver) ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
- major — Π²Π½Π΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΠ΅ΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
- minor — Π½ΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠ°Ρ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ
- patch — ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ, Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ
ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ Π²Π΅ΡΡΠΈΠΉ ΠΈΠ»ΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ ΡΠ΅Π»ΠΈΠ·Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² (ΠΊΠΎΠΌΠΏΠ°ΡΠ°ΡΠΎΡΠΎΠ²):
- * — Π»ΡΠ±Π°Ρ Π²Π΅ΡΡΠΈΡ (Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠ΅)
- <1.1.0.0 - ΠΌΠΈΠ½ΠΎΡΠ½ΡΠ΅ ΠΈ ΠΏΠ°ΡΡΠ΅Π²ΡΠ΅ ΡΠ΅Π»ΠΈΠ·Ρ (> = 1.0.0 <2.0.0)
- ~ .1.0.0 — ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΡΡΠ΅Π²ΡΠ΅ ΡΠ΅Π»ΠΈΠ·Ρ (> = 1.0.0 <1.1.0)
ΠΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠ΅ΠΌΠ²Π΅Ρ: ΡΠ·Π΅Π»-ΡΠ΅ΠΌΠ²Π΅Ρ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.
.
Git — ΠΊΠ½ΠΈΠ³Π°
2-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ (2014)
ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΊΠ½ΠΈΠ³Ρ
ΠΡΡ ΠΊΠ½ΠΈΠ³Π° Pro Git, Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ Π‘ΠΊΠΎΡΡΠΎΠΌ Π§Π°ΠΊΠΎΠ½ΠΎΠΌ ΠΈ ΠΠ΅Π½ΠΎΠΌ Π¨ΡΡΠ°ΡΠ±ΠΎΠΌ ΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Π°Ρ Apress, Π΄ΠΎΡΡΡΠΏΠ½Π° Π·Π΄Π΅ΡΡ. ΠΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ Creative Commons Attribution Non Commercial Share Alike 3.0. ΠΠ΅ΡΠ°ΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΊΠ½ΠΈΠ³ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π° Amazon.com.>
- 1.1
Π ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ - 1.2
ΠΡΠ°ΡΠΊΠ°Ρ ΠΈΡΡΠΎΡΠΈΡ Git - 1.3
ΠΡΠ½ΠΎΠ²Ρ Git - 1.4
ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° - 1.5
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Git - 1.6
ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Git - 1.7
ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠΌΠΎΡΡ? - 1,8
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
- 1.1
- 2.1
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ - 2.2
ΠΠ°ΠΏΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ - 2.3
ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² - 2.4
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΡΠΌΠ΅Π½Ρ - 2,5
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ - 2,6
Π Π°Π±ΠΎΡΠ° Ρ ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ - 2,7
ΠΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ Π² Git - 2,8
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
- 2.1
- 3.1
Π Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠΈ Π² Π΄Π²ΡΡ ΡΠ»ΠΎΠ²Π°Ρ - 3.2
- 3.1
.