#!/bin/sh ## push-remotes -- Push the given git directory to all of its remotes ## Commentary: # This command expects the first argument to be a directory usable by # the `--git-dir' command-line option to git. Afterwards it loops # through all known remotes of that directory and pushes to it. ## Code: function _git() { git --git-dir="$gitdir" "$@"; } gitdir="$1" remotes=$(_git remote) if [[ -n "$remotes" ]]; then for remote in $remotes; do echo "Pushing master to ${remote}" _git push "$remote" done fi