π Git ΠΈ GitHub CLI
ΠΠ°Π·ΠΎΠ²ΡΠ΅ ΠΈ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Git Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ, stash, ΡΠ΅Π³Π°ΠΌΠΈ ΠΈ GitHub CLI.
πΉ ΠΠ°Π·ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
| ΠΠΎΠΌΠ°Π½Π΄Π° | ΠΡΠΈΠΌΠ΅Ρ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | 
|---|---|---|
| git add | ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°ΠΉΠ» Π² ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ (staging area) | |
| git add file.txt | ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ | |
| git add . | ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΏΠ°ΠΏΠΊΠ°Ρ | |
| git add -p | ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ°ΡΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ (ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²) | |
| git clone | ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π² Π½ΠΎΠ²ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ | |
| git clone -b branch_name URL | ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π²Π΅ΡΠΊΡ (Π²ΠΌΠ΅ΡΡΠΎ Π²Π΅ΡΠΊΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ) | |
| git clone --depth 1 URL | ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΡΠΎΠ·Π΄Π°Π²Π°Ρ Π½Π΅Π³Π»ΡΠ±ΠΎΠΊΡΡ ΠΊΠΎΠΏΠΈΡ Π΄Π»Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΌΠ΅ΡΡΠ° | |
| git commit | ΠΠ°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ | |
| git commit -m "Initial commit" | Π‘Π΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ Π±Π΅Π· ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° | |
| git commit -a -m "Fix bugs" | ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ | |
| git commit --amend | ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ (ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ) | |
| git commit --fixup abc1234 | Π‘ΠΎΠ·Π΄Π°ΡΡ fixup-ΠΊΠΎΠΌΠΌΠΈΡ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ squash Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ rebase | |
| git config | ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈΠ»ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ | |
| git config --global user.name "Name" | Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Git | |
| git config --global user.email "email@example.com" | Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ email Git | |
| git config --list | ΠΠΎΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Git (ΠΈΠΌΡ, email, ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΈ Ρ. Π΄.) | |
| git diff | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ, ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ ΠΈ ΡΠ°Π±ΠΎΡΠΈΠΌ Π΄Π΅ΡΠ΅Π²ΠΎΠΌ ΠΈ Ρ. Π΄. | |
| git diff HEAD | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° (Π½Π΅ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ) | |
| git diff --staged | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ | |
| git diff --word-diff HEAD~1 | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ»ΠΎΠ² | |
| git grep | ΠΠΎΠΈΡΠΊ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ | |
| git grep "functionName" | ΠΠ°ΠΉΡΠΈ Π²ΡΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ  | |
| git grep -n "TODO" | ΠΠ°ΠΉΡΠΈ ΡΡΡΠΎΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅  | |
| git grep -i "login" | ΠΡΠΊΠ°ΡΡ ΡΠ»ΠΎΠ²ΠΎ  | |
| git init | Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΏΡΡΡΠΎΠΉ Git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ | |
| git init my-project | ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ my-project | |
| git init --bare | ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Β«Π³ΠΎΠ»ΡΠΉΒ» ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ (bare repository) | |
| git log | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΆΡΡΠ½Π°Π» ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² | |
| git log --oneline | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΠΌ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ | |
| git log --graph --all | ΠΠΎΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ Π²Π΅ΡΠΊΠΈ Π² Π²ΠΈΠ΄Π΅ Π³ΡΠ°ΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² | |
| git log -p --stat | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² | |
| git reset | Π£Π±ΡΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· staging, ΡΠΎΡ ΡΠ°Π½ΠΈΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ | |
| git reset HEAD file.txt | Π£Π΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ· staging (ΠΏΡΠ°Π²ΠΊΠΈ ΠΎΡΡΠ°Π½ΡΡΡΡ) | |
| git reset --hard HEAD~1 | ΠΠ΅ΡΠ½ΡΡΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ Π½Π°Π·Π°Π΄ ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (Π±Π΅Π·Π²ΠΎΠ·Π²ΡΠ°ΡΠ½ΠΎ!) | |
| git reset --soft HEAD~1 | ΠΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, Π½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° | |
| git reset --mixed HEAD~1 | ΠΡΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΎΡΡΠ°Π²ΠΈΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ Π΄Π΅ΡΠ΅Π²Π΅ | |
| git show | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² | |
| git show <commit_hash> | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° | |
| git show HEAD~1 | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΊΡΡΠΈΠΌ | |
| git show --stat | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ | |
| git status | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π΄Π΅ΡΠ΅Π²Π° | |
| git status -s | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΠ°ΡΡΡ Π² ΠΊΠΎΡΠΎΡΠΊΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ | |
| git status -b | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² | 
πΏ ΠΠ΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅
| ΠΠΎΠΌΠ°Π½Π΄Π° | ΠΡΠΈΠΌΠ΅Ρ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | 
|---|---|---|
| git branch | Π‘ΠΎΠ·Π΄Π°ΡΡ, ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ Π²Π΅ΡΠΊΠΈ | |
| git branch new-feature | Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ  | |
| git branch -d old-feature | Π£Π΄Π°Π»ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ  | |
| git checkout | ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ Π²Π΅ΡΠΊΡ ΠΈΠ»ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° | |
| git checkout main | ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π²Π΅ΡΠΊΡ  | |
| git checkout -b new-branch | Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ  | |
| git switch | ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ (ΡΠΏΡΠΎΡΡΠ½Π½Π°Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° checkout) | |
| git switch main | ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π²Π΅ΡΠΊΡ  | |
| git switch -c feature-x | Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π²Π΅ΡΠΊΡ  | |
| git switch new-feature | ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ Π²Π΅ΡΠΊΡ  | |
| git merge | ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π² ΡΠ΅ΠΊΡΡΡΡ | |
| git merge new-feature | Π‘Π»ΠΈΡΡ Π²Π΅ΡΠΊΡ  | |
| git merge --no-ff new-feature | ΠΡΠ΅Π³Π΄Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ merge-ΠΊΠΎΠΌΠΌΠΈΡ (Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ fast-forward) | |
| git merge --abort | ΠΡΠΌΠ΅Π½ΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΈ ΠΎΡΠΊΠ°ΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ΅ | |
| git rebase | ΠΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½Π° Π½ΠΎΠ²ΡΠΉ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ | |
| git rebase main | ΠΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ ΠΏΠΎΠ²Π΅ΡΡ
  | |
