diff options
Diffstat (limited to 'push-remotes')
-rwxr-xr-x | push-remotes | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/push-remotes b/push-remotes new file mode 100755 index 0000000..6720312 --- /dev/null +++ b/push-remotes @@ -0,0 +1,22 @@ +#!/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 |