Skip to content

Git cheat sheet with key commands and helpful workflows.

License

Notifications You must be signed in to change notification settings

Avesend/git-cheat-sheet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’ͺ Бписок ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ Git

БистСма контроля вСрсий

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

ΠŸΠΎΠ½ΡΡ‚ΠΈΡ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Git

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (Repo)

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ β€” это основная Π΅Π΄ΠΈΠ½ΠΈΡ†Π° хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Git. Он содСрТит всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± Π°Π²Ρ‚ΠΎΡ€Π°Ρ…. Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ (Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅) ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΌ (Π½Π° сСрвСрС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° GitHub).

ΠšΠΎΠΌΠΌΠΈΡ‚ (Commit)

ΠšΠΎΠΌΠΌΠΈΡ‚ β€” это зафиксированноС состояниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Он содСрТит измСнСния, внСсённыС Π² Ρ„Π°ΠΉΠ»Ρ‹, ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π°Π²Ρ‚ΠΎΡ€ ΠΈ Π΄Π°Ρ‚Π°. ΠšΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, позволяя Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ любой ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π’Π΅Ρ‚ΠΊΠ° (Branch)

Π’Π΅Ρ‚ΠΊΠ° β€” это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ линия Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ вСрсиями ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ. Π’Π΅Ρ‚ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, исправлСния ошибок ΠΈ экспСримСнтов. Основная Π²Π΅Ρ‚ΠΊΠ° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ называСтся main ΠΈΠ»ΠΈ master, Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡.

Π₯Сш (SHA-1)

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Git идСнтифицируСтся ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ…Π΅ΡˆΠ΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаётся Π½Π° основС содСрТимого ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Π­Ρ‚ΠΎΡ‚ Ρ…Π΅Ρˆ являСтся ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΈ позволяСт ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

ИндСкс (Staging Area)

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

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Git

HEAD

HEAD β€” это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ. Когда Π’Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ΡΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚, HEAD пСрСмСщаСтся Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π’ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ состоянии HEAD ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, main ΠΈΠ»ΠΈ feature-branch), Π½ΠΎ ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΊΠΎΠ³Π΄Π° Π’Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π² состоянии "ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ HEAD" (detached HEAD).

ORIG_HEAD

ORIG_HEAD β€” это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сохраняСт состояниС HEAD ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ merge ΠΈΠ»ΠΈ rebase. Π­Ρ‚ΠΎ позволяСт Π’Π°ΠΌ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ послС выполнСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ структуру Π²Π΅Ρ‚ΠΎΠΊ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ². НапримСр, Ссли Π’Ρ‹ сдСлали ΠΌΠ΅Ρ€Π΄ΠΆ ΠΈ Π·Π°Ρ‚Π΅ΠΌ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ORIG_HEAD для возвращСния ΠΊ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Π΄ слияниСм.

ΠšΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для пСрсонализации

git config --global user.name "name"        # Π·Π°Π΄Π°Ρ‚ΡŒ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
git config --global user.email "@email.com" # Π·Π°Π΄Π°Ρ‚ΡŒ ΠΏΠΎΡ‡Ρ‚Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

git config --list                           # ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС настройки
git config --global user.name               # ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
git config --global user.email              # ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎΡ‡Ρ‚Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
git config --global alias.<name> <command> # ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ алиас
git config --global core.editor <IDE>      # ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ IDE ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для управлСния Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ

git init                        # ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Git Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
git clone <url>                 # ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

git remote -v                   # ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ
git remote add origin <url>     # Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
git remote set-url origin <url> # ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для взаимодСйствия с origin

git fetch <origin>         # ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ измСнСния с ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория
git pull <origin> <branch> # ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈ ΡΠ»ΠΈΡ‚ΡŒ измСнСния с Π²Π΅Ρ‚ΠΊΠΎΠΉ origin
git push <origin> <branch> # ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ измСнСния Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для добавлСния Π² индСкс

