返回

如何在开发服务器网站页面顶部显示当前 Git 分支名称?

php

在开发网站页面顶部显示当前 Git 分支名称

问题

在本地开发网站时,如果你使用 MAMP(PHP)进行开发,并且网站受 Git 版本控制,你可能想知道如何将开发服务器指向磁盘上受版本控制的网站根目录。

解决方案

PHP 解决方案

  1. 使用 PHP 获取当前分支名称
<?php
$branch = trim(shell_exec('git rev-parse --abbrev-ref HEAD'));
echo $branch;
?>
  1. 在 index.php 中显示分支名称
<!DOCTYPE html>
<html>
<head>
  
</head>
<body>
  <h1>Current Branch: <?php echo $branch; ?></h1>
</body>
</html>

Ruby on Rails 解决方案

  1. 添加 Rack::GitBranch 中间件
# config/application.rb
config.middleware.insert_before 0, Rack::GitBranch
  1. 安装 Rack::GitBranch gem
# Gemfile
gem 'rack-git-branch'
  1. 在 ApplicationController 中设置 @git_branch 实例变量
# app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
  before_action :set_git_branch

  private

  def set_git_branch
    @git_branch = Rack::GitBranch.current
  end
end
  1. 在布局中显示 @git_branch
# views/layouts/application.html.erb
<%= @git_branch %>

常见问题解答

1. 为什么我无法在页面上看到分支名称?

  • 确保已安装 Git。
  • 确保将开发服务器指向正确的网站根目录。
  • 确保使用的 PHP 或 Ruby on Rails 脚本是正确的。

2. 如何自定义分支名称的显示?

  • 在 PHP 解决方案中,你可以修改 index.php 文件以更改 HTML 输出。
  • 在 Ruby on Rails 解决方案中,你可以自定义 Rack::GitBranch 中间件。

3. 有没有其他显示分支名称的方法?

  • 你可以使用第三方库(例如 PHP-Git 或 git-ruby)。
  • 你可以使用浏览器扩展(例如 Gitfox)。

4. 如何在多个分支之间切换?

  • 使用 git checkout 命令在分支之间切换。
  • 在开发服务器中配置虚拟主机以指向不同的分支。

5. 在显示分支名称时需要注意什么?

  • 分支名称可能很长,请考虑截断或使用缩写。
  • 确保分支名称与实际的分支状态相对应。
  • 分支名称应易于理解和识别。