51 lines
726 B
Markdown
51 lines
726 B
Markdown
# Git
|
|
|
|
| Distribution | Package |
|
|
| ------------ | ------- |
|
|
| Archlinux | `git` |
|
|
| Ubuntu | `git` |
|
|
|
|
Add to `~/.bashrc`:
|
|
|
|
```bash
|
|
[[ -f /usr/share/git/completion/git-prompt.sh ]] && \
|
|
source /usr/share/git/completion/git-prompt.sh
|
|
PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ '
|
|
```
|
|
|
|
Save usernames and passwords in `~/.git-credentials`:
|
|
|
|
```sh
|
|
git config --global credential.helper store
|
|
```
|
|
|
|
Use neovim when commit:
|
|
|
|
```sh
|
|
git config --global core.editor nvim
|
|
```
|
|
|
|
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
|
|
```
|