Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

Add repository-wide commit search across branches

未關閉
#3,197 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

還沒有人認領這個 Issue。

評估

難度
5/5
預估耗時
一週以上
新手友好度
35/100
Issue 類型
功能
描述清晰度
基本清楚
活躍度
活躍
技術堆疊
github, go
領域
api, devtools

研究方向

先閱讀現有的 search_commits 和 list_commits 工具實作及其 GitHub API 呼叫。檢查 API 是否支援使用作者和日期篩選條件在整個儲存庫中尋找提交,然後找出適當的工具設計與測試。完成的標準是:能夠跨非預設分支傳回相符的提交,並提供分頁以及有用的 SHA 或 ref 中繼資料。

由索引模型根據 Issue 內容生成。

描述

enhancement request ai review
Describe the feature or problem you’d like to solve

The current search_commits tool searches commit messages on the repository's default branch only. This makes it difficult to reliably discover work performed by a developer on feature, bugfix, or other non-default branches that have not yet been merged.

For example, a developer may make several commits on feature/worklog-ai during the day while the repository's default branch is development. Those commits will not be returned by search_commits until they are merged into the default branch.

Using list_commits does allow specifying a branch through the sha parameter, but discovering a user's activity across an entire repository would then require listing branches and querying commits for each branch individually. This becomes inefficient for repositories with a large number of branches and also creates significant duplication because branches frequently share commit history.

A repository-wide way to find commits by author and date, independent of the branch on which they currently exist, would make the MCP server much more useful for developer activity, worklog, analytics, and code-agent workflows.

Proposed solution

Add a tool or extend an existing tool to support repository-wide commit discovery across branches.

For example:

search_repository_commits

Parameters could include:

  • owner — Repository owner
  • repo — Repository name
  • author — GitHub username or email
  • since — Start of the time range in ISO 8601 format
  • until — End of the time range in ISO 8601 format
  • page — Pagination page
  • perPage — Results per page

The tool should return commits belonging to the specified repository and matching the author/date filters regardless of whether the commits are currently reachable from the default branch.

Ideally, results should include the commit SHA and enough metadata to identify the relevant branch/ref when possible.

The implementation should avoid requiring clients to enumerate every repository branch and call list_commits separately for each branch.

An alternative would be to extend search_commits with an explicit repository-wide/non-default-branch mode if that fits the existing tool design better.

Example prompts or workflows (for tools/toolsets only)
  1. "Show me everything I committed to owner/repository today, including commits on feature branches that haven't been merged yet."

  2. "Find all commits by username in owner/repository between August 31 and September 1, regardless of which branch they were made on."

  3. "Generate a daily worklog for username based on all commits made in this repository today, including unmerged feature branches."

  4. "Find all work performed by username in this repository during the last 7 days, including commits that are not present on the default branch."

  5. "List the commits made by username in this repository today and group them by branch or related work."

Additional context

This is particularly useful for developer productivity and worklog workflows.

A common development workflow is for developers to work on feature or bugfix branches and merge them into main/development later. A daily activity query should not require those commits to already be merged.

The current search_commits behavior is documented as searching commit messages on the default branch only. list_commits can target a specific branch using sha, but using it to discover all user activity requires enumerating branches, which does not scale well for repositories with many branches.

The desired behavior is therefore a repository-level activity query that can efficiently identify commits by author and time range without requiring clients to know the relevant branches beforehand.

主要語言
Go
星號
33.3k
分支
5.1k
平均合併
22 小時 46 分鐘
30 天內合併 PR
17

環境準備

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

github/github-mcp-server 的其他 Issue

查看 github/github-mcp-server 的全部 Issue

相似的 Issue

更多 Go Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。