2016-09-29 63 views
0

問題

我正在開發一個項目,其中QA報告已修復的錯誤。 很多時候,QA沒有我們最新的代碼。獲取項目當前提交併顯示它


解決方案

現在,我想抓住目前的承諾,並在console或QA和開發我們之間的引用其他網頁上顯示。


試圖

在CLI,以獲得最新的承諾,我只是做這個

git rev-parse --verify HEAD 

我試圖創建一個PHP函數,並調用它。

public function info(){ 
    return str_replace('\n','', json_encode(shell_exec('git rev-parse --verify HEAD'))); 
} 

結果

它工作正常,我的Mac上,但在我的QA成立,他們得到了null


問題

我做了什麼錯?

是否有另一種方法可以做到這一點?

我願意接受任何建議。 :)

回答

1

git預計將從Git工作目錄樹中調用,大概是當您從命令行執行它。 PHP腳本最初將PWD父工作目錄環境變量設置爲腳本所在的目錄,這對命令執行(exec,shell_exec,system,passthru)是相同的。您可以使用chdir更改PHP目錄或將命令更改爲

cd /path/to/git/repo && git rev-parse --verify HEAD