#!/bin/bash pulls="repo1 repo2 repo3" fetchs="repo4 repo5" branch="yourBranch" remote="yourRemoteGitName" for i in $pulls do echo ">>>>>>>>$i" cd $i git remote -v git checkout $branch git pull make cd .. done for i in $fetchs do echo ">>>>>>>>$i" cd $i git remote -v git checkout $branch git fetch $remote git merge $remote/$branch make git push cd .. done