Git Configurations

Comprehensive Git setup with 100+ aliases, signing configuration, and global ignore patterns.

Installation

# Install Git configurations make install-git # Or manually ./install.sh git

What's Included

Basic Git Aliases

# Status and information alias gs='git status' alias gss='git status --short' alias gl='git log --oneline' alias gla='git log --oneline --all --graph' alias gd='git diff' alias gdc='git diff --cached' # Add and commit alias ga='git add' alias gaa='git add --all' alias gc='git commit' alias gcm='git commit -m' alias gca='git commit --amend' alias gcan='git commit --amend --no-edit' # Push and pull alias gp='git push' alias gpf='git push --force-with-lease' alias gpl='git pull' alias gpr='git pull --rebase'

Branch Management Aliases

# Branch operations alias gb='git branch' alias gba='git branch --all' alias gco='git checkout' alias gcb='git checkout -b' alias gbd='git branch --delete' alias gbD='git branch --delete --force' # Merge and rebase alias gm='git merge' alias gma='git merge --abort' alias gr='git rebase' alias gra='git rebase --abort' alias grc='git rebase --continue' alias gri='git rebase --interactive'

Advanced Git Aliases

# Stash operations alias gst='git stash' alias gstp='git stash pop' alias gstl='git stash list' alias gstd='git stash drop' # Remote operations alias gr='git remote' alias gra='git remote add' alias grr='git remote remove' alias gf='git fetch' alias gfa='git fetch --all' # Cleanup operations alias gcl='git clean' alias gclf='git clean --force' alias gclfd='git clean --force -d'

Global .gitignore

Common ignore patterns for various file types and environments:

# OS generated files .DS_Store .DS_Store? ._* .Spotlight-V100 .Trashes ehthumbs.db Thumbs.db # IDE files .vscode/ .idea/ *.swp *.swo # Logs *.log logs/ # Dependencies node_modules/ vendor/ # Environment files .env .env.local .env.*.local

Commit Signing Setup

# Generate GPG key gpg --full-generate-key # Configure Git signing git config --global user.signingkey YOUR_GPG_KEY_ID git config --global commit.gpgsign true git config --global tag.gpgsign true
View .gitconfig View .gitignore_global