PHP 取得 Git 的 branch name

想要取得專案中目前在 Master 或 Branch,可以判斷要去抓不同的 config,可以使用此 function。

<?php
function get_git_branch_name()
{
    $git_head = './.git/HEAD';
    return (file_exists($git_head)) ? implode('/', array_slice(explode('/', file_get_contents($git_head)), 2)) : '';
}
?>

註:$git_head 的路徑請自行修改設定。

使用方式:

<?php print_r(get_git_branch_name()); // master ?>

感謝 Fwolf 的建議,用 system 的指令執行:git branch | grep '*' | awk '{print $2}' ,可以解決 submodule 抓不到 branch 的問題

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

在〈PHP 取得 Git 的 branch name〉中有 2 則留言

  1. 如果是在 submodule 中,这个方法就不好使啦,所以还是用原生 git 命令比较好,比如:

    git branch | grep '*' | awk '{print $2}'

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料