【问题标题】:In GIT, obtain commits using git log with path在 GIT 中,使用带有路径的 git log 获取提交
【发布时间】:2015-09-19 15:13:04
【问题描述】:

我想使用指定存储库路径的 git log 获取最后 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 path git-commit git-log


    【解决方案1】:

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

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

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

    【讨论】:

    • 从存储库目录层次结构之外运行 git 命令时 [...] 您的意思是“从 any 存储库之外”吗?错误消息表明 OP 从 some repo 中运行 git log 命令;否则她/他会得到 fatal: Not a git repository (或任何父目录): .git.
    • @Jubobs:正如我回答的第一句话所述,我的意思是从你想要操作的仓库之外。无论你是否在不同的仓库中都无关紧要——你必须告诉 git 使用哪个仓库。
    【解决方案2】:

    值得注意的是,git log-C 标志仅从 git 1.8.5 及更高版本开始出现 https://git-scm.com/docs/git/1.8.5

    对于旧版本的 git,您可以选择:

    1.手动移动到目录:

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

    2.指定--git-dir参数:

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

    【讨论】:

      猜你喜欢
      • 2023-04-04
      • 2012-04-07
      • 1970-01-01
      • 2019-03-09
      • 1970-01-01
      • 1970-01-01
      • 2021-04-29
      • 2017-04-11
      • 1970-01-01
      相关资源
      最近更新 更多