diff --git a/.bash_aliases b/.bash_aliases index a1d0903..f2d6f7b 100644 --- a/.bash_aliases +++ b/.bash_aliases @@ -45,6 +45,45 @@ cdll () { cp -P -- "$1" && ll } +# Short-hands for various git functions +gitf () { + case "$1" in + # Stage all changes and fall through to WIP commit + "aw") + git add . + gitf w + ;; + + # Clear local branches that have no upstream on remote (cleanup) + "c") + git fetch -p && git branch -vv | awk '/: gone]/{print $1}' | xargs git branch -D + ;; + + # Pull current branch from a remote (defaults to "origin"). "d" for download. + "d") + local remote="${2:-origin}" + + git pull "$remote" $(git rev-parse --abbrev-ref HEAD) + ;; + + # Push commited changes (current branch) to a remote (defaults to "origin"). "u" for upload. + "u") + local remote="${2:-origin}" + + git push --set-upstream "$remote" $(git rev-parse --abbrev-ref HEAD) + ;; + + # Create a git "Work in Progress" commit with timestamps + "w") + git commit -m "wip: $(date +%Y-%m-%dT%H:%M:%S%z) ($(date +%s))" + ;; + + *) + git status + ;; + esac +} + # SSH to machine in debug mode at local.vlw.se sshl () { # Set login name from first argument or default to current user @@ -53,17 +92,6 @@ sshl () { ssh -p 2222 "$user"@local.vlw.se } -# Create standard git WIP commit with timestamps -alias gitw="git commit -m \"wip: $(date +%Y-%m-%dT%H:%M:%S%z) ($(date +%s))\"" -# Create a git WIP tag with the current timestamp. Prompt user for tag comment. -alias gitt="git tag -a 'wip-$(date +%s)'" -# Remove dropped upstream git branches from remote -alias gitc="git fetch -p && git branch -vv | awk '/: gone]/{print $1}' | xargs git branch -D" -# Shorthand git pull origin -alias gitp="git pull origin" -# Shorthand git status" -alias gits="git status" - # Generate random 16byte HEX alias rng16="head -c 16 /dev/random | xxd -p" @@ -71,4 +99,4 @@ alias rng16="head -c 16 /dev/random | xxd -p" alias killvscode="ps uxa | grep .vscode-server | awk '{print $2}' | xargs kill -9" # Change PHP CLI binary -alias chphp="sudo update-alternatives --config php" +alias chphp="sudo update-alternatives --config php" \ No newline at end of file