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
|
|
```
|