2015-07-02 59 views
2

我想使用git log获取最后10次提交,指定我的存储库的路径。我使用的选项-path,但我有“是外库”的错误在GIT中,使用git log获取提交路径

git log --no-merges -10 -p /home/my_folder/git/repo 

fatal: /home/my_folder/git/repo: '/home/my_folder/git/repo' is outside repository 

的COMAND在文件夹/ home运行例如

回答

5

的Git假定当前的工作目录是你想要的仓库里操作。当从仓库目录层次结构之外运行一个git命令,你可以使用全局-C选项GIT中指定要使用的库:

git -C /home/my_folder/git/repo log --no-merges -10 -p 

通常它可能更容易简单地cd到存储库运行git命令之前。

+1

*从版本库目录层次结构外部运行git命令*您的意思是“从外部*任何*回购”?该错误消息表明OP在* some * repo中运行'git log'命令;否则他/他会得到*致命的:不是一个混帐存储库(或任何父目录):.git *。 – Jubobs

+1

@Jubobs:正如我在答复的第一句话中所说的,我的意思是从你想要操作的回购之外。无论你是否在不同的仓库中都不重要 - 你将不得不告诉git使用哪种仓库。 –

0

值得一提的是,-C标志git log仅表现从混帐1.8.5开始,向上https://git-scm.com/docs/git/1.8.5

对于旧版本的git的您有以下选项:

1.Manually移动到目录:

cd /home/my_folder/git/repo && git log --no-merges -10 && cd - 

2.Specify的--git-dir参数:

git --git-dir /home/my_folder/git/repo/.git log --no-merges -10