git add <file> # ΠΏΡ€ΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»
git add .      # ΠΏΡ€ΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π’Π‘Π• Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ
git add -A     # ΠΏΡ€ΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π’Π‘Π• измСнСния ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²
git add -p     # Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ добавлСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎ частям
git add -i     # Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ добавлСния Ρ„Π°ΠΉΠ»ΠΎΠ² Π² индСкс

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ

git commit          # ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ с проиндСксированными измСнСниями
git commit -m ""    # ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ с сообщСниСм Π±Π΅Π· Π²Ρ‹Π·ΠΎΠ²Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°
git commit -am ""   # ΠΏΡ€ΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ сразу Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ с сообщСниСм
git commit -a -m "" # ΠΏΡ€ΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ сразу Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ с сообщСниСм
git commit --amend           # внСсти измСнСния Π² послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚
git commit --amend -m ""     # внСсти измСнСния Π² послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ с сообщСниСм
git commit --amend --no-edit # внСсти измСнСния Π² послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ Π±Π΅Π· сообщСния
git checkout <commit> # ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ

git branch                      # ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ список Π²Π΅Ρ‚ΠΎΠΊ
git branch <branch>             # ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ <branch>
git branch -m <branch>          # ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Π² <branch>
git branch -m <branch> <branch> # ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ <branch> Π² <branch>
git branch -d <branch>          # ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ <branch>, Ссли ΠΎΠ½Π° Π±Ρ‹Π»Π° слита
git branch -D <branch>          # ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ <branch> нСзависимо ΠΎΡ‚ состояния
git branch -v          # список Π²Π΅Ρ‚ΠΎΠΊ с послСдними ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ
git branch -vv         # список Π²Π΅Ρ‚ΠΎΠΊ с послСдними ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ ΠΈ отслСТиваСмыми Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ
git branch --merged    # ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ слиты с Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ
git branch --no-merged # ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ НЕ слиты с Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ
git branch -f <branch> <commit>   # ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ <branch> Π½Π° <commit>
git branch -f <branch> <branch>~2 # ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ <branch> Π½Π° 2 ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π½Π°Π·Π°Π΄
git checkout <branch>             # ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ <branch>
git checkout -b <branch>          # ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ <branch>
git checkout -b <branch> <commit> # ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ <branch> Π½Π° основС <commit> ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π½Π΅Ρ‘
git push --set-upstream origin <branch> # Π²Ρ‹ΡΠ»Π°Ρ‚ΡŒ <branch> Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
git push origin --delete <branch>       # ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ <branch> Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ
git merge-base <commit> <commit>        # Π½Π°ΠΉΡ‚ΠΈ ΠΎΠ±Ρ‰ΠΈΠΉ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ для Π΄Π²ΡƒΡ… Π²Π΅Ρ‚ΠΎΠΊ

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для слияния Π²Π΅Ρ‚ΠΎΠΊ

git merge <branch>    # ΡΠ»ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ <branch> Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ
git merge --abort     # ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ процСсс слияния Π²Π΅Ρ‚ΠΊΠΈ
git merge --no-edit   # ΡΠ»ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ Π±Π΅Π· Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° сообщСния
git merge --no-commit # Π±Π΅Π· автоматичСского создания ΠΊΠΎΠΌΠΌΠΈΡ‚Π°
git merge --squash    # Π±Π΅Π· слияния истории; ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ‚

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с revert

git revert <commit>             # ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΎΡ‚ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΉ <commit>
git revert --no-commit <commit> # ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ <commit> Π±Π΅Π· Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°
git revert --abort              # ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ revert

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с rebase

git rebase <branch>   # rebase (пСрСнос ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²) Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ
git rebase --abort    # ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ rebase ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ Π² исходноС состояниС
git rebase --continue # ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ процСсс rebase послС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°
git rebase --skip     # ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ <commit> с ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠΌ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ rebase

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с cherry-pick

git cherry-pick <commit>             # ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния ΠΈΠ· <commit> Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ
git cherry-pick --edit <commit>      # ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния ΠΈΠ· <commit> с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ сообщСния
git cherry-pick --no-commit <commit> # ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния ΠΈΠ· <commit> Π±Π΅Π· создания <commit>
git cherry-pick --abort              # ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ cherry-pick, Ссли ΠΎΠ½Π° Π±Ρ‹Π»Π° ΠΏΡ€Π΅Ρ€Π²Π°Π½Π°
git cherry-pick --continue           # ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ cherry-pick послС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ хранСния

