Show HN: Git Game Show - 在你的代码仓库中进行多人游戏
Git Game Show 将你的 Git 仓库转化为多人问答游戏,用于团队建设和娱乐。玩家通过远程加入游戏,主持人控制游戏流程。游戏基于 Git 提交历史,提供多种迷你游戏,如提交消息补全、日期排序、作者问答等,测试团队对项目历史的了解。游戏支持远程参与,方便分布式团队。安装方式为 Ruby gem,通过命令行启动。
GIT GAME SHOW
将你的 Git 仓库变成一个互动的多人问答游戏,用于团队建设和娱乐!
什么是 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