You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何一键查看多台服务器上当前活跃的Git分支?

一键查看多台服务器Git活跃分支的实用方案

方法一:SSH批量执行命令(无额外工具依赖)

如果已配置服务器SSH免密登录,直接用单行循环命令就能搞定:

for server in user@server1 user@server2 user@server3; do
  echo "=== $server ==="
  ssh $server "cd /绝对路径/到你的Git仓库 && git branch --show-current"
done
  • 替换user@serverX为你的服务器账号与地址
  • 替换/绝对路径/到你的Git仓库为目标仓库的真实路径
  • git branch --show-current会直接输出当前活跃分支,比git branch更简洁;若服务器Git版本低于2.22,换成git rev-parse --abbrev-ref HEAD即可

方法二:编写可复用Shell脚本

创建check_git_branches.sh脚本,方便后续重复执行:

#!/bin/bash
# 定义服务器与对应仓库路径,每行一个
servers=(
  "user@server1:/path/to/repo1"
  "user@server2:/path/to/repo2"
  "user@server3:/path/to/repo3"
)

for entry in "${servers[@]}"; do
  server=$(echo $entry | cut -d: -f1)
  repo_path=$(echo $entry | cut -d: -f2)
  echo "--- $server ($repo_path) ---"
  ssh $server "cd $repo_path && git branch --show-current || echo '仓库路径错误或无权限'"
done

添加执行权限并运行:

chmod +x check_git_branches.sh
./check_git_branches.sh

方法三:用Ansible批量管理(适合大量服务器)

若服务器数量较多,Ansible的批量执行效率更高:

  1. 编写inventory.ini服务器清单:
[git_servers]
server1 ansible_host=xxx.xxx.xxx.xxx ansible_user=your_user
server2 ansible_host=yyy.yyy.yyy.yyy ansible_user=your_user
  1. 编写check_branches.yml Playbook:
- name: Check active Git branches
  hosts: git_servers
  tasks:
    - name: Get current branch
      command: git branch --show-current
      args:
        chdir: /path/to/your/git/repo
      register: git_branch

    - name: Print result
      debug:
        msg: "{{ inventory_hostname }}: {{ git_branch.stdout }}"
  1. 执行命令查看结果:
ansible-playbook -i inventory.ini check_branches.yml

注意事项

  • 确保所有服务器已配置SSH免密登录,避免重复输入密码
  • 若不同服务器的Git仓库路径不一致,需在脚本/Playbook中对应调整

内容的提问来源于stack exchange,提问作者Bhavin Vegad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 16:10:36