π 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