在另一个文件夹中使用git“log”命令
我有一个文件夹A(这是一个混帐项目)的一些PHP文件。 在这些PHP文件我想要执行“git日志”,但文件夹B.文件夹B是另一个git项目(所以日志是不同的A和B之间)。
我如何用shell命令做到这一点?
 从, man git : 
您可以在传递任何命令之前使用–git-dir参数来执行此操作。
 git --git-dir /foo/bar/.git log 
 随着git 1.8.5(2013年第四季度) ,你将有另一种select,而不是设置 – --git-dir 。 
 如果你想执行git log文件夹B ,input: 
 git -CB log 
就像“
make -C <directory>”, “git -C <directory> ...”告诉Git在做其他事情之前先去那里 。
见Nazri Ramliy的 提交 44e1e4 :
在不离开当前目录的情况下,需要更多按键来调用不同目录中的git命令:
(cd ~/foo && git status)
git --git-dir=~/foo/.git --work-tree=~/foo status
GIT_DIR=~/foo/.git GIT_WORK_TREE=~/foo git status
(cd ../..; git grep foo)
for d in d1 d2 d3; do (cd $d && git svn rebase); done上面显示的方法对于脚本来说是可以接受的,但是对于快速的命令行调用来说太麻烦了。
有了这个新的选项,上面的操作可以用更less的击键来完成:
git -C ~/foo status
git -C ../.. grep foo
for d in d1 d2 d3; do git -C $d svn rebase; done