#!/bin/sh # ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ # # Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com" git_user_id=$1 git_repo_id=$2 release_note=$3 git_host=$4 if [ -z "${git_host}" ]; then git_host="github.com" echo "[INFO] No command line input provided. Set \${git_host} to ${git_host}" fi if [ -z "${git_user_id}" ]; then git_user_id="GIT_USER_ID" echo "[INFO] No command line input provided. Set \${git_user_id} to ${git_user_id}" fi if [ -z "${git_repo_id}" ]; then git_repo_id="GIT_REPO_ID" echo "[INFO] No command line input provided. Set \${git_repo_id} to ${git_repo_id}" fi if [ -z "${release_note}" ]; then release_note="Minor update" echo "[INFO] No command line input provided. Set \${release_note} to ${release_note}" fi # Initialize the local directory as a Git repository git init # Adds the files in the local repository and stages them for commit. git add . # Commits the tracked changes and prepares them to be pushed to a remote repository. git commit -m "${release_note}" # Sets the new remote if [ -z "$(git remote)" ]; then # git remote not defined if [ -z "${GIT_TOKEN:-}" ]; then echo "[INFO] \${GIT_TOKEN} (environment variable) is not set. Using the git credential in your environment." git remote add origin "https://${git_host}/${git_user_id}/${git_repo_id}.git" else git remote add origin "https://${git_user_id}:${GIT_TOKEN}@${git_host}/${git_user_id}/${git_repo_id}.git" fi fi git pull origin master # Pushes (Forces) the changes in the local repository up to the remote repository echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git" git push origin master 2>&1 | grep -v 'To https'