alias gitupdate=' git pull origin master ' alias gitreset=' git checkout master git pull origin master git reset origin/master --hard ' # Usage : gitcommit $commit_message $optional_file_path # gitcommit $commit_message - Git will commit ALL changed files and push them to Github. A commit message is required. # gitcommit $commit_message $optional_file_path - Git will only commit changes to the specified file and push them to Github. #git commit --allow-empty -am "" # git push origin HEAD function gitcommit() { while getopts ":m:f:" opt; do case $opt in m) local COMMIT_MESSAGE=$OPTARG >&2 ;; f) local COMMIT_FILE=$OPTARG >&2 ;; \?) echo "Invalid option: -$OPTARG" >&2 ;; :) echo "Option -$OPTARG requires an argument." >&2 ;; esac done if [ -z "$COMMIT_MESSAGE" ] then if [ -z "$COMMIT_FILE" ] then git add . git commit git push origin HEAD else git add $COMMIT_FILE git commit git push origin HEAD fi else if [ -z "$COMMIT_FILE" ] then git add . git commit -m $COMMIT_MESSAGE git push origin HEAD else git add $COMMIT_FILE git commit -m $COMMIT_MESSAGE git push origin HEAD fi fi }