| git rebase -i HEAD~3 | ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 3 ΠΊΠΎΠΌΠΌΠΈΡΠ° | |
| git rebase --abort | ΠΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉΡΡ rebase | |
| git rebase -i --autosquash HEAD~5 | ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ fixup- ΠΈ squash-ΠΊΠΎΠΌΠΌΠΈΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ rebase | |
| git cherry-pick | ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠΈ | |
| git cherry-pick <hash> | ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ ΠΏΠΎ Ρ ΡΡΡ Π² ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ | |
| git cherry-pick --continue | ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ cherry-pick ΠΏΠΎΡΠ»Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² | |
| git cherry-pick A^..B | ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΎΡ  | 
π‘ Π£Π΄Π°Π»ΡΠ½Π½ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
| ΠΠΎΠΌΠ°Π½Π΄Π° | ΠΡΠΈΠΌΠ΅Ρ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | 
|---|---|---|
| git remote | Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ Π½Π° ΡΠ΄Π°Π»ΡΠ½Π½ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, GitHub) | |
| git remote -v | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΠ΅Π½Π° ΠΈ URL ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² | |
| git remote add origin URL | ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ  | |
| git pull | Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ»ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ | |
| git pull origin main | ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈ ΡΠ»ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ·  | |
| git pull --rebase origin main | ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ rebase ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ ΠΏΠΎΠ²Π΅ΡΡ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΉ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ | |
| git push | ΠΡΠΏΡΠ°Π²ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ | |
| git push origin main | ΠΡΠΏΡΠ°Π²ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ  | |
| git fetch | Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π±Π΅Π· ΡΠ»ΠΈΡΠ½ΠΈΡ | |
| git fetch origin | ΠΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ·  | |
| git fetch origin main | ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠΊΡ  | |
| git fetch --all | ΠΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΎ Π²ΡΠ΅Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² | |
| git fetch --prune | ΠΡΠΈΡΡΠΈΡΡ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠ΅ Π²Π΅ΡΠΊΠΈ β ΡΠ΄Π°Π»ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π²Π΅ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Ρ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ | |
| git fetch --dry-run | ΠΠΎΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½ΠΎ, Π±Π΅Π· ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ | |
| git fetch origin +main | ΠΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π²Π΅ΡΠΊΡ ( | 
π¦ Stash ΠΈ ΠΎΡΠΈΡΡΠΊΠ°
| ΠΠΎΠΌΠ°Π½Π΄Π° | ΠΡΠΈΠΌΠ΅Ρ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | 
|---|---|---|
| git stash | ΠΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π½Π΅Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (work in progress) | |
| git stash | Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΠ΅ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π·Π°ΡΠ΅ΠΌ Π²Π΅ΡΠ½ΡΡΡ ΡΠ°Π±ΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ | |
| git stash apply | ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΠ½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (stash ΠΎΡΡΠ°Π½Π΅ΡΡΡ) | |
| git stash pop | ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ stash | |
| git stash list | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ | |
| git stash branch feature-fix | Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊ Π½Π΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ stash | |
| git clean | ΠΠ΅Π·Π²ΠΎΠ·Π²ΡΠ°ΡΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ (Π½Π΅ Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠ΅ΡΡ ΠΏΠΎΠ΄ Git) | |
| git clean -f | Π£Π΄Π°Π»ΠΈΡΡ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ | |
| git clean -fd | Π£Π΄Π°Π»ΠΈΡΡ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ | |
| git clean -n | ΠΡΠ΅Π΄ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½ΠΎ (Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ dry run) | 
π·οΈ Π’Π΅Π³ΠΈ
| ΠΠΎΠΌΠ°Π½Π΄Π° | ΠΡΠΈΠΌΠ΅Ρ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | 
|---|---|---|
| git tag | Π‘ΠΎΠ·Π΄Π°ΡΡ, ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ΅Π³ΠΈ Π΄Π»Ρ ΠΎΡΠΌΠ΅ΡΠΊΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ Π² ΠΈΡΡΠΎΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π»ΠΈΠ·ΠΎΠ²) | |
| git tag -a v1.0 -m "Version 1.0" | Π‘ΠΎΠ·Π΄Π°ΡΡ Π°Π½Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅Π³  | |
| git tag -d v1.0 | Π£Π΄Π°Π»ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅Π³  | |
| git push | ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π²Π΅ΡΠΊΠΈ ΠΈ ΡΠ΅Π³ΠΈ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ | |
| git push origin --tags | ΠΡΠΏΡΠ°Π²ΠΈΡΡ Π²ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅Π³ΠΈ Π² ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ (ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ³Π³ΠΈΠ½Π³Π° Π²Π΅ΡΡΠΈΠΉ) | |
| git push origin v1.0 | ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠ΅Π³ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,  | |
| git push origin :refs/tags/v1.0 | Π£Π΄Π°Π»ΠΈΡΡ ΡΠ΅Π³  | 
π οΈ Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ²
| ΠΠΎΠΌΠ°Π½Π΄Π° | ΠΡΠΈΠΌΠ΅Ρ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | 
|---|---|---|
| git mergetool | ΠΡΠΊΡΡΡΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠΌΠΎΡΠΈ Π² ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΈ merge-ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² | |
| git mergetool --tool=meld | ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Meld) Π΄Π»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² | |
| git rerere | ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Git Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ, ΠΊΠ°ΠΊ Π²Ρ ΡΠ°Π½Π΅Π΅ ΡΠ°Π·ΡΠ΅ΡΠ°Π»ΠΈ merge-ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ | |
| git config --global rerere.enabled true | ΠΠΊΠ»ΡΡΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ»ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² | |
| git rerere status | ΠΠΎΠΊΠ°Π·Π°ΡΡ, Π΄Π»Ρ ΠΊΠ°ΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² | |
| git rerere diff | ΠΠΎΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Git ΡΠΎΡ ΡΠ°Π½ΠΈΠ» Π΄Π»Ρ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ | 
βοΈ ΠΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
| ΠΠΎΠΌΠ°Π½Π΄Π° | ΠΡΠΈΠΌΠ΅Ρ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | 
|---|---|---|
| git bisect | ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠ° | |
| git bisect start | ΠΠ°ΡΠ°ΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ Ρ ΠΎΡΠΎΡΠΈΠΌ ΠΈ ΠΏΠ»ΠΎΡ ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π±Π°Π³ | |
| git bisect bad | ΠΠΎΠΌΠ΅ΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΊΠ°ΠΊ βΠΏΠ»ΠΎΡ ΠΎΠΉβ (ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π±Π°Π³) | |
| git bisect good <commit> | ΠΠΎΠΌΠ΅ΡΠΈΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ βΡ ΠΎΡΠΎΡΠΈΠΉβ ΠΊΠΎΠΌΠΌΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±Π°Π³Π° Π½Π΅ Π±ΡΠ»ΠΎ | |
| git blame | ΠΠΎΠΊΠ°Π·Π°ΡΡ, ΠΊΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π· ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΡΠΎΠΊΡ ΡΠ°ΠΉΠ»Π°, Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅Π²ΠΈΠ·ΠΈΠΈ ΠΈ Π°Π²ΡΠΎΡΠ° | |
| git blame file.txt | ΠΠΎΠΊΠ°Π·Π°ΡΡ Π°Π²ΡΠΎΡΠ° ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ°ΠΉΠ»Π° | |
| git blame -L 10,20 file.txt | ΠΠΎΠΊΠ°Π·Π°ΡΡ blame-ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΡΠΎΠΊ Ρ 10 ΠΏΠΎ 20 | |
| git blame --show-email file.txt | ΠΠΎΠΊΠ°Π·Π°ΡΡ email Π°Π²ΡΠΎΡΠΎΠ² Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ ΡΡΡΠΎΠΊ | |
| git reflog | ΠΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ reflog (ΠΆΡΡΠ½Π°Π»ΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ Π²Π΅ΡΠΎΠΊ ΠΈ HEAD) | |
| git reflog show main@{1.week.ago} | ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΡΠ΄Π° ΡΠΊΠ°Π·ΡΠ²Π°Π»Π° Π²Π΅ΡΠΊΠ°  | |
| git reflog expire --expire=30.days --dry-run | ΠΡΠ΅Π΄ΠΏΡΠΎΡΠΌΠΎΡΡ reflog-Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ 30 Π΄Π½Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΈΡΡΠΈΡΡ (Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ) | |
| git reflog delete HEAD@{2} | Π£Π΄Π°Π»ΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ Π² reflog (ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎ β ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅) | |
| git submodule | ΠΠΎΠ±Π°Π²ΠΈΡΡ, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ, ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»ΠΈ (ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π²Π½ΡΡΡΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π²) | |
| git submodule add URL path | ΠΠΎΠ±Π°Π²ΠΈΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΏΡΡΡ | |
| git submodule update --init | ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠΊΠ°ΡΠ°ΡΡ Π²ΡΠ΅ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ | |
| git submodule foreach git pull | ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ  | |
| git submodule sync --recursive | Π‘ΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ URL ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΏΠΎΡΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°ΠΉΠ»Π΅  | |
| git submodule update --remote --merge | ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈΡ ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ Π²Π΅ΡΠΎΠΊ | |
| git archive | Π‘ΠΎΠ·Π΄Π°ΡΡ Π°ΡΡ ΠΈΠ² (zip, tar ΠΈ Ρ. Π΄.) ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΈΠ»ΠΈ Π²Π΅ΡΠΊΠΈ | |
| git archive --format=zip HEAD > archive.zip | Π‘ΠΎΠ·Π΄Π°ΡΡ ZIP-Π°ΡΡ ΠΈΠ² ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ HEAD | |
| git archive -o release.tar.gz HEAD | Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠΆΠ°ΡΡΠΉ Π°ΡΡ
ΠΈΠ²  | |
| git archive --format=tar --prefix=project/ HEAD \| gzip > project.tar.gz | Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠΆΠ°ΡΡΠΉ Π°ΡΡ
ΠΈΠ²  | |
| git gc | ΠΡΠΈΡΡΠΈΡΡ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ | |
| git gc --aggressive | ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΠ»Π½ΡΡ ΠΎΡΠΈΡΡΠΊΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ (ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΡΡΡ Π²ΡΠ΅ΠΌΡ, Π½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ) | |
| git gc --prune=now | Π£Π΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ Π½Π΅Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΡΠ°Π·Ρ (ΠΎΠΏΠ°ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½Ρ) | |
| git shortlog | ΠΡΠ°ΡΠΊΠΎΠ΅ ΡΠ΅Π·ΡΠΌΠ΅ Π°Π²ΡΠΎΡΠΎΠ² ΠΈ ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² | |
| git shortlog -e | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π°Π²ΡΠΎΡΠΎΠ² Ρ ΠΈΡ email (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π²ΠΊΠ»Π°Π΄Π°) | |
| git shortlog -s -n | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°Π²ΡΠΎΡΠ°, ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π² ΠΏΠΎ ΡΠΈΡΠ»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² | |
| git shortlog -sne | Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Π½ΠΎ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΈ email β ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ | |
| git revert | Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΎΡΠΌΠ΅Π½ΡΡΡΠΈΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ, Π±Π΅Π· ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΡ ΠΈΡΡΠΎΡΠΈΠΈ | |
| git revert HEAD | ΠΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΡΠΎΠ·Π΄Π°Π² Π½ΠΎΠ²ΡΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ°ΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ | |
| git revert <commit_hash> | ΠΡΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΏΠΎ Ρ ΡΡΡ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°ΡΠ°Π΅Ρ | 
π GitHub CLI
ghΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ GitHub ΠΈΠ· ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°.
| ΠΠΎΠΌΠ°Π½Π΄Π° | ΠΡΠΈΠΌΠ΅Ρ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | 
|---|---|---|
| gh auth login | ΠΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° Ρ ΠΎΡΡΠ΅ GitHub, ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ CLI ΠΌΠΎΠ³Π»ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ Π²Π°ΡΠ΅ΠΉ ΡΡΡΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ | |
| gh auth login --with-token < mytoken.txt | ΠΠΎΠΉΡΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠΊΠ΅Π½Π° Π΄ΠΎΡΡΡΠΏΠ°, ΡΠΎΡ
ΡΠ°Π½ΡΠ½Π½ΠΎΠ³ΠΎ Π² ΡΠ°ΠΉΠ»Π΅ ( | |
| gh auth login --hostname enterprise.internal | ΠΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ GitHub Enterprise (Π½Π΅ github.com) | |
| gh repo clone | ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ GitHub Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ | |
| gh repo clone user/repo | ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ repo, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ  | |
| gh repo clone cli/cli -- --depth=1 | ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΈ Π»ΡΠ³ΠΊΠΎΠ³ΠΎ ΠΊΠ»ΠΎΠ½Π° | |
| gh repo clone cli/cli workspace/cli | ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΡΡ ΠΏΠ°ΠΏΠΊΡ  | |
| gh issue list | ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ issues Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ GitHub Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ | |
| gh issue list --assignee "@me" | ΠΠΎΠΊΠ°Π·Π°ΡΡ issues, Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π²Π°ΠΌ | |
| gh issue list --state all | ΠΠΎΠΊΠ°Π·Π°ΡΡ issues Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ (ΠΎΡΠΊΡΡΡΡΠ΅ ΠΈΠ»ΠΈ Π·Π°ΠΊΡΡΡΡΠ΅) | |
| gh issue list --search "error no:assignee sort:created-asc" | ΠΠΎΠΊΠ°Π·Π°ΡΡ issues, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΡΠ»ΠΎΠ²ΠΎ βerrorβ, Π±Π΅Π· Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ, ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠΎ Π΄Π°ΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ (ΠΏΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ) | |
| gh pr create | Π‘ΠΎΠ·Π΄Π°ΡΡ pull request Π½Π° GitHub ΡΠ΅ΡΠ΅Π· CLI | |
| gh pr create --title "..." | Π‘ΠΎΠ·Π΄Π°ΡΡ pull request Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ | |
| gh pr create --project "Roadmap" | Π‘Π²ΡΠ·Π°ΡΡ pull request Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ GitHub ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ βRoadmapβ | |
| gh pr create --base develop --head monalisa:feature | Π‘ΠΎΠ·Π΄Π°ΡΡ PR ΠΈΠ· Π²Π΅ΡΠΊΠΈ  | |
| gh repo create | Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ GitHub ΡΠ΅ΡΠ΅Π· CLI | |
| gh repo create my-project | Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ  | |
| gh repo create my-project --public --clone | Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ ΡΡΠ°Π·Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ | |
| gh repo create my-project --private --source=. --remote=upstream | Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ remote Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ  | 
π‘ ΠΠ»ΠΈΠ°ΡΡ Git (ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ)
ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ Π°Π»ΠΈΠ°ΡΡ, ΡΡΠΎΠ±Ρ ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ Git:
git config --global alias.br branch                                       # ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ: git branch
git config --global alias.ci commit                                       # ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ: git commit
git config --global alias.co checkout                                     # ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ: git checkout
git config --global alias.graph "log --oneline --graph --all --decorate"  # Π½Π°Π³Π»ΡΠ΄Π½ΡΠΉ Π³ΡΠ°Ρ ΠΈΡΡΠΎΡΠΈΠΈ
git config --global alias.last "log -1 HEAD"                              # ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ
git config --global alias.st status                                       # ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ: git statusπ ΠΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Git Π΄Π»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΠΎΠ²
| ΠΠΎΠΌΠ°Π½Π΄Π° | ΠΡΠΈΠΌΠ΅Ρ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | 
|---|---|---|
| git filter-repo | ΠΠΎΡΠ½ΡΠΉ ΠΈ Π±ΡΡΡΡΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΡ ΠΈΡΡΠΎΡΠΈΠΈ Git (ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ², Π°Π²ΡΠΎΡΡΡΠ²Π° ΠΈΠ»ΠΈ ΠΏΡΡΠ΅ΠΉ); Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ git filter-branch, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ Π±ΠΎΠ»ΡΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ | |
| git filter-repo --path secret.txt --invert-paths | ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ
 ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ, ΠΏΡΠΈΡΡΡΠΈΡ
  | |
| git filter-repo --replace-text replacements.txt | ΠΠ°ΡΡΠΎΠ²Π°Ρ Π·Π°ΠΌΠ΅Π½Π° ΡΡΡΠΎΠΊ ΠΈΠ»ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π²ΠΎ Π²ΡΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠΈΡΡΠΊΠ° ΡΡΡΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ ) | |
| git filter-repo --subdirectory-filter src | ΠΠ·Π²Π»Π΅ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π² Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² | |
| git worktree | Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ°Π±ΠΎΡΠΈΠΌΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π²Π΅ΡΠΊΠ°ΠΌΠΈ Π±Π΅Π· ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ | |
| git worktree add ../feature feature-branch | Π‘ΠΎΠ·Π΄Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π΅ Π΄Π΅ΡΠ΅Π²ΠΎ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ΅ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ Π±Π΅Π· ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ ΠΊΠ»ΠΎΠ½ΠΎΠ² | |
| git worktree list | ΠΠΎΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ Π°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π΄Π΅ΡΠ΅Π²ΡΡ, ΠΈΡ ΠΏΡΡΠΈ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Π²Π΅ΡΠΊΠΈ | |
| git worktree remove ../feature | Π£Π΄Π°Π»ΠΈΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π΅ Π΄Π΅ΡΠ΅Π²ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΎΡΠΈΡΡΠΈΠ² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ | |
| git replace | Π‘ΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ, Π·Π°ΠΌΠ΅Π½ΡΡΡΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π΅Π½Π°Π²ΡΠ·ΡΠΈΠ²ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Ρ | |
| git replace <old_commit> <new_commit> | ΠΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ Π΄ΡΡΠ³ΠΈΠΌ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ (ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π»Ρ ΡΠ΅ΡΡΠΎΠ² ΠΈΠ»ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΈΡΡΠΎΡΠΈΠΈ Π±Π΅Π· Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΡ) | |
| git replace --list | ΠΠΎΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ Π°ΠΊΡΠΈΠ²Π½ΡΠ΅ Π·Π°ΠΌΠ΅Π½Ρ (replacement refs) | |
| git replace -d <replace_ref> | Π£Π΄Π°Π»ΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΌΠ΅Π½Ρ, ΡΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ | |
| git stash | ΠΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π½Π΅Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΡΠ΅ΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ Π±Π΅Π· ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π½Π΅Π·Π°Π²Π΅ΡΡΡΠ½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ | |
| git stash push -p | ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π² stash, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ ΡΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ | |
| git stash push -m "WIP selective stash" | Π‘ΠΎΠ·Π΄Π°ΡΡ stash Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ | |
| git stash apply stash@{2} | ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ stash ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°, Π½Π΅ ΡΠ΄Π°Π»ΡΡ Π΅Π³ΠΎ | |
| git rebase | ΠΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΈΡΡΡΡ, Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ | |
| git rebase --interactive --autosquash | ΠΠ°ΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ rebase, ΠΊΠΎΡΠΎΡΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΡ ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡ (squash) ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΠΊΠ°ΠΊ fixup/squash | |
| git rebase -i --autosquash HEAD~10 | ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΡΡ ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ fixup/squash-ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΎΡΠΈΡΡΠΈΠ² ΠΈΡΡΠΎΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ | |
| git commit --fixup <commit> | Π‘ΠΎΠ·Π΄Π°ΡΡ fixup-ΠΊΠΎΠΌΠΌΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½ ΠΏΡΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ rebase | |
| git commit --squash <commit> | Π‘ΠΎΠ·Π΄Π°ΡΡ squash-ΠΊΠΎΠΌΠΌΠΈΡ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π΅Π³ΠΎ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ ΠΏΡΠΈ rebase | |
| git bisect | ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠ°, ΡΠ΅ΡΡΠΈΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΡΡΠΆΠ°Ρ ΠΊΡΡΠ³ ΠΏΠΎΠΈΡΠΊΠ° | |
| git bisect run | ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ bisect, Π·Π°ΠΏΡΡΠΊΠ°Ρ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΡΠΊΡΠΈΠΏΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ | |
| git bisect start; git bisect bad; git bisect good v1.0; git bisect run ./test.sh | ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠΈΡΠΊ Π±Π°Π³ΠΎΠ², Π²ΡΠΏΠΎΠ»Π½ΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΡΠΊΡΠΈΠΏΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅, ΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΡΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ | |
| git bisect visualize | ΠΡΠΊΡΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° bisect | |
| git bisect reset | ΠΡΠΉΡΠΈ ΠΈΠ· ΡΠ΅ΠΆΠΈΠΌΠ° bisect ΠΈ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ HEAD | |
| git commit | Π€ΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ (amend, sign, fixup, Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ) Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° | |
| git commit --gpg-sign | Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π²Π°ΡΠΈΠΌ GPG-ΠΊΠ»ΡΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ ΠΈ Π°Π²ΡΠΎΡΡΡΠ²Π° | |
| git commit -S -m "Signed commit" | ΠΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ GPG-ΠΊΠ»ΡΡΠ° Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ Π°Π²ΡΠΎΡΡΡΠ²Π° | |
| git config --global user.signingkey <key_id> | ΠΠ°ΡΡΡΠΎΠΈΡΡ GPG-ΠΊΠ»ΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ | |
| git log --show-signature | ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ GPG-ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² | |
| git reflog | ΠΠ΅ΡΡΠΈ ΠΆΡΡΠ½Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ HEAD ΠΈ Π²Π΅ΡΠΎΠΊ, ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠ΅ΡΡΠ½Π½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΈΡΡΠΎΡΠΈΠΈ | |
| git reset --hard HEAD@{3} | Π‘Π±ΡΠΎΡΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈΠ· reflog, ΡΡΠΎΠ±Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ»ΠΈ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ | |
| git reflog expire --expire=now --all | Π‘ΡΠ°Π·Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ reflog, ΠΎΡΠΈΡΡΠΈΠ² ΠΈΡΡΠΎΡΠΈΡ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎ) | 
π§° Π‘ΠΎΠ²Π΅ΡΡ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ
| Π’Π΅ΠΌΠ° | ΠΠΎΠΌΠ°Π½Π΄Ρ / ΠΡΠΈΠΌΠ΅Ρ | ΠΠΎΡΡΠ½Π΅Π½ΠΈΡ ΠΈ ΡΠΎΠ²Π΅ΡΡ | 
|---|---|---|
| ΠΠ³ΡΠ΅ΡΡΠΈΠ²Π½Π°Ρ ΠΎΡΠΈΡΡΠΊΠ° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ | git gc --aggressive --prune=now | ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π³Π»ΡΠ±ΠΎΠΊΡΡ ΡΠ±ΠΎΡΠΊΡ ΠΌΡΡΠΎΡΠ° ΠΈ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΡΠ΄Π°Π»ΡΠ΅Ρ Π½Π΅Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ | 
| ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π΄Π΅ΡΠ΅Π²ΡΡ | git worktree add ../feature-branch feature | ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈΡ Π΄Π΅ΡΠ΅Π²ΡΠ΅Π² Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΈΡ, ΠΈΠ·Π±Π΅Π³Π°Ρ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΡΡ ΠΊΠ»ΠΎΠ½ΠΎΠ² | 
| Π§ΠΈΡΡΠ°Ρ Π»ΠΈΠ½Π΅ΠΉΠ½Π°Ρ ΠΈΡΡΠΎΡΠΈΡ | git rebase -i --autosquash | ΠΠ΅ΡΠ΅Π΄ ΠΎΡΠΏΡΠ°Π²ΠΊΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ rebase Ρ autosquash Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΡ ΡΠΈΡΡΠΎΠΉ ΠΈ ΡΠΈΡΠ°Π΅ΠΌΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠΈ | 
| ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ | git commit -S | ΠΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ GPG Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ²Π΅ΡΠΈΡ Π² ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ ; ΡΠ°ΡΡΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π² ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ | 
| ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ bisect | git bisect run ./test-script.sh | ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠΈΡΠΊ Π±Π°Π³ΠΎΠ², Π·Π°ΠΏΡΡΠΊΠ°Ρ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΡΠΊΡΠΈΠΏΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠ΅ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ bisect | 
| ΠΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² | git config --global rerere.enabled true | ΠΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ², ΡΡΠΎΠ±Ρ ΡΡΠΊΠΎΡΠΈΡΡ ΠΈΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ rebase ΠΈΠ»ΠΈ merge | 
| ΠΠ±ΡΠΈΠ΅ Π°Π»ΠΈΠ°ΡΡ ΠΈ Ρ ΡΠΊΠΈ | Π₯ΡΠ°Π½ΠΈΡΡ ΠΎΠ±ΡΠΈΠ΅ Π°Π»ΠΈΠ°ΡΡ Git ΠΈ commit hooks Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΈΠ»ΠΈ CI-ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π΅ Π΄Π»Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ | 
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ
π§ Π‘ΠΎΠ²Π΅Ρ
ΠΠ΅ ΠΏΡΡΠ°ΠΉΡΠ΅ΡΡ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ Π²ΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ --help, ΠΈΡΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΏΡΠ°ΠΊΡΠΈΠΊΡΠΉΡΠ΅ΡΡ:
git help <command>
git statusπ ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ
π ΠΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Git β ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Git:
https://git-scm.com/docs
π Learn Git Branching β ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΡΡΡΠΎΡΠΈΠ°Π» Π΄Π»Ρ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ:
https://learngitbranching.js.org
π ΠΠ½ΠΈΠ³Π° Pro Git (Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ, Π°Π²ΡΠΎΡΡ β Scott Chacon ΠΈ Ben Straub):
https://git-scm.com/book
π Git Cheatsheet (ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΊΡΠ°ΡΠΊΠΈΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ):
https://education.github.com/git-cheat-sheet-education.pdf