git stash                 # Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ измСнСния ΠΈΠ· Ρ„Π°ΠΉΠ»Π°
git stash list            # ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ список сохранСнных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
git stash apply           # ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ послСднСС сохранСнноС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
git stash drop            # ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ послСднСС сохранСнноС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
git stash apply <stash>   # ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ сохранСнноС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
git stash branch <branch> # ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ <branch> ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ измСнСния ΠΈΠ· ΡΡ‚ΡΡˆΠ°
git stash pop             # ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ послСднСС сохранСнноС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

git checkout -- <file> # ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΠ•ΠŸΠ ΠžΠ˜ΠΠ”Π•ΠšΠ‘Π˜Π ΠžΠ’ΠΠΠΠ«Π• измСнСния Π² <file>
# НиТС ΠžΠ‘Π―Π—ΠΠ’Π•Π›Π¬ΠΠž ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„Π°ΠΉΠ», Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π’Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ:
git checkout -f <file> # ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΠ•ΠŸΠ ΠžΠ˜ΠΠ”Π•ΠšΠ‘Π˜Π ΠžΠ’ΠΠΠΠ«Π• измСнСния Π² <file>
# Π”Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹ΡˆΠ΅ (ΠΎΠ΄ΠΈΠ½ ΠΈΠ· способов):
git checkout -f HEAD   # ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΠ•ΠŸΠ ΠžΠ˜ΠΠ”Π•ΠšΠ‘Π˜Π ΠžΠ’ΠΠΠΠ«Π• измСнСния Π² <file>
# Π”Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Ρ‚Ρ€ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹ΡˆΠ΅ (ΠΎΠ΄ΠΈΠ½ ΠΈΠ· способов):
git checkout -f        # ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΠ•ΠŸΠ ΠžΠ˜ΠΠ”Π•ΠšΠ‘Π˜Π ΠžΠ’ΠΠΠΠ«Π• измСнСния Π² <file>
git reset <file>        # Π²Ρ‹Ρ‚ΡΠ½ΡƒΡ‚ΡŒ ΠΈΠ· индСкса <file> с сохранСниСм ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
git reset --soft HEAD^1 # ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ измСнСния с сохранСниСм ΠΈΡ… Π² индСксС
git reset --hard HEAD^1 # ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ измСнСния ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΡ… ΠΈΠ· Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ
git clean -f            # ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС нСотслСТиваСмыС Ρ„Π°ΠΉΠ»Ρ‹
git clean -fd           # ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС нСотслСТиваСмыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для фиксации пСрСимСнования

mv <file> <file>           # ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ <file> ΠΈ ΠΏΡ€ΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
ΠŸΡ€ΠΈΠΌΠ΅Ρ€:                    mv old.txt new.txt
mv <directory> <directory> # ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ <directory> ΠΈ ΠΏΡ€ΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
ΠŸΡ€ΠΈΠΌΠ΅Ρ€:                    mv olddir newdir

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для фиксации пСрСмСщСния

mv <file> <directory>      # ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ <file> Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ <directory>
ΠŸΡ€ΠΈΠΌΠ΅Ρ€:                    mv dev.txt /home/user/docs/
mv <directory> <directory> # ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ <directory> Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ <directory>
ΠŸΡ€ΠΈΠΌΠ΅Ρ€:                    mv project /home/user/test/

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для фиксации удалСния

rm <file>    # ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ отслСТиваСмый <file> ΠΈ ΠΏΡ€ΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
rm -f <file> # ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ отслСТиваСмый <file> ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ ΠΏΡ€ΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
rm -i <file> # ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ отслСТиваСмый <file> с ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΡ€ΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
rm -r <directory>    # ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ <directory> ΠΈ Π΅Ρ‘ содСрТимоС ΠΈ ΠΏΡ€ΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
rm -r -f <directory> # ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ <directory> ΠΈ Π΅Ρ‘ содСрТимоС ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ ΠΏΡ€ΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
rm -r -i <directory> # ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ <directory> ΠΈ Π΅Ρ‘ содСрТимоС с ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΡ€ΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π΅Π³Π°ΠΌΠΈ

