There are projects where having a working git repository separated from the customer repository is a requirement. For this cases, I am using the following script to parse a YAML file repos.yml and keep the repositories in sync. #!/usr/bin/env bash function json { local file=$1 local json=$(cat $file | python -c 'import sys, yaml, json; json.dump(yaml.load(sys.stdin), sys.stdout, indent=4)') echo ${json} } JSON=$(json "repos.yml") repos=$(echo ${JSON} | jq -r 'keys[]') for repo in $repos; do if [[ !