GitHubやBitbucketを使ってるとレポジトリが増えすぎてローカルの変更でpushできていないものはどれか等を調べるのが大変なのでシェルスクリプトにしました。
(OSの再インストールしようとした時にpushし忘れがあったら悲しい)
数分で作った適当なやつなのでメモ程度。。。
zshコード
以下のコードは現在のディレクトリ以下のgitレポジトリに対して同じ操作をします。
# !/usr/bin/zsh
# reference
# - zsh の配列操作の基本から応用まで - Qiita
# - https://qiita.com/mollifier/items/f897b3fddd2d10369333
local CWD=$(pwd)
# ローカル配列宣言
local -a GIT_REPOS
for repos in $(find ${CWD} -name ".git"); do
## remove ".git"
repos=${repos[1,-5]}
print ${repos};
cd ${repos}
# push (ref: https://qiita.com/mollifier/items/f897b3fddd2d10369333 )
GIT_REPOS=(${GIT_REPOS} ${repos})
#----------------------------------------
# git command
#----------------------------------------
git fetch
done
# 確認用
# print "GIT_REPOS"
# print ${GIT_REPOS}
#
# print "CWD"
# print ${CWD}