Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/indirect/dotfiles. strap.mikemcquaid.com
dotfiles
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354#!/bin/bash#-- Script to automatically convert all git remotes to SSH from HTTPS# Script will change all the git remotes.# If you didn't intend to do that, run the other script in this repo.# Original 1: https://gist.github.com/m14t/3056747# Original 2: https://gist.github.com/chuckbjones/9dc6634fe52e56ba45ac# Thanks to @m14t, @michaelsilver and @chuckbjones.
http_to_ssh(){ echo "" echo "Checking for $1..."
REPO_URL=`git remote -v | grep -m1 "^$1" | sed -Ene's#.*(https://[^[:space:]]*).*#\1#p'` if [ -z "$REPO_URL" ]; then if [ "$1" == "upstream" ]; then echo "-- No upstream found" exit else echo "-- ERROR: Could not identify Repo url." echo " It is possible this repo is already using SSH instead of HTTPS." exit fi fi
USER=`echo $REPO_URL | sed -Ene's#https://github.com/([^/]*)/(.*)#\1#p'` if [ -z "$USER" ]; then echo "-- ERROR: Could not identify User." exit fi
REPO=`echo $REPO_URL | sed -Ene's#https://github.com/([^/]*)/(.*)#\2#p'` if [ -z "$REPO" ]; then echo "-- ERROR: Could not identify Repo." exit fi
NEW_URL="git@github.com:$USER/${REPO%.git}.git" echo "Changing repo url from " echo " '$REPO_URL'" echo " to " echo " '$NEW_URL'" echo ""
CHANGE_CMD="git remote set-url $1 $NEW_URL" echo "$CHANGE_CMD" `$CHANGE_CMD`}
for i in `git remote`; do http_to_ssh "$i"done;
echo "Moved everything to SSH!"