git tag                        # ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ список Ρ‚Π΅Π³ΠΎΠ²
git tag ""                     # ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π΅Π³ с сообщСниСм
git tag -d <tag>               # ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ <tag>
git tag -a "" -m ""            # ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π°Π½Π½ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ‚Π΅Π³

git show <tag>                 # ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ <tag>

git push origin <tag>          # ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ <tag> Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
git push origin --tags         # ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π΅Π³ΠΈ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
git push --delete origin <tag> # ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ <tag> Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ состояния

git status         # ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС рСпозитория
git status --short # ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ состояниС рСпозитория
git log                          # история ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ
git log --graph                  # история ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² Π²ΠΈΠ΄Π΅ Π³Ρ€Π°Ρ„Π° с ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ
git log --oneline                # история ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² ΠΎΠ΄Π½Ρƒ строку Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚
git log --oneline --first-parent # история ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΏΠΎ 1-ΠΎΠΉ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅
git log -p <file>                # история ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² с измСнСниями для <file>
git log -p -5 <file>             # послСдниС 5 ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² с измСнСниями для <file>
git log -p -20                   # послСдниС 20 ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² с ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ измСнСниями
git log -2                       # ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ послСдниС 2 ΠΊΠΎΠΌΠΌΠΈΡ‚Π°
git log -2 --stat                # ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ послСдниС 2 ΠΊΠΎΠΌΠΌΠΈΡ‚Π° со статистикой ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
git log --graph -10              # ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ послСдниС 10 ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² Π²ΠΈΠ΄Π΅ Π³Ρ€Π°Ρ„Π°
git log --since=2.weeks          # ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π·Π° послСдниС 2 Π½Π΅Π΄Π΅Π»ΠΈ
git diff                   # ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ измСнСния ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°
git diff --staged          # ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ измСнСния, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Π² индСкс
git diff --cached          # ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ измСнСния, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Π² индСкс
git diff <commit>          # ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ измСнСния ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°
git diff <commit> <commit> # ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ измСнСния ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ
git diff <commit> <file>   # ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ измСнСния ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсиСй
git reflog        # ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΉ HEAD
git shortlog      # ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΆΡƒΡ€Π½Π°Π» ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΏΠΎ Π°Π²Ρ‚ΠΎΡ€Π°ΠΌ
git blame <file>  # ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΡ€Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки Ρ„Π°ΠΉΠ»Π°
git show <commit> # ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ измСнСния Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅
git log --grep="<message>"  # ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ сообщСниСм
git log --author="<author>" # ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ лишь ΠΎΡ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΡ€Π°

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

cd <path>                   # ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ
cd ..                       # ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΠΏΠ°ΠΏΠΊΡƒ, которая ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ Π²Ρ‹ΡˆΠ΅
dir                         # ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΠΈ ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅
del <file>                  # ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»
mkdir <folder>              # ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ <folder>
ren <old_name> <new_name>   # ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ <file> ΠΈΠ»ΠΈ <folder>
copy <source> <destination> # ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· <source> Π² <destination>
move <source> <destination> # ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· <source> Π² <destination>

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для создания .gitignore

password.txt # ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ password.txt
images/      # ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ содСрТимоС ΠΏΠ°ΠΏΠΊΠΈ ΠΈ саму ΠΏΠ°ΠΏΠΊΡƒ
*.html       # ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .html
temp*        # ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ΡΡ с temp
.*           # ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ скрытыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ (Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с .)

