Php获取特定Git Branch的提交列表

时间:2017-05-27 15:41:30

标签: php git

我想获得特定分支的提交。以下是我的代码

exec("git log $branch", $logs);

$ branch可能是master或任何其他分支。但这给了所有提交。

1 个答案:

答案 0 :(得分:1)

  

但是这给了所有提交。

当然:它提供了从master HEAD可以访问的所有提交,即使它们是另一个分支的一部分,它们全部提交。直到第一个(通常在主分支上完成)

即使你要使用另一个分支,你仍然可以从其他分支HEAD获得所有提交,即使它们是master的一部分(假设其他分支是从一个主提交完成的)< / p>

x--x--x--X           (master)
          \
           --o--o--O (anotherBranch)

git log anotherBranch = O-o-o-X-x-x-x

那是why you need two parameters:一个将启动提交检索,一个将停止它:

git checkout mybranch
git log --all --not $(git rev-list --no-walk \
    --exclude=refs/heads/mybranch \
    --exclude=HEAD \
    --all)

将它放在您的Php命令中,您将只获得您所追求的提交。