26 Jun 2012, 13:17
PRO-TIP: Recursively updating all git repositories in a directoryI have a directory, let’s call it ./src
(because it is). This directory has several other directories of which some subset are git repositories. Updating them all by hand is tedious at best and I am lazy. Here’s a one-liner that will do all of the work for you.
W=`pwd`;for i in $(find . -name .git);do D=$i;D=${D%/*};cd $W/$D;pwd;git pull;done
This has the potential to be a bit taxing as well though if you need to enter credentials for every pull. We can solve that one as well.
git config --global credential.helper 'cache --timeout=[S]'
The --timeout
option has a parameter, S
, which is the timeout in seconds. This can be omitted and a default timeout of 15 minutes will be used.
Being lazy + saving time + making things easy = Happy Panda!