/*           # (1..) ЭВО ΠΠΠ§ΠΠ›Πž ΠšΠžΠœΠΠΠ”Π« ΠΠ˜Π–Π• (ПИБАВЬ Π’ 2 БВРОКИ)
!alert.js    # (..2) ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΊΠΎΡ€Π½Π΅, ΠšΠ ΠžΠœΠ• alert.js

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ситуаций

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„–1: ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ с ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ

Надо ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π½Π΅Π·Π°ΠΊΠΎΠΌΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ измСнСния, Π° ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git checkout <branch> высвСчиваСтся ошибка.

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π° git checkout -f <branch>. ΠŸΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ Ρ„Π»Π°Π³Π° -f осущСствится ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. Если написанный Π½Π΅Π·Π°ΠΊΠΎΠΌΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ΅Π½, прописываСм ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ с Ρ„Π»Π°Π³ΠΎΠΌ -f.

Π‘Ρ‹Π²Π°ΡŽΡ‚ случаи, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ Π½ΡƒΠΆΠ΅Π½. Π•ΡΡ‚ΡŒ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°: Π»ΠΈΠ±ΠΎ git commit (Π½ΠΎ Π½Π΅Π΄ΠΎΠ΄Π΅Π»Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π½Π΅ стоит), Π»ΠΈΠ±ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ git stash.

git checkout -f <branch> # ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° <branch>

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„–2: ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ Π½Π΅Π·Π°ΠΊΠΎΠΌΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

ΠœΡ‹ находимся Π½Π° Π²Π΅Ρ‚ΠΊΠ΅ <branch-1>, Ρ…ΠΎΡ‚ΠΈΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ нСбольшоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ Ρ‡Π΅Ρ€Π΅Π· врСмя ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ это Π½Π΅Π·Π°ΠΊΠΎΠΌΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅.

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ сразу ΠΆΠ΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, <branch-2>, Π° Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ дСйствиСм ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅. (ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌ Π½Π΅Π·Π°ΠΊΠΎΠΌΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² Π½ΠΎΠ²ΠΎΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ)

git checkout -b <branch> # ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° <branch>
git add .                # индСксируСм всС Ρ„Π°ΠΉΠ»Ρ‹
git commit -m ""         # создаСм Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„–3: ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ Π·Π°ΠΊΠΎΠΌΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

ΠœΡ‹ находимся Π½Π° Π²Π΅Ρ‚ΠΊΠ΅ <branch-1>, Ρ…ΠΎΡ‚ΠΈΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ нСбольшоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ Ρ‡Π΅Ρ€Π΅Π· врСмя ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ это Π·Π°ΠΊΠΎΠΌΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅.

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, <branch-2> Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅, Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ <branch-1> Π½Π° нСсколько ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π½Π°Π·Π°Π΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git branch <branch-1> <commit>. (Нюанс Π½ΠΈΠΆΠ΅)

Π—Π΄Π΅ΡΡŒ Π΅ΡΡ‚ΡŒ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° события:

Если ΠΌΡ‹ ΠΏΡ€ΠΎΠΏΠΈΡˆΠ΅ΠΌ git branch <branch-1> <commit>, Π½ΠΎ Π²Π΅Ρ‚ΠΊΠ° <branch-1> ΡƒΠΆΠ΅ сущСствуСт, Git высвСтит ΠΎΡˆΠΈΠ±ΠΊΡƒ. Для этого Π½ΡƒΠΆΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° с Ρ„Π»Π°Π³ΠΎΠΌ -f.

git branch <branch-2>             # создаСм <branch-2> ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ способом
git checkout <branch-2>           # ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ <branch-2>
git branch -f <branch-1> <commit> # пСрСносим ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Π΅Ρ‚ΠΊΡƒ <branch-1> Π½Π° <commit>

Если ΠΌΡ‹ ΠΏΡ€ΠΎΠΏΠΈΡˆΠ΅ΠΌ git branch <branch-1> <commit> ΠΈ Π²Π΅Ρ‚ΠΊΠ° <branch-1> Π½Π΅ сущСствовала Π΄ΠΎ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, Git создаст Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ пСрСнСсСт Π΅Ρ‘.

git branch <branch-2>          # создаСм <branch-2> ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ способом
git branch <branch-1> <commit> # пСрСносим Π²Π΅Ρ‚ΠΊΡƒ <branch-1> Π½Π° <commit>

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„–4: ΠžΡ‚ΠΌΠ΅Π½Π° merge ΠΌΠ΅Ρ‚ΠΎΠ΄Π° fast-forward

Волько Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ сдСлано слияниС Π²Π΅Ρ‚ΠΊΠΈ <branch-1> с <branch-2> Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄ "fast-forward", Π½ΠΎ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄ΡƒΠΌΠ°Π»ΠΈ ΡΠ»ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ приняли Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ всё Π½Π°Π·Π°Π΄.

Π’ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Π΅Ρ‚ΠΊΠΈ <branch-1>, <branch-2> находятся Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅.

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π°ΠΌ понадобится ΠΊΠΎΠΌΠ°Π½Π΄Π° git branch -f <branch-1> <commit>.

Если Π²Π΄Ρ€ΡƒΠ³ ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΄ΠΎ слияния Π±Ρ‹Π»Π° Π²Π΅Ρ‚ΠΊΠ° <branch-1>, Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ вмСсто <commit> ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ORIG_HEAD. ПослС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ merge Git записываСт старый ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Ρ„Π°ΠΉΠ» Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ .git/ORIG_HEAD, поэтому ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ cat .git/ORIG_HEAD для выяснСния Ρ…Π΅ΡˆΠ° ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π΄ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ merge (слияния).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ 2 способа Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git branch -f <branch-1> <commit>:

  1. git branch -f <branch-1> d9e7d67 - Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Ρ…Π΅ΡˆΠ° ΠΊΠΎΠΌΠΌΠΈΡ‚Π°
  2. git branch -f <branch-1> ORIG_HEAD - Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ORIG_HEAD

Π˜Ρ‚Π°ΠΊ, для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ слияния Π²Π΅Ρ‚ΠΎΠΊ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ:

git branch -f <branch-1> ORIG_HEAD # пСрСносим Π²Π΅Ρ‚ΠΊΡƒ <branch-1> Π½Π° ORIG_HEAD
git checkout <branch-1>            # ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ <branch-1>

Командой git checkout <branch-1> ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ всС ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ.

Если послС ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ слияния Π½Π°ΠΌ Π·Π°Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ пСрСнСсти Π²Π΅Ρ‚ΠΊΡƒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Ρ‚ΡƒΠ΄Π° ΠΆΠ΅, ΠΊΡƒΠ΄Π° ΠΌΡ‹ Ρ€Π°Π½ΡŒΡˆΠ΅ Π΅Ρ‘ ΠΈ сливали, Ρ‚ΠΎΠ³Π΄Π° прописываСм git checkout -B <branch-1> <branch-2>.


ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„–5: Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ, которая Π½Π΅ слита

Π£ нас Π±Ρ‹Π»Π° Π²Π΅Ρ‚ΠΊΠ° <branch-2>, которая ΠΎΡ‚Π²Π΅Ρ‚Π²Π»ΡΠ»Π°ΡΡŒ ΠΎΡ‚ <branch-1>. Π§Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git branch -D <branch-2> ΠΌΡ‹ Π΅Ρ‘ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ. Как Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ?

Если ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹ΡˆΠ΅ Π±Ρ‹Π»Π° Π²Π²Π΅Π΄Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ, Ρ‚ΠΎ Git ΡƒΠ΄Π°Π»ΠΈΠ» Π²Π΅Ρ‚ΠΊΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ. Π’ систСмС Π²Π΅Ρ‚ΠΊΠ° ΠΈ Π΅Ρ‘ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π΅Ρ‰Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя хранятся, ΠΈ Ссли оказалось, Ρ‡Ρ‚ΠΎ Π²Π΅Ρ‚ΠΊΠ° Π½Π°ΠΌ Π±Ρ‹Π»Π° Π½ΡƒΠΆΠ½Π°, Ρ‚ΠΎ отмСняСм Π΅Ρ‘ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git branch <branch-2> <commit>. МоТно ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ создали Π·Π°Π½ΠΎΠ²ΠΎ Π²Π΅Ρ‚ΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ.

Π’ <commit> Π²Π°ΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ "Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ" Π²Π΅Ρ‚ΠΊΠΈ (послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ Π²Π΅Ρ‚ΠΊΠΈ) Π΄ΠΎ слияния.

git branch -D <branch-2>       # ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ удаляСм <branch-2>
# Π’ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΡ‹ осознали, Ρ‡Ρ‚ΠΎ Π²Π΅Ρ‚ΠΊΠ° Π½ΡƒΠΆΠ½Π° ΠΈ Π΅Ρ‘ Π½Π°Π΄ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ
git branch <branch-2> <commit> # пСрСсоздаСм Π²Π΅Ρ‚ΠΊΡƒ, ΡƒΠΊΠ°Π·Π°Π² Π΅Ρ‘ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ

Π‘ΠΎΠ²Π΅Ρ‚Ρ‹ ΠΎΡ‚ Π°Π²Ρ‚ΠΎΡ€Π° рСпозитория

Π‘ΠΎΠ²Π΅Ρ‚ β„–1: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ git push

ΠŸΠ΅Ρ€Π΅Π΄ git push стоит ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° измСнСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git fetch origin. Если Π’Π°ΡˆΠΈ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ Π½Π΅ вносили Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, спокойно отправляСм свои измСнСния Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

Если послС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git fetch origin ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ измСнСния, Ρ‚ΠΎ Π’Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π² состоянии, ΠΊΠΎΠ³Π΄Π° локальная Π²Π΅Ρ‚ΠΊΠ° отстаСт ΠΎΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, origin/main). Если отстаСт Π²Π΅Ρ‚ΠΊΠ° main, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° Π½Π΅Π΅ ΠΈ прописываСм git merge origin/main.


Π‘ΠΎΠ²Π΅Ρ‚ β„–2: Π Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ

Если Π’Ρ‹ ΠΈ Π’Π°Ρˆ ΠΊΠΎΠ»Π»Π΅Π³Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π½Π°Π΄ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ, вмСсто git pull Π»ΡƒΡ‡ΡˆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ с Ρ„Π»Π°Π³ΠΎΠΌ git pull --rebase. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Git сначала Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ измСнСния ΠΈΠ· ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ, Π° Π·Π°Ρ‚Π΅ΠΌ "пСрСписываСт" Π²Π°ΡˆΡƒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, помСщая ваши измСнСния ΠΏΠΎΠ²Π΅Ρ€Ρ… Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

Π­Ρ‚ΠΎΡ‚ совСт ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.


Π‘ΠΎΠ²Π΅Ρ‚ β„–3: ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ ΠΏΡ€ΠΈ --rebase

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ: Π’Ρ‹ прописали git pull --rebase ΠΈ Git ΡƒΠ²Π΅Π΄ΠΎΠΌΠΈΠ» Вас ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ измСнСния Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ автоматичСски ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹. Π’ этом случаС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ шаги.

  1. ΠžΡ‚ΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ --rebase

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· состояния ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° ΠΈ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ процСсс rebase, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git rebase --abort. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Π΅Ρ€Π½Π΅Ρ‚ Π²Π°ΡˆΡƒ Π²Π΅Ρ‚ΠΊΡƒ Π² состояниС Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° rebase.

  1. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ git pull

ПослС ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ rebase стоит ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ git pull, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ автоматичСски Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ слияниС. Π’ этом случаС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ, Π½ΠΎ процСсс слияния ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‰Π΅ для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

Если ΠΆΠ΅ процСсс git pull --rebase ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ², Π’Π°ΠΌ ΠΏΠΎΠ²Π΅Π·Π»ΠΎ, измСнСния ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹. ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹

Conventional Commits (Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹) β€” это соглашСниС ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ сообщСний ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² систСмах контроля вСрсий. БоглашСниС Π·Π°Π΄Π°Π΅Ρ‚ стандарты для структурирования сообщСний ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ история ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π±Ρ‹Π»Π° Π±ΠΎΠ»Π΅Π΅ понятной ΠΈ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°

<type>(<optional scope>): <description>

Π’ΠΈΠΏΡ‹ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

  1. feat – Новая функция

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для добавлСния Π½ΠΎΠ²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ΠšΠΎΠΌΠΌΠΈΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ вСрсии Π΄ΠΎ minor).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: feat(auth): Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π΄Π²ΡƒΡ…Ρ„Π°ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ

  1. fix – Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ошибки

ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ для исправлСния Π±Π°Π³ΠΎΠ² ΠΈ ошибок Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. ΠšΠΎΠΌΠΌΠΈΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ вСрсии patch (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, v1.0.1).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: fix(login): исправлСна ошибка ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ пароля

  1. docs – ДокумСнтация

ΠšΠΎΠΌΠΌΠΈΡ‚, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠΉΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ README-Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² ΠΊΠΎΠ΄Π΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° исходный ΠΊΠΎΠ΄.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: docs(readme): ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ описаниС установки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

  1. style – Π‘Ρ‚ΠΈΠ»ΡŒ

ИзмСнСниС, связанноС со стилСм ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ влияСт Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, исправлСниС отступов, ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ², форматирования, ΠΈ Ρ‚.Π΄.).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: style: исправлСно Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅

  1. refactor – Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: refactor: ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ° Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ

  1. perf – ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ, ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°. ИзмСнСниС Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ Π½Π° ускорСниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: perf: Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ускорСна Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° страниц

  1. test – ВСсты

ΠšΠΎΠΌΠΌΠΈΡ‚, связанный с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ тСстов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Π΅ тСсты, ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ тСсты ΠΈ Ρ‚.Π΄.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: test(auth): Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ тСсты для рСгистрации

  1. chore – ΠžΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Π½ΠΈΠ΅

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: chore: ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ зависимости ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

  1. build – Π‘Π±ΠΎΡ€ΠΊΠ°

ИзмСнСниС, связанноС с процСссом сборки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ измСнСния Π² Ρ„Π°ΠΉΠ»Π°Ρ… сборки, настройках сборки ΠΈΠ»ΠΈ инструмСнтах сборки.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: build: ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π° конфигурация Webpack

  1. ci – НСпрСрывная интСграция (CI)

ΠšΠΎΠΌΠΌΠΈΡ‚, связанный с настройками систСм Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈ доставки (CI/CD), Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ измСнСния Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Jenkins, GitHub Actions ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… систСмах.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: ci: настроСн автоматичСский Π΄Π΅ΠΏΠ»ΠΎΠΉ Π½Π° сСрвСр

  1. revert – ΠžΡ‚ΠΊΠ°Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π΄Π΅Π»Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ измСнСния ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ сдСлано Ρ€Π°Π½Π΅Π΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: revert: ΠΎΡ‚ΠΊΠ°Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° с ошибкой Π² расчСтах

  1. release – Π Π΅Π»ΠΈΠ·

ΠšΠΎΠΌΠΌΠΈΡ‚, связанный с ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΎΠΉ ΠΊ выпуску Π½ΠΎΠ²ΠΎΠΉ вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠΌΠ΅Ρ€Π° вСрсии ΠΈΠ»ΠΈ гСнСрация ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: release: ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ выпуску вСрсии 1.2.0

  1. security – Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

ΠšΠΎΠΌΠΌΠΈΡ‚, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π° исправлСниС уязвимостСй Π² бСзопасности.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: security: исправлСна ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ

  1. add – Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ΠœΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ feat.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: add: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° страница настроСк ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

  1. remove – Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: remove: ΡƒΠ΄Π°Π»Π΅Π½ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ

  1. include – Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ рСсурсов Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Иногда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ вмСсто feat.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: include: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ справочника ΠΏΠΎ Git

НадСюсь, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ справочник станСт ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ рСсурсом Π² вашСм арсСналС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ взаимодСйствиС с Git. Для быстрого получСния доступа ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ добавляйтС Π΅Π³ΠΎ Π² ⭐!

About

Git cheat sheet with key commands and helpful workflows.

Topics

Resources

License

Stars

Watchers

Forks