Mirroring Git repo between providers
Mon, 14 January 2019
git_mirror.sh
#!/usr/bin/env sh # # Usage: # /path/to/git_mirror.sh <source git url> <target git url> # DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) cd ${DIR} GIT_PATH="/usr/bin/env git" IFS='/' read -ra PATH <<< "${1}" for i in "${PATH[@]}"; do if [[ "${i}" != *"@"* ]]; then DIRECTORY="${i}" `${GIT_PATH} clone --mirror "${1}" "${DIRECTORY}"` `cd "${DIR}/${DIRECTORY}" && ${GIT_PATH} remote set-url origin "${2}" && ${GIT_PATH} push --force` fi done