在 git 中,使用带有路径的 git 日志获取提交

In git, obtain commits using git log with path

我想使用指定存储库路径的 git 日志获取最后 10 次提交。我使用了选项 -path 但我有“在存储库之外”错误

 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

命令是运行 例如在文件夹/home

Git 假定当前工作目录在您要操作的存储库中。当 运行 来自存储库目录层次结构外部的 git 命令时,您可以使用全局 -C 选项 git 来指定要使用的存储库:

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

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

值得注意的是 git log-C 标志只出现在 git 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