πŸ”’ Как Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ git ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅? πŸ› οΈ

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ git послС ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Ctrl+X Π·Π°Π°Π²ΠΈΡ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ vim. Если Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Nano, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π² git. Для этого ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» git ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρƒ:
git config --global core.editor "Π½Π°Π·Π²Π°Π½ΠΈΠ΅_Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°"
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ установки Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Nano ΠΊΠ°ΠΊ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° git:
git config --global core.editor nano
Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅, git Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Π²Π°ΠΌΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, ΠΈ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ коммСнтария ΠΎΠ½ закроСтся автоматичСски.

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

Как Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ 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 с Π·Π°ΠΏΡ€Π΅Ρ‚ΠΎΠΌ добавлСния Ρ„Π°ΠΉΠ»Π° с ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅ΠΌ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ. Для этого Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги:

  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» .gitignore Π² домашнСм ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ (Ссли Π΅Π³ΠΎ Π΅Ρ‰Π΅ Π½Π΅Ρ‚).
  2. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» .gitignore Π² тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅.
  3. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку Π² Ρ„Π°ΠΉΠ»:
.git/COMMIT_EDITMSG

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» .gitignore ΠΈ Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΅Π³ΠΎ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ Git Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» .git/COMMIT_EDITMSG Π² ΠΊΠΎΠΌΠΌΠΈΡ‚.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Git ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ Π±Π΅Π· коммСнтария ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ быстрыС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π². Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Git, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ настроСк ΠΈΠ»ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ .gitignore для достиТСния этой Ρ†Π΅Π»ΠΈ.

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

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

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

ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Git. ΠžΡ‚ΠΌΠ΅Π½Π° ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. rebase, revert, reset.

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ IDE PyCharm - ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ объяснСниС ΠΈ особСнности

πŸ”’ Как Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ git ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅? πŸ› οΈ

πŸ”₯Как ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ PyCharm Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈ Π±Ρ‹ΡΡ‚Ρ€ΠΎπŸš€

πŸ”§ Как ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ настройки git config: простая инструкция для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ push Π² git: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство πŸ—‘οΈ