GIT GAME SHOW

将你的 Git 仓库变成一个互动的多人问答游戏,用于团队建设和娱乐!

RubyGems GitHub 开始使用

什么是 Git Game Show?

Git Game Show 将你项目的 Git 提交历史变成一个实时的多人问答游戏。一个用户主持一个会话,其他玩家远程加入,系统会轮流进行不同类型的基于问题的“迷你游戏”,奖励积分并宣布最终获胜者。

git-game-show

   ██████╗ ██╗████████╗   ██████╗ █████╗ ███╗  ███╗███████╗
   ██╔════╝ ██║╚══██╔══╝  ██╔════╝ ██╔══██╗████╗ ████║██╔════╝
   ██║ ███╗██║  ██║    ██║ ███╗███████║██╔████╔██║█████╗
   ██║  ██║██║  ██║    ██║  ██║██╔══██║██║╚██╔╝██║██╔══╝
   ╚██████╔╝██║  ██║    ╚██████╔╝██║ ██║██║ ╚═╝ ██║███████╗
   ╚═════╝ ╚═╝  ╚═╝    ╚═════╝ ╚═╝ ╚═╝╚═╝   ╚═╝╚══════╝
         █████╗ ██╗ ██╗ ██████╗ ██╗  ██╗
         ██╔═══╝ ██║ ██║██╔═══██╗██║  ██║
         ███████╗███████║██║  ██║██║ █╗ ██║
         ╚════██║██╔══██║██║  ██║██║███╗██║
         ██████╔╝██║ ██║╚██████╔╝╚███╔███╔╝
         ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚══╝╚══╝
╭──────────────────────────────────────────────────────────────────────────────╮
│          Welcome to Git Game Show! version 0.2.2          │
├──────────────────────────────────────────────────────────────────────────────┤
│ Test your team's knowledge with fun mini games based on git commit history. │
│                                       │
│ Choose to host a new game or join an existing one.              │
╰──────────────────────────────────────────────────────────────────────────────╯
 (Press ↑/↓ arrow to move and Enter to select)
‣ Host a new game
 Join a game
 Check for updates
 Exit

🎮

有趣的团队建设

通过一个有趣、互动的游戏来吸引你的开发团队,测试他们对项目历史的了解,并鼓励协作。

🔄

多种迷你游戏

享受基于 Git 历史的各种问题类型,使游戏在多个回合中保持新鲜和吸引力。

🌐

远程游戏

使用内置的网络功能与世界各地的团队成员一起玩,非常适合分布式团队。

迷你游戏

Git Game Show 包括几个基于你的仓库提交历史的迷你游戏:

commit-message-completion

╭────────────────────────────────────────╮
│      Question 1 of 5       │
╰────────────────────────────────────────╯
 Complete this commit message:
  "Merge pull request #1 from ________ ________"
  Commit: da0edeb8 (Apr 04, 2025)
  Choose your answer:
  ‣ add games
   update readme
   justinpaulson/refactor refactor
   update index
  
⏱️ Time remaining: 17 seconds [█████████████████████████   ]

date-ordering-quiz

╭────────────────────────────────────────╮
│      Question 1 of 5       │
╰────────────────────────────────────────╯
 Put these commits in chronological order (oldest to newest):
 Put in order from oldest (1) to newest (4)
 → 1. add index page (0763dab)
  2. update readme (a291aac)
  3. Bump version to 0.1.2 (88ffefb)
  4. v0.2.1 (9871930)
  Submit Answer

⏱️ Time remaining: 3 seconds [████             ]

author-quiz

╭────────────────────────────────────────╮
│      Question 1 of 5       │
╰────────────────────────────────────────╯
 Who authored this commit?
  "Sample commit message #1"
  Commit: abc1230 (Jan 1, 2025)
  Choose your answer:
  ‣ Emma
   Charlie
   David
   Alice
⏱️ Time remaining: 8 seconds [████████████         ]

branch-detective

╭────────────────────────────────────────╮
│      Question 1 of 5       │
╰────────────────────────────────────────╯
 Which branch was this commit originally made on?
  "[SAMPLE] Add user authentication flow"
  Commit: a1b2c3d (by Jane Doe on 2023-05-15 14:30:22)
  Choose your answer:
  ‣ develop
   feature/user-auth
   staging
   bugfix/login
⏱️ Time remaining: 12 seconds [██████████████████      ]

file-quiz

╭────────────────────────────────────────╮
│      Question 1 of 5       │
╰────────────────────────────────────────╯
 Which file was most likely changed in this commit?
  "refactored logic on the games with user answers"
  Commit: ca6a55e (Mar 27, 2025)
  Choose your answer:
   lib/git_game_show.rb
   mini_games/branch_detective.rb
  ‣ mini_games/blame_game.rb
   mini_games/commit_message_completion.rb
⏱️ Time remaining: 5 seconds [██████████          ]

blame-game

╭────────────────────────────────────────╮
│      Question 1 of 5       │
╰────────────────────────────────────────╯
 Who committed the highlighted line of code on 2024-03-11? (SAMPLE)
  Code Context:
  File: main.rb (SAMPLE)
  1: def initialize(options = {})
  2:  @logger = options[:logger] || Logger.new(STDOUT)
  3:  @config = load_configuration
  > 4:  @connections = []
  5:  @active = false
  6:  setup_signal_handlers
  7: end
  Choose your answer:
  ‣ Bob
   Alice
   Charlie
   Emma
⏱️ Time remaining: 15 seconds [██████████████████████    ]

作者问答 (Author Quiz)

根据提交消息和日期,猜测哪个团队成员进行了每次提交。

代码归属游戏 (Blame Game)

确定哪个开发人员在你的仓库中提交了特定的代码行。

分支侦探 (Branch Detective)

根据提交信息确定提交属于哪个分支。

提交消息补全 (Commit Message Completion)

补全来自你的仓库历史记录的提交消息中缺失的部分。

日期排序问答 (Date Ordering Quiz)

按时间顺序排列提交,以测试你对项目时间线的了解。

文件问答 (File Quiz)

将提交消息与你的仓库中正确的已修改文件进行匹配。

安装

开始使用 Git Game Show 非常容易! 以 Ruby gem 的形式安装它:

terminal

$ gem install git_game_show

这将在你的系统上全局安装 git-game-show 命令。 要运行:

terminal

$ git-game-show

如果遇到权限问题或找不到命令:

terminal

$ chmod +x $(gem which git_game_show | sed 's/lib\/git_game_show.rb/bin\/git-game-show/')
# 对于 rbenv 用户
$ rbenv rehash
# 对于 asdf 用户
$ asdf reshim ruby

准备好开始游戏了吗?

将你的 Git 仓库变成一个有趣、互动的游戏,并将你的团队聚集在一起!

立即开始

Git Game Show v0.2.2 | MIT License

Justin Paulson 创建 | 灵感来自 git-game