Skip to content
Snippets Groups Projects
Select Git revision
  • simon/auto_commit
  • master default protected
  • simon/matlab
  • simon/dev
  • feat/zenodo
  • simon/git
  • simon/release
  • simon/gitlabci
  • simon/fix_tests
  • simon/concurrent
  • simon/descriptor
  • ran_dev
  • feature/qcodes_plotter
  • hannah_dev_default
  • simon/stylesheets
  • hannah/dev
  • simon/vna
  • feature/vna
  • selene/master
  • paul_dev
  • v2025.05.1 protected
  • v2025.03.1 protected
  • v2025.2.1 protected
  • v2024.11.1 protected
  • initial_zenodo_release
  • v2024.7.1 protected
  • v2024.2.20 protected
  • v2023.7.1 protected
28 results

README.md

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    To learn more about this project, read the wiki.
    git_push.sh 1.79 KiB
    #!/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 [ "$git_host" = "" ]; then
        git_host="github.com"
        echo "[INFO] No command line input provided. Set \$git_host to $git_host"
    fi
    
    if [ "$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 [ "$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 [ "$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
    git_remote=$(git remote)
    if [ "$git_remote" = "" ]; then # git remote not defined
    
        if [ "$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'