67 lines
798 B
Markdown
67 lines
798 B
Markdown
|
# Git
|
||
|
|
||
|
## Config
|
||
|
|
||
|
Aliases:
|
||
|
|
||
|
```sh
|
||
|
git config --global alias.br branch
|
||
|
git config --global alias.ci commit
|
||
|
git config --global alias.co checkout
|
||
|
git config --global alias.df diff
|
||
|
git config --global alias.st status
|
||
|
git config --global alias.logo 'log --pretty=oneline'
|
||
|
```
|
||
|
|
||
|
Use neovim when commit:
|
||
|
|
||
|
```sh
|
||
|
git config --global core.editor nvim
|
||
|
```
|
||
|
|
||
|
## Commands
|
||
|
|
||
|
Prefer rebase when pull:
|
||
|
|
||
|
```sh
|
||
|
git pull --rebase
|
||
|
```
|
||
|
|
||
|
Clean outdated branches:
|
||
|
|
||
|
```sh
|
||
|
git fetch --prune
|
||
|
```
|
||
|
|
||
|
Push force **safely**:
|
||
|
|
||
|
```sh
|
||
|
git push --force-with-lease
|
||
|
```
|
||
|
|
||
|
Rewrite history by changing last `x` commits :
|
||
|
|
||
|
```sh
|
||
|
git rebase -i HEAD~x
|
||
|
```
|
||
|
|
||
|
Squash last `x` commits to 1 commit:
|
||
|
|
||
|
```sh
|
||
|
git reset HEAD~x
|
||
|
git add -A
|
||
|
git commit
|
||
|
```
|
||
|
|
||
|
Cleanup unnecessary files:
|
||
|
|
||
|
```sh
|
||
|
git gc
|
||
|
```
|
||
|
|
||
|
Find common ancestor:
|
||
|
|
||
|
```sh
|
||
|
git merge-base A B
|
||
|
```
|