Tengo algunos archivos php en una carpeta A (que es un proyecto git). En estos archivos php quiero ejecutar "git log" pero para la carpeta B. La carpeta B es otro proyecto de git (por lo que log es diferente entre A y B).
¿Cómo puedo hacer eso con el comando de shell?

cd /other/dir && git log && cd -en bash shell?--git-dir: vea mi respuesta a continuaciónRespuestas:
De
man git:Puede hacer esto con el
--git-dirparámetro, antes de pasar cualquier comando.(
.gitEs necesario especificar el directorio). De la documentación :fuente
.gitdirectorio. Tratargit --git-dir=/foo/bar/.git log.log. Pruebagit --git-dir /foo/someclone/.git status: git se confunde por completo. Recomiendo-Ccomo se indica a continuación.man githace en mi sistema (2.3.5). Pero la respuesta de @VonC funciona mucho mejor.Con git 1.8.5 (Q4 2013) , tendrá otra opción, en lugar de configurar
--git-dir.Si desea ejecutar
git logen la carpetaB, escriba:Ver commit 44e1e4 de Nazri Ramliy :
fuente
log.-Ropción de Mercurial , ya que desordena los caminos relativos. Por ejemplo, si escribogit -C subdir log subdir/myfileda un error (ya que busca el archivosubdir/subdir/myfile).for p in (find . -type d -name ".git"); do git --git-dir $p ...; donegitpensar que fuera más inteligente que yo y lo que escribí. Si digo 'ejecutar esto en el directorio X', no me refiero a 'excepto a veces, hacer otra cosa'.