bash Development Tools for development productivity
Develop a suite of scripts for development productivity and ease the initial development setup to a one run config.
Run command line ./install.sh.
Will create a symbolic link in your home and append a command to your bash profile. (Does not support zsh, yet)
- Git commands
git cleanup- Clean up unreachable branches in origin remotegit rebase-latest [branch]- Rebase current branch with latestmaster(default) or any branch passed as an argumentgit merge-latest [branch]- Merge current branch with latestmaster(default) or any branch passed as an argumentgit upush- Push branch to upstream with the same name in local repogit xlog- Extended git log, shows: all branches, decorated, commit per one line, with ascii graph.
- Local Postgres setup
Rebase your current branch onto the latest version of a target branch. The target branch is updated with the latest changes before rebasing.
# Rebase onto latest master (default)
git rebase-latest
# Rebase onto latest develop
git rebase-latest develop
# Rebase onto latest main
git rebase-latest mainMerge the latest version of a target branch into your current branch. The target branch is updated with the latest changes before merging.
# Merge latest master into current branch (default)
git merge-latest
# Merge latest develop into current branch
git merge-latest develop
# Merge latest main into current branch
git merge-latest mainBoth rebase-latest and merge-latest include safety checks:
- If you're already on the target branch, the command will exit gracefully with a helpful message
- The target branch is always updated with the latest changes before the operation
- Docker-based Postgres setup - Replace local postgres setup with docker containers for easier management and isolation
- Zsh support - Add support for zsh shell in addition to bash
- Additional Git aliases - Add more productivity git aliases like:
git squash- Interactive rebase to squash commitsgit amend- Amend the last commit with staged changesgit undo- Undo the last commit while keeping changes stagedgit stash-apply- Apply and remove the latest stash
- Kubernetes tools - Expand kubectl includes with more productivity commands
- Development environment setup - Add scripts for setting up common development tools (Node.js, Python, Go, etc.)
- IDE/Editor configuration - Add scripts to configure common editors (VS Code, Vim, etc.)
- Project templates - Create templates for common project types
- Performance monitoring - Add tools for monitoring system performance during development
- Backup and sync tools - Add utilities for backing up and syncing development configurations