perform git commands recursively