π ΠΠ°ΠΊ Π·Π°ΠΊΡΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ git ΠΏΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ΅? π οΈ
git config --global core.editor "Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°"
git config --global core.editor nano
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ Π·Π°ΠΊΡΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ git ΠΏΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ΅
ΠΠΎΠ³Π΄Π° Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ Π² Git, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° Git ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π²Π°ΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΠΊΡΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π±Π΅Π· ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ Π²Π²ΠΎΠ΄Π°, Ρ Π²Π°Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ².
ΠΠ°ΡΠΈΠ°Π½Ρ 1: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΠΊΡΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Git - ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΆΠ°ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ Ctrl + C
(ΠΈΠ»ΠΈ Cmd + C
Π½Π° macOS), ΡΡΠΎΠ±Ρ ΠΏΡΠ΅ΡΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΈ Π²Π΅ΡΠ½ΡΡΡΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ Π±Π΅Π· ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
git commit --abort
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΈ Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ.
ΠΠ°ΡΠΈΠ°Π½Ρ 2: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ Π·Π°ΠΊΡΡΡΠΈΡ
Π Git Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git commit --allow-empty-message -m ''
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ Π±Π΅Π· ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. ΠΠ½Π° Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π±Π΅Π· ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΡΡΡΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
git commit --allow-empty-message -m ''
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ ΠΏΠΎΡΠ»Π΅ ΠΎΠΏΡΠΈΠΈ -m
. ΠΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ Git Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΊΠ°ΠΊ Π½Π°ΡΠ°Π»ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
ΠΠ°ΡΠΈΠ°Π½Ρ 3: ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΊΡΡΠ²Π°ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Git ΠΏΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Π±Π΅Π· ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Git, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, Π° Π½Π΅ ΠΎΡΠΊΡΡΠ²Π°Π» ΡΠ΅Π΄Π°ΠΊΡΠΎΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git config --global commit.template /dev/null
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Git Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ Π±Π΅Π· ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git commit
.
ΠΠ°ΡΠΈΠ°Π½Ρ 4: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ .gitignore
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΠΊΡΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Git ΠΏΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Π±Π΅Π· ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ .gitignore Ρ Π·Π°ΠΏΡΠ΅ΡΠΎΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» .gitignore Π² Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ (Π΅ΡΠ»ΠΈ Π΅Π³ΠΎ Π΅ΡΠ΅ Π½Π΅Ρ).
- ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ» .gitignore Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅.
- ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ Π² ΡΠ°ΠΉΠ»:
.git/COMMIT_EDITMSG
Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ» .gitignore ΠΈ Π·Π°ΠΊΡΠΎΠΉΡΠ΅ Π΅Π³ΠΎ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Git Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΊΡΡΠ²Π°ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΡΠ°ΡΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°ΠΉΠ» .git/COMMIT_EDITMSG Π² ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ°ΠΊΡΡΡΠΈΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Git ΠΏΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Π±Π΅Π· ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π±ΡΡΡΡΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π². ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ, ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Git, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΈΠ»ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ .gitignore Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ.