我正在使用Laravel进行网站开发。什么是好的是在主页面上有一个按钮,显示项目的当前版本。单击按钮时,可以看到系统发生的所有更改(以git提交的形式)。有没有办法做到这一点?如果是这样,怎么样?
TIA
答案 0 :(得分:0)
点击按钮启动ajax调用
$("#button").on("click", function () {
url: window.location.origin + '/fetch-git-commits',
type: "get",
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function (data) {
// data contains the git commit informations
$(".container").html(data);
}
});
在Route.php文件中添加条目
Route::get('fetch-git-commits', 'YourController@getGitCommits');
在控制器中
public function getGitCommits ()
{
exec('git log', $output);
$history = array();
foreach($output as $line) {
if(strpos($line, 'commit') === 0) {
if(!empty($commit)) {
array_push($history, $commit);
unset($commit);
}
$commit['hash'] = substr($line, strlen('commit'));
}
else if(strpos($line, 'Author') === 0) {
$commit['author'] = substr($line, strlen('Author:'));
}
else if(strpos($line, 'Date') === 0) {
$commit['date'] = substr($line, strlen('Date:'));
}
else {
if(isset($commit['message']))
$commit['message'] .= $line;
else
$commit['message'] = $line;
}
}
return $history; // Array of commits, parse it to json if you need
}
参考文献:
答案 1 :(得分:0)