____ ____ ____ ____ ____ ____ _________ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____
||A |||L |||M |||O |||S |||T ||| |||E |||V |||E |||R |||Y |||T |||H |||I |||N |||G ||
||__|||__|||__|||__|||__|||__|||_______|||__|||__|||__|||__|||__|||__|||__|||__|||__|||__||
|/__\|/__\|/__\|/__\|/__\|/__\|/_______\|/__\|/__\|/__\|/__\|/__\|/__\|/__\|/__\|/__\|/__\|
____ ____ ____ ____ ____ _________ ____ ____ ____
||A |||B |||O |||U |||T ||| |||G |||I |||T ||
||__|||__|||__|||__|||__|||_______|||__|||__|||__||
|/__\|/__\|/__\|/__\|/__\|/_______\|/__\|/__\|/__\|
┌─╦═══════════════════════════════════════════════════════════════════════════════════════════════════╦─┐
│#│▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫│#│
╠─┘▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫8▫▫▫▫.d88b.▫.d88b▫▫▫▫db▫▫▫▫8▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫└─╣
║▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫8▫▫▫▫8P▫▫Y8▫8P▫▫▫▫▫▫dPYb▫▫▫8▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫║
║▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫8▫▫▫▫8b▫▫d8▫8b▫▫▫▫▫dPwwYb▫▫8▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫║
║▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫8888▫`Y88P'▫`Y88P▫dP▫▫▫▫Yb▫8888▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫║
║▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫║
╠═╦━━━━━━━━━╦═════════════╦━━━━━━━━━╦══╦━━━━━━━━━━╦══╦━━━━━━━━━╦══╦━━━━━━━╦══╦━━━━━━━━━╦════════════════╣
║ ┃ Stashed ┃ ┃Untracked┃ ┃Unmodified┃ ┃ Modified┃ ┃ Staged┃ ┃Committed┃ ║
╠═╩━━━━━━━━━╩═════════════╩━━━━━━━━━╩══╩━━━━━━━━━━╩══╩━━━━━━━━━╩══╩━━━━━━━╩══╩━━━━━━━━━╩════════════════╣
║ ║
║ +-+-+-+-+-+ +-+-+-+ +-+-+-+-+-+ ║
╠═════════════════════════════════|T|R|A|C|K| |a|n|d| |S|T|A|G|E|═══════════════════════════════════════╣
║ +-+-+-+-+-+ +-+-+-+ +-+-+-+-+-+ ║
║ ┏━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git add -N ○═══○ With option -N this will start tracking instead of staging ┃░║
║ ┗▲━━━━━━━━━━━━━▼┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░║
║ │ │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░║
║ ┌─ ──── ─┐ ┌───■─────┐ ┌────▼─────┐ ┌─────────┐ ┌───────┐ ┌ ─ ─ ─ ─ ┐ ║
║ │Stashed │ │Untracked│ │Unmodified│ │ Modified│ │ Staged│ Committed ║
║ └── ──── ┘ └─■───────┘ └──────────┘ └────■────┘ └─▲─────┘ └ ─ ─ ─ ─ ┘ ║
║ │ │ │ ║
║ ▼─┳━━━━━━━━━━━━━━━┳───┳━━━━━━━▼━━━━━━━━━▲━━━━━━━━━━━━━━━┓ ║
║ ┃git add -p ○═══○ Interactively adding to to stage┃░ ║
║ ┣━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git add . ○═══○ Adding all files to stage ┃░ ║
║ ┣━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git add <file> ○═══○ Adding single file to stage ┃░ ║
║ ┗━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ║
║ ║
║ +-+-+-+-+-+-+-+ ║
╠═════════════════════════════════════════|U|N|T|R|A|C|K|═══════════════════════════════════════════════╣
║ +-+-+-+-+-+-+-+ ║
║ ┌─ ──── ─┐ ┌─────────┐ ┌──────────┐ ┌─────────┐ ┌───────┐ ┌ ─ ─ ─ ─ ┐ ║
║ │Stashed │ │Untracked│ │Unmodified│ │ Modified│ │ Staged│ Committed ║
║ └── ──── ┘ └─▲───────┘ └─────■────┘ └────■────┘ └─■─────┘ └ ─ ─ ─ ─ ┘ ║
║ │ │ │ │ ║
║ ◀─┳──────────────▼───────┳───┳▼━━━━━━━━━▼━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git rm --cached . -r ○═══○ Recursively untrack all files ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git rm --cached <file>○═══○ Untrack single file ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ║
║ ║
║ +-+-+-+-+-+-+-+ ║
╠═════════════════════════════════════════|U|N|S|T|A|G|E|═══════════════════════════════════════════════╣
║ +-+-+-+-+-+-+-+ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┏━━━━━━━━━━━━━━━━━┓ ┃ Unstage all files from stage and removes changes ┃░ ║
║ ┃git reset --hard ○═══○ This will reset to last commit ┃░ ║
║ ┗━━━━━━━━━━━━▼━━━━┛ ┗━━━━━━▲━━━━━━━━━▲━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ │ ░░░░░░│░░░░░░░░░│░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ┌─ ──── ─┐ ┌ ─ ─ ─ ─ ┐ ┌──▼───────┐ ┌────■────┐ ┌─■─────┐ ┌ ─ ─ ─ ─ ┐ ║
║ │Stashed │ Untracked │Unmodified│ │ Modified│ │ Staged│ Committed ║
║ └── ──── ┘ └ ─ ─ ─ ─ ┘ └──────────┘ └──────▲──┘ └─■─────┘ └ ─ ─ ─ ─ ┘ ║
║ │ │ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━┻━━━━━━━▼━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git reset ○═══○ Unstage all files and keep changes ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git reset <file> ○═══○ Unstage single file and keep changes ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ║
║ ║
║ +-+-+-+-+-+-+-+-+ ║
╠═════════════════════════════════════════|U|N|M|O|D|I|F|Y|═════════════════════════════════════════════╣
║ +-+-+-+-+-+-+-+-+ ║
║ ┌─ ──── ─┐ ┌ ─ ─ ─ ─ ┐ ┌──────────┐ ┌─────────┐ ┌───────┐ ┌ ─ ─ ─ ─ ┐ ║
║ │Stashed │ Untracked │Unmodified│ │ Modified│ │ Staged│ Committed ║
║ └── ──── ┘ └ ─ ─ ─ ─ ┘ └────────▲─┘ └────■────┘ └───────┘ └ ─ ─ ─ ─ ┘ ║
║ │ │ ║
║ ┏━━━━━━━━━━━━━━━━━▲━━━━┓ ┏▼━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git checkout . ○═══○ Remove all changes which are not staged┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git checkout <file> ○═══○ Remove changes from single file ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ║
║ +-+-+-+-+-+ ║
╠═════════════════════════════════════════ |S|T|A|S|H| ═════════════════════════════════════════════╣
║ +-+-+-+-+-+ ║
║ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git stash ○═══○ Modified and stashed files are placed in temporary place called stash┃░║
║ ┗━━━▼━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━▲━━━━━━━━━━━▲━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░║
║ │ ░░░░░░░░░░░░░░░░░░│░░░░░░░░░░░│░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░║
║ ┌───▼────┐ ┌ ─ ─ ─ ─ ┐ ┌ ─ ─ ─ ─ ─ ┌────■────┐ ┌───■───┐ ┌ ─ ─ ─ ─ ┐ ║
║ │Stashed │ Untracked Unmodified│ │ Modified│ │ Staged│ Committed ║
║ └────■───┘ └ ─ ─ ─ ─ ┘ └ ─ ─ ─ ─ ─ └───▲─────┘ └───────┘ └ ─ ─ ─ ─ ┘ ║
║ │ │ ║
║ ┏━━━━▼━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━▲━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git stash apply ○═══○ Applies last stash to working branch from the stash list ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git stash apply stash@{2} ○═══○ Applies specific stash to working branch from the stash list ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git stash drop ○═══○ Drops last stash from the stash list ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git stash drop stash@{2} ○═══○ Drops specific stash from the stash list ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git stash pop ○═══○ Applies last stash to working branch from the stash list and ┃░ ║
║ ┃ ┃ ┃ drops last stash from the stash list ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git stash list ○═══○ List of stashes of local repo ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git stash clear ┃ ┃ Remove all stashes from local repo ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ║
║ ║
║ +-+-+-+-+-+-+ ║
╠═════════════════════════════════════════ |C|O|M|M|I|T| ═════════════════════════════════════════════╣
║ +-+-+-+-+-+-+ ║
║ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git commit -m ○═══○ Staged files will be committed to local repo and will record history ┃░║
║ ┗━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━▲━━━━━━━━━━━▼━━━━━━━━━━━━━━━━━━━━━━━━━━┛░║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│░░░░░░░░░░░│░░░░░░░░░░░░░░░░░░░░░░░░░░░░║
║ ┌─ ──── ─┐ ┌ ─ ─ ─ ─ ┐ ┌ ─ ─ ─ ─ ─ ┌─────────┐ ┌────■──┐ ┌─────▼───┐ ║
║ │Stashed │ Untracked Unmodified│ │ Modified│ │ Staged│ │Committed│ ║
║ └── ──── ┘ └ ─ ─ ─ ─ ┘ └ ─ ─ ─ ─ ─ └─────■───┘ └───────┘ └────▲────┘ ║
║ │ │ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━▼━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git commit -a -m ○═╦═○ Modified files will be committed to local repo and will record ┃░║
║ ┣━━━━━━━━━━━━━━━━━━━━━━┫ ║ ┃ history ┃░║
║ ┃git commit -am ○═╝ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░║
║ ┗━━━━━━━━━━━━━━━━━━━━━━┛ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░║
║ ║
║ ┌─ ──── ─┐ ┌ ─ ─ ─ ─ ┐ ┌ ─ ─ ─ ─ ─ ┌ ─ ─ ─ ─ ┐ ┌───────┐ ┌ ─ ─ ─ ─ ┐ ║
║ │Stashed │ Untracked Unmodified│ Modified │ Staged│ Committed──┐ ║
║ └── ──── ┘ └ ─ ─ ─ ─ ┘ └ ─ ─ ─ ─ ─ └ ─ ─ ─ ─ ┘ └───■───┘ └│─ ─ ─ ─ ┘ │ ║
║ │ │ Committed│ ║
║ │ └────▲─────┘ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━━━━▼━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Staged files will be committed to local repo and will commit ┃░ ║
║ ┃git commit --amend ○══╬○record will be added to existing commit (last commit) ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git commit --amend --no-edit ○══╬○Keeps commit notes from last commit ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ║
║ +-+-+-+-+-+-+-+-+ ║
╠═════════════════════════════════════════|U|N|C|O|M|M|I|T|═════════════════════════════════════════════╣
║ +-+-+-+-+-+-+-+-+ ║
║ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git reset --soft HEAD~ ○═══○ Undo last commits to Stage area ┃░║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━▲━━━━━━━━━━━━━━━━━━━━━━━━━━┛░║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│░░░░░░░░░░░│░░░░░░░░░░░░░░░░░░░░░░░░░░░░║
║ ┌─ ──── ─┐ ┌ ─ ─ ─ ─ ┐ ┌ ─ ─ ─ ─ ─ ┌─────────┐ ┌────▼──┐ ┌─────■───┐ ║
║ │Stashed │ Untracked Unmodified│ │ Modified│ │ Staged│ │Committed│ ║
║ └── ──── ┘ └ ─ ─ ─ ─ ┘ └ ─ ─ ─ ─ ─ └─────▲───┘ └───────┘ └───■─────┘ ║
║ │ │ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━■━━━━━━━━━━━━━━━━━━━━━▼━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git reset HEAD~ ○═══○ Undo last commits and keep changes ┃░║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░║
║ ┃git reset HEAD~ <file> ○═══○ Undo specific file from last commit and keep changes ┃░║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░║
║ ┃git reset HEAD~ <commit>○═══○ Undo to specific commit from history and keep changes ┃░║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░║
║ ║
║ ┌─ ──── ─┐ ┌ ─ ─ ─ ─ ┐ ┌──────────┐ ┌ ─ ─ ─ ─ ┐ ┌ ─ ─ ─ ┐ ┌─────────┐ ║
║ │Stashed │ Untracked │Unmodified│ Modified Staged │Committed│ ║
║ └── ──── ┘ └ ─ ─ ─ ─ ┘ └────▲─────┘ └ ─ ─ ─ ─ ┘ └ ─ ─ ─ ┘ └────■────┘ ║
║ │ │ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━■━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━▼━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git reset --hard HEAD~ ○═══○ Undo last commits and remove changes ┃░║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░║
║ ║
║ ╔════════════════════════════════════════════════╗ ║
║ ║ HEAD~ and HEAD^ points to same commit ║░ ║
║ ║ ║░ ║
║ ║ ~number is shorthand for multiple ^ ║░ ║
║ ║ ║░ ║
║ ║ HEAD~4 and HEAD^^^^ points to same commit ║░ ║
║ ╚════════════════════════════════════════════════╝░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ║
╠═══════════════════════════════════════════════════════════════════════════════════════════════════════╣
║▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫║
║▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫888b.▫8888▫8b▫▫▫d8▫.d88b.▫88888▫8888▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫║
║▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫8▫▫.8▫8www▫8YbmdP8▫8P▫▫Y8▫▫▫8▫▫▫8www▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫║
║▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫8wwK'▫8▫▫▫▫8▫▫"▫▫8▫8b▫▫d8▫▫▫8▫▫▫8▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫║
║▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫8▫▫Yb▫8888▫8▫▫▫▫▫8▫`Y88P'▫▫▫8▫▫▫8888▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫║
║▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫║
╠═══════════════════════════════════════════════════════════════════════════════════════════════════════╣
║ ┌───────┐ ┌───────┐ ║
║ │C┌─────┴─┐ │C┌─────┴─┐ ║
║ │ │C┌─────┴─┐ │ │C┌─────┴─┐ ║
║ └─┤ │Commits│ └─┤ │Commits│ ║
║ └─┤┌──────┴──────────────┐ ┌───────────┴─┴───────┤ ║
║ └┤ Local Repo │ │ Remote Repo │ ║
╠══════════════════════════╩─────────────────────╩════╩─────────────────────╩═══════════════════════════╣
║ ║
║ ║
║ +-+-+-+-+ ║
╬════════════════════════════════════════ |P|U|S|H| ══════════════════════════════════════════════════║
║ +-+-+-+-+ ║
║ ║
║ ┌─────────────────────┐ ┌─────────────────────┐ ║
║ │ Local Repo │ │ Remote Repo │ ║
║ └────────────■────────┘ └────────────▲────────┘ ║
║ │ │ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━▼━━━━━━━━┓ ┏━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git push origin branchName ○═══○ Push last commit from local to specified ┃░ ║
║ ┃ ┃ ┃ remote branch ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git push ○═══○ Push last commit from local current ┃░ ║
║ ┃ ┃ ┃ branch to same remote branch or tracked branch)┃░ ║
║ ┃ ┃ ┃ ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git push -u ○═╦═○ Push and start tracking different branch other ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ║ ┃ than tracked one or if it not tracking any ┃░ ║
║ ┃git push --set-upstream ○═╝ ┃ branch set for current branch ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┃ ┃░ ║
║ ┃ exp. git push -u ┃░ ║
║ ┃ exp. git push -u origin branch_1:branch_2 ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ║
║ ║
║ ╔═════════════════════════════════════════════════════════╗ ║
║ ║ if you have `git config push.default` to `current` ║░ ║
║ ║ which doesn't care about whether or not the current ║░ ║
║ ║ branch tracks an upstream, it just wants to push to any ║░ ║
║ ║ branch that has the same name. `simple` is default ║░ ║
║ ║ behavior ║░ ║
║ ╚═════════════════════════════════════════════════════════╝░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ +-+-+-+-+-+-+ ║
╠═════════════════════════════════════════|U|N|P|U|S|H|═════════════════════════════════════════════════╣
║ +-+-+-+-+-+-+ ║
║ ║
║ ║
║ ┌─────────────────────┐ ┌─────────────────────┐ ║
║ │ Local Repo │ │ Remote Repo │ ║
║ └──────────■──────────┘ └──────────▲──────────┘ ║
║ │ │ ║
║ ┌────┳━━━━━━━━━━━━━━━━━━━━━━▼━━━━━━━━┓ ┏━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ │ 1. │git reset --hard <commit> ○═══○ Revert to specific commit in local repo ┃░║
║ └────┻━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░║
║ ──┼── ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░║
║ ┌────┳━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ │ 2. │git push -f ○═══○ Reverts remote repo to where local branch is ┃░║
║ └────┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░║
║ ║
║ ║
║ +-+-+-+-+-+ +-+ +-+-+-+-+-+ +-+ +-+-+-+-+ ║
╠═══════════════════════════ |F|E|T|C|H| |&| |M|E|R|G|E| |&| |P|U|L|L| ═══════════════════════════════╣
║ +-+-+-+-+-+ +-+ +-+-+-+-+-+ +-+ +-+-+-+-+ ║
║ ║
║ ┌─────────────────────┐ ┌─────────────────────┐ ║
║ │ Local Repo │ │ Remote Repo │ ║
║ └────────────┬────────┘ └────────────▲────────┘ ║
║ │ │ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━▼━━━━━━━━┓ ┏━━━━━━━━━━━━━■━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git fetch origin ○═══○ Get all the data from that remote repo that ┃░ ║
║ ┃ ┃ ┃ you don’t have yet ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git merge <branch> ○═══○ Apply all changes from specified branch to your┃░ ║
║ ┃ ┃ ┃ current checked-out branch and creates new ┃░ ║
║ ┃ ┃ ┃ commit ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git pull origin ┃ ┃ Get all the data from that remote repo and ┃░ ║
║ ┃ ○═══○ apply to your current checked-out branch. ┃░ ║
║ ┃ ┃ ┃ Git pull is combination of git fetch and ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┃ git merge. ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ║
║ +-+-+-+-+-+-+ ║
╠═════════════════════════════════════════|R|E|B|A|S|E|═════════════════════════════════════════════════╣
║ +-+-+-+-+-+-+ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ +-+-+-+-+-+-+ +-+-+-+-+ ║
╠════════════════════════════════════ |R|E|M|O|T|E| |R|E|P|O| ══════════════════════════════════════════╣
║ +-+-+-+-+-+-+ +-+-+-+-+ ║
║ ║
║ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git remote ○═══○ View remote repo name(s) ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git remote -v ○═══○ View remote repo name(s) and url(s) ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃ ┃ ┃ Shows below information about remote repo: ┃░ ║
║ ┃ ┃ ┃ 1. repo url ┃░ ║
║ ┃git remote show <name> ○═══○ 2. Where HEAD branch is pointed ┃░ ║
║ ┃ ┃ ┃ 3. Remote branches ┃░ ║
║ ┃ ┃ ┃ 4. Local branches pointing which remote branch ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git ls-remote ○═══○ View references available in a remote ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┃ repo along with the associated commit IDs ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ║
║ ║
║ ║
║ +-+-+-+-+-+-+-+ +-+-+-+ +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+ +-+-+ +-+-+-+-+-+ ║
╠════════ |L|I|N|K|I|N|G| |a|n|d| |U|N|L|I|N|K|I|N|G| |R|E|M|O|T|E| |R|E|P|O| |t|o| |L|O|C|A|L| ════════╣
║ +-+-+-+-+-+-+-+ +-+-+-+ +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+ +-+-+-+-+ +-+-+ +-+-+-+-+-+ ║
║ ║
║ ┌─────────────────────┐ ┌─────────────────────┐ ║
║ │ Local Repo ◀───▶ Remote Repo[origin] │ ║
║ └─────────────────────┘ └─────────────────────┘ ║
║ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git clone <repo-link> ○═══○ Copies all content from remote repo/branch ┃░ ║
║ ┃ ┃ ┃ Default remote repo name is origin ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git clone <repo-link> -o <name> ○═══○ If you want to name remote repo other than origin ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git remote add <name> <repo-link> ○═══○ Can add more remote repo ┃░ ║
║ ┃ ┃ ┃ Can't have same name of existing one ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git remote rm <name> ○═══○ Remove specified remote repo ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git remote rename origin <name> ○═══○ Rename remote repo ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ║
║ ║
║ +-+-+-+-+-+-+-+-+-+ ║
╠═════════════════════════════════════ |B|R|A|N|C|H|I|N|G| ════════════════════════════════════════════╣
║ +-+-+-+-+-+-+-+-+-+ ║
║ ┌───────────────────────────────────────────────────┐ ║
║ │ Local Repo │ ║
║ ├──────┬────────┬────────┬────────┬─────────────────╣ ║
║ Master│Branch_1│Branch_2│Branch_3│Branch_4║Branch_5║ ║
║ └ ─ ─ ─└ ─ ─ ─ ─└ ─ ─ ─ ─└ ─ ─ ─ ─└ ─ ─ ─ ─ ══ ▲══ ║
║ │ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git branch Branch_5 ○═══○ Create new local branch called `Branch_5` ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ║
║ ║
║ ┌───────────────────────────────────────────────────┐ ║
║ │ Local Repo │ ║
║ ├──────┬────────┬────────┬────────┬─────────────────╣ ║
║ Master│Branch_1│Branch_2│Branch_3│Branch_4║Branch_5║ ║
║ └ ─ ─ ─└ ─ ─ ─ ─└ ─ ─ ─ ─└ ─ ─ ─ ─└ ─ ─ ─ ─ ══ ▲══ ║
║ │ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git checkout -b Branch_5 ○═══○ Create new local branch called `Branch_5` ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┃ and checkout to new created branch ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ║
║ ┌──────────────────────────────────────────┐ ┌──────────────────────────────────────────┐ ║
║ │ Local Repo │ │ Remote Repo │ ║
║ ├──────┬────────┬────────┬────────┬────────┘ ├──────┬────────┬────────┬────────┬────────┘ ║
║ │Master│Branch_1│Branch_2│Branch_3│Branch_4│ │Master│Branch_1│Branch_2│Branch_3│Branch_4│ ║
║ └──■───┴ ─ ─ ─ ─└───▲──▲─┴ ─ ─ ─ ─└ ─ ─ ─ ─ └──────┴ ─ ─ ─ ─└───┬────┴ ─ ─ ─ ─└ ─ ─ ─ ─ ║
║ │ │ ◆───────────────────────────────────────────◀ ║
║ ┏━━▼━━━━━━━━━━━━━━━━┻━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git checkout Branch_2 ○═══○ Switch from current branch to targeted branch ┃░ ║
║ ┃ ┃ ┃ We are assuming current branch is master in this case. ┃░ ║
║ ┃ ┃ ┃ If local branch doesn't exist and remote branch ┃░ ║
║ ┃ ┃ ┃ matches name, it automagically gets remote branch's content┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git checkout - ○═══○ Switch back to last checked-out branch ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ┌──────────────────────────────────────────┐ ┌──────────────────────────────────────────┐ ║
║ │ Local Repo │ │ Remote Repo │ ║
║ ├──────┬────────┬────────┬────────┬────────┘ ├──────┬────────┬────────┬────────┬────────┘ ║
║ │Master│Branch_1│Branch_2│Branch_3│Branch_4│ │Master│Branch_1│Branch_2│Branch_3│Branch_4│ ║
║ └──────┴ ─ ─ ─ ─└───▲────┴ ─ ─ ─ ─└ ─ ─ ─ ─ └──────┴ ─ ─ ─ ─└───▲────┴ ─ ─ ─ ─└ ─ ─ ─ ─ ║
║ │ │ ║
║ ┏━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━┓ ║
║ ┃git branch -d Branch_2 ○═══○ Delete merged local branch ┃░ ║
║ ┃ ┃ ┃ ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git branch -D Branch_2 ○═══○ Delete unmerged or merged local branch ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git push origin --delete Branch_2○═══○ Delete remote branch ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git branch b ○═══○ List all local branches ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git branch -r ○═══○ List all remote branches ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git branch -a ○═══○ List all local and remote branches ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git branch -v ○═══○ Local branches with last commit info ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git branch -vv ○═══○ Local branches with last commit and ┃░ ║
║ ┃ ┃ ┃ upstream info ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git branch -u ○═══○ Start tracking specified remote branch ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┃ ┃░ ║
║ ┃ Exp. git branch -u origin/Branch_3 ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ║
║ ║
║ ║
║ +-+-+-+ +-+-+-+-+ ║
╠═══════════════════════════════════════ |G|I|T| |D|I|F|F| ═════════════════════════════════════════════╣
║ +-+-+-+ +-+-+-+-+ ║
║ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git diff --cached ○═╗ ┃ ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━┫ ╠═○ Show changes between staged and last commit ┃░ ║
║ ┃git diff --staged ○═╝ ┃ ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━▲━━━━━━━━━━━━━━━━━━━━━━━━▲━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░│░░░░░░░░░░░░░░░░░░░░░░░░│░░░░░░░░░░░░░░░░░░░ ║
║ ┌─ ──── ─┐ ┌ ─ ─ ─ ─ ┐ ┌─────▼────┐ ┌─────────┐ ┌───▼───┐ ┌─────────┐ ║
║ │Stashed │ Untracked │Unmodified│ │ Modified│ │ Staged│ │Committed│ ║
║ └── ──── ┘ └ ─ ─ ─ ─ ┘ └─────▲────┘ └─────────┘ └───▲───┘ └─────────┘ ║
║ │ │ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━▼━━━━━━━━━━━━━━━━━━━━━━━━▼━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git diff ○═══○ Show changes between modified files and last commit ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ║
║ ║
║ ║
║ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git diff HEAD <repo> <file> <commit> <stash> ○═══○ You can get difference between anything ┃░║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┃ you can reference ┃░║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░║
║ ║
║ ║
║ +-+-+-+ +-+-+-+ ║
╠═══════════════════════════════════════ |G|I|T| |L|O|G| ═════════════════════════════════════════════╣
║ +-+-+-+ +-+-+-+ ║
║ ║
║ ║
║ ┌───────┐ ┌───────┐ ║
║ │C┌─────┴─┐ │C┌─────┴─┐ ║
║ │ │C┌─────┴─┐ │ │C┌─────┴─┐ ║
║ ■─┤ │Commits│ └■┤ │Commits│ ║
║ │ ■─┤┌──────┴──────────────┐ ┌──────────┴┴─┴───────┤ ║
║ │ │ ■┤ Local Repo │ │ Remote Repo │ ║
║ │ │ │└─────────■───────────┘ └────────■─┬─┬────────┘ ║
║ │ │ │ │ │ │ │ ║
║ │ │ │ │ │ │ │ ║
║ │ │ │ │ │ │ │ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━▼━▼━▼━━━━━━━━━━▼━━━━━━━━┓ ┏━━━━━━━━━━━━▼━▼━▼━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git log ┃ ┃ Log/history view of each commit or only ┃░ ║
║ ┃git log -number ┃ ┃ specified number of log from HEAD: ┃░ ║
║ ┃ ○═══○ ┃░ ║
║ ┃ ┃ ┃ Full SHA KEY ┃░ ║
║ ┃ ┃ ┃ Date ┃░ ║
║ ┃ ┃ ┃ Author ┃░ ║
║ ┃ ┃ ┃ Commit Message ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git log --abbrev-commit ┃ ┃ Shortened SHA KEY ┃░ ║
║ ┃ ○═══○ Date ┃░ ║
║ ┃ ┃ ┃ Author ┃░ ║
║ ┃ ┃ ┃ Commit Message ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git log HEAD <repo> <file> <commit> <stash> ┃ ┃ You can get log/history of anything ┃░ ║
║ ┃ ○═══○ you can reference ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git log -p ○═══○ git log and git diff combined report for ┃░ ║
║ ┃ ┃ ┃ each commit ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git show ○═══○ Same as git log -p -1 ┃░ ║
║ ┃ ┃ ┃ ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git log --stat ○═══○ Effected files and changes stats such as ┃░ ║
║ ┃ ┃ ┃ how many lines has changed ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git log --oneline ○═══○ Shortened SHA and commit notes same as: ┃░ ║
║ ┃ ┃ ┃ --pretty=format:'%h %s' ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git log --pretty=oneline ○═══○ Full SHA and commit notes same as: ┃░ ║
║ ┃ ┃ ┃ --pretty=format:'%H %s' ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git log --graph ○═══○ ASCII graph about branch histroy ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git log --decorate ○═══○ git log with where your branch pointers ┃░ ║
║ ┃ ┃ ┃ (tracking) are ┃ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ║
║ ┃git log --after='' ○═╗ ┃ Filter by start date ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ╠═○ Accepts any proxy dates : 'yesterday, two ┃░ ║
║ ┃git log --since='' ○═╝ ┃ weeks ago, 30 minutes, 12/12/12' ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git log --before='' ○═╗ ┃ Filter by end date ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ╠═○ Accepts any proxy dates : 'yesterday, two ┃░ ║
║ ┃git log --until='' ○═╝ ┃ weeks ago, 30 minutes, 12/12/12' ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git log <commitA>..<commitB> ○═╗ ┃ ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ╠═○ Logs between specified commits ┃░ ║
║ ┃git log ^<commitA> <commitB> ○═╝ ┃ ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git reflog ○═══○ Shows commits in lastly referenced Same as: ┃░ ║
║ ┃ ┃ ┃ git log -g --oneline ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git log --pretty=format:'' ○═══○ Format/customize log view ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━┳━━━━━━━━━━━━━━━┫ ┣━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃%H ┃%h ○═══○ Full ┃ Shortened /Abbreviated SHA key ┃░ ║
║ ┣━━━━━╋━━━━━━━━━━━━━━━┫ ┣━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃%T ┃%t ○═══○ Full ┃ Shortened / Abbreviated Tree SHA key ┃░ ║
║ ┣━━━━━╋━━━━━━━━━━━━━━━┫ ┣━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃%P ┃%p ○═══○ Full ┃ Shortened / Abbreviated Parent SHA ┃░ ║
║ ┣━━━━━┻━━━━┳━━━━━━━━━━┫ ┣━━━━━━━┻━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃%an ┃%cn ○═══○ Author name ┃ Committer email ┃░ ║
║ ┣━━━━━━━━━━╋━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃%ae ┃%ce ○═══○ Author email ┃ Committer date ┃░ ║
║ ┣━━━━━━━━━━╋━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃%ad ┃%cd ○═══○ Author date ┃ Committer relative ┃░ ║
║ ┣━━━━━━━━━━╋━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃%ar ┃%cr ○═══○ Author relative date ┃ Commiter relative date┃░ ║
║ ┣━━━━━━━━━━┻━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃%s ┃ ┃ Subject ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ║
║ +-+-+-+-+-+-+-+-+-+ ║
╠══════════════════════════════════════ |D|E|B|U|G|G|I|N|G| ════════════════════════════════════════════╣
║ +-+-+-+-+-+-+-+-+-+ ║
║ ║
║ ║
║ ┌────────────────────────────────┐ ║
║ │ SETUP │ ║
║ └────────────────────────────────┘ ║
║ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git bisect start ○═══○ Start bisecting ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git checkout <broken-commit> ○═══○ Checkout to known broken commit ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ ┃░ ║
║ ┃git git bisect bad ○═══○ Mark as bad ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git checkout <working-commit> ○═══○ Checkout to known good commit ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ ┃░ ║
║ ┃git bisect good ○═══○ Mark as good ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ║
║ ┌────────────────────────────────┐ ║
║ │ BISECT │ ║
║ └────────────────────────────────┘ ║
║ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git bisect good/bad ○═══○ Mark as good or bad after your investigation ┃░ ║
║ ┗━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ┃git bisect good/bad ○─┐ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ┗━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ │ ║
║ ┃git bisect good/bad ○═╣ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┗━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┫ ║ ┃ Keep repeat same step till you reach ┃░ ║
║ ┃git bisect good/bad ○═╩═○ final revision ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git bisect reset ○═══○ Clean up the bisection state and return to ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━┛ ┃the original HEAD ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ║
║ +-+-+-+-+-+-+-+-+ ║
╠═════════════════════════════════════════|S|E|T|T|I|N|G|S|═════════════════════════════════════════════╣
║ +-+-+-+-+-+-+-+-+ ║
║ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git config --system --edit ○═══○ /usr/local/git/etc/gitconfig ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git config --global --edit ○═══○ ~/.gitconfig ┃░ ║
║ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫░ ║
║ ┃git config --local --edit ○═══○ <ProjectFolder>/.git/config ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║
║ ┃git config --list ○═══○ List of all configs from system, global and ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┃ local ┃░ ║
║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛░ ║
║ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
║ ║
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|