Subject: Best way to specify all local branches and all remote branches.

From: Paul Gardiner <[email-masked]>
Date: Mon, 11 Feb 2008 18:51:13 +0000

New to git, and often finding it hard to specify the correct
refs for a command. Here's an example where I was converting
all the files in all the commits from unix line endings to
DOS line endings. You can see I've ended up using cd and ls.
I'm sure there must be a better way.

$ cd /home/public/tmp/git/
$ yes |rm -r vdos32
$ git clone /export/git/vdos32.git vdos32
$ cd vdos32/
$ for f in `(cd /export/git/vdos32.git/refs/heads; ls)|sed -e
    '/master/d' -e '/origin/d'`; do git fetch origin $f:$f; done
$ git-filter-branch --tag-name-filter cat --tree-filter 'find . -type f
    ! -name \*.gif ! -name \*.ico|xargs unix2dos -q' `(cd
    .git/refs/heads;ls)`

With git-filter-branch, I'm surprised I can't use --all.
The docs suggest that A --not B is permitted. I've
also seen refs/heads/* used in the docs but never
managed to get it to work. Most greatful for any
advice.

P.