-
Notifications
You must be signed in to change notification settings - Fork 20
Optimiser son terminal sous Mac
Installer Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Définir des variables globales & aliases dans un fichier ~/.bash_aliases
Une bonne pratique consiste à créer un fichier ~/.bash_aliases
pour y déclarer les variables globales (ex : code couleurs) ou alias utiles (ex : alias Git ou NPM) :
# Exemple de variables globales pour les codes couleur
RED=`tput setaf 1`
GREEN=`tput setaf 2`
NORMAL=`tput sgr0`
# Exemple d'aliases de commandes Git
alias gc="git commit -v"
alias gf="git pull --rebase"
alias gp="git push"
Importer le script dans le fichier ~/.bash_profile
:
# Aliases
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Installer Bash Completion
brew install bash-completion
Dans le fichier ~/.bash_profile
, ajouter le code suivant :
# Bash completion script
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
Si l'erreur
__git_ps1: command not found
apparaît, cela signifie que vous devez réinstaller Git via Homebrew, puis réinstaller bash-completion.$ brew uninstall bash-completion $ brew install git $ brew link --overwrite git $ brew install bash-completion
Redéfinir le Prompt Bash
Dans le fichier ~/.bash_profile
, ajouter le code suivant :
# Git prompt
source /usr/local/git/contrib/completion/git-completion.bash
GIT_PS1_SHOWDIRTYSTATE=true
export PS1='${YELLOW}\w${NORMAL}${CYAN}$(__git_ps1)${NORMAL}\$ '
Attention! Veuillez à ne surtout pas avoir de répertoire .git à la racine de votre compte sous peine de voir les performances de votre Terminal considérablement dégradées.
Définir les options de configuration globale de Git
Une bonne pratique est de configurer les options globales de Git, telles que votre username ou votre email :
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
Activer les couleurs pour les commandes Git
Créer ou modifier le fichier ~/.gitignore
:
[color]
branch = auto
diff = auto
status = auto
[color "branch"]
current = yellow reverse
local = yellow
remote = green
[color "diff"]
meta = yellow bold
frag = magenta bold
old = red bold
new = green bold
[color "status"]
added = yellow
changed = green
untracked = cyan
Définir les exclusions Git globales
Afin d'éviter de pousser par erreur certains fichiers, une bonne pratique consiste à définir un fichier ~/.gitexcludes
et à le déclarer dans Git :
# Apple
.DS_Store
# IntelliJ IDEA
*.iml
*.idea
# Misc
*.log
**/tmp
*.tmp
*.temp
Il faut ensuite avertir Git de prendre en compte ce fichier :
git config --global core.excludesfile ~/.gitexcludes
~/.bash_profile
# Aliases
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
# Bash completion script
if [ -f $(brew --prefix)/etc/bash_completion ]; then
source $(brew --prefix)/etc/bash_completion
fi
# Git prompt
source /usr/local/git/contrib/completion/git-completion.bash
GIT_PS1_SHOWDIRTYSTATE=true
export PS1='${YELLOW}\w${NORMAL}${CYAN}$(__git_ps1)${NORMAL}\$ '
~/.bash_aliases
# Colors
# ------
RED=`tput setaf 1`
GREEN=`tput setaf 2`
YELLOW=`tput setaf 3`
BLUE=`tput setaf 4`
CYAN=`tput setaf 6`
NORMAL=`tput sgr0`
# Git
# ---
alias ga="git add ."
alias gb="git branch"
alias gc="git commit -v"
alias gd="git diff"
alias ge="git clean"
alias gf="git pull --rebase"
alias gg="git stash pop"
alias gh="git help"
alias gi="git init"
alias gj="git checkout dev"
alias gk="git clone"
alias gl="git log --graph --decorate --pretty=oneline --abbrev-commit"
alias gm="git merge"
alias gn="git rebase --continue"
alias go="git checkout"
alias gp="git push"
alias gq="git rebase -i"
alias gr="git revert"
alias gs="git status"
alias gt="git stash"
alias gu="git branch -D"
alias gv="git --version"
alias gx="git reset HEAD --hard"
alias gy="git commit --amend"
alias gz="git checkout master"
# Docker
# ------
alias dp="docker ps"
alias da="docker ps -a"
alias dr="docker run"
alias ds="docker stop"
alias dk="docker rm"
alias dd="docker rmi"
alias di="docker images"
alias dl="docker logs"
alias df="docker pull"
# NPM
# ---
alias ni="npm install"
alias na="npm install --save"
alias nd="npm install --save-dev"
alias ng="npm install -g"
alias nh="npm help"
alias np="npm publish"
alias nt="npm test"
alias ns="npm start"
alias nr="npm run"
alias nu="npm uninstall"
~/.gitexcludes
# Apple
.DS_Store
# IntelliJ IDEA
*.iml
*.idea
# Misc
*.log
**/tmp
*.tmp
*.temp