返回目录
开源项目开发者工具类新手

Gitnuro - 跨平台开源 Git 客户端

Gitnuro 是一个基于 JetBrains Compose 与 JGit 开发的多平台 FOSS Git 客户端,面向新手与专业用户,不依赖 Web 技术。支持提交、合并、变基、储藏、分支/标签管理、子模块、交互式变基、逐行暂存、图文差异对比、主题定制等完整 Git 操作,提供 Linux、Windows、macOS 安装包与可移植 JAR(需 JRE 17)。

0 次阅读2026/09/17 发布
Gitnuro - 跨平台开源 Git 客户端 来源图片

社区作者 · zZz

它解决什么问题

Gitnuro 是一个基于 JetBrains Compose 和 JGit 构建的开源免费(FOSS)Git 客户端。项目的主要目标是提供一个多平台开源 Git 客户端,既不对使用方式施加任何限制,也不依赖 Web 技术实现。

作者在 FAQ 中强调:Gitnuro 完全免费,这里的“免费”同时包含价格免费与自由软件两层含义;Gitnuro 不会以任何方式追踪用户数据。

功能(已支持):

  • 查看文本文件的差异(diff)。
  • 查看历史日志及其所有分支。
  • 添加(stage)与重置(unstage)文件。
  • 按代码块(hunk)暂存与取消暂存。
  • Checkout 文件(还原未提交文件的改动)。
  • 克隆(Clone)。
  • 提交(Commit)。
  • 重置提交(Reset commits)。
  • 还原提交(Revert commits)。
  • 修改上一次提交(Amend previous commit)。
  • 合并(Merge)。
  • 变基(Rebase)。
  • 本地创建与删除分支。
  • 本地创建与删除标签。
  • 查看远程分支。
  • 拉取与推送(Pull / Push)。
  • 储藏与弹出储藏(Stash / Pop stash)。
  • Checkout 某个提交(分离 HEAD / detached HEAD)。
  • 查看图片改动的差异(并排对比)。
  • 强制推送(Force push)。
  • 删除远程分支。
  • 管理远程仓库。
  • 新建本地仓库。
  • 按提交信息、作者或提交 ID 搜索。
  • 交互式变基(Rebase interactive)。
  • 文件追责(Blame file)。
  • 查看文件历史。
  • 主题(Theming)。
  • 文本文件并排差异对比。
  • 暂存/取消暂存指定行。
  • 子模块(Submodules)支持。
  • 修改指定分支的跟踪关系(tracking)。

计划中的功能:

  • 创建/应用补丁(patches)。
  • 删除远程标签。
  • 在日志树中查看储藏。
  • 差异的语法高亮。
  • 多种日志选项,例如显示作者、按当前分支过滤或隐藏远程分支。
  • 自定义设置(Customizations settings)。

参与贡献: 如果发现 bug 或想建议新功能,可以随时提交 issue。也欢迎 Pull Request,但如果是新功能,请先创建 issue。如果想处理某个已有 issue,请先留言说明,以便作者知晓,并在需要时讨论改动方案。开发环境搭建方式见项目页面(来源指向“this page for how to set up your development environment”,具体链接未在正文中给出,待核验)。

FAQ:

  1. Gitnuro 完全免费吗?是的,在“金钱”和“自由”两种意义上都免费。
  1. Gitnuro 会追踪我的数据吗?不会,Gitnuro 不以任何方式追踪数据。
  1. 不喜欢内置主题,可以创建自定义主题吗?可以,Gitnuro 支持以 JSON 格式设置自定义主题。需要注意主题可能随新版本发布而失效,届时会回退到默认主题。最新稳定版可参考正文给出的 JSON 作为示例(颜色采用 ARGB 十六进制格式,示例中包含 primary、primaryVariant、onPrimary、secondary、onBackground、onBackgroundSecondary、error、onError、background、backgroundSelected、surface、secondarySurface、tertiarySurface、addFile、deletedFile、modifiedFile、conflictingFile、dialogOverlay、normalScrollbar、hoverScrollbar、diffLineAdded、diffLineRemoved、onSecondary、diffContentAdded、diffContentRemoved、diffKeyword、diffAnnotation、diffComment、isLight 等键)。
  1. 为什么 Mac 版本没有签名?Apple Developer Program 的费用相当高,而该平台目前用户很少。如果需求足够多,作者可能会付费;但目前暂不处理。
  1. 认证失败是怎么回事?目前在这方面存在一些限制,已知有问题的场景包括:多播 DNS(Multicast DNS)远程 URL(issue #19,正文提供了一种 workaround,具体内容为评论链接,未展开说明);自签名服务器证书(issue #48)。如果认证失败且认为原因是其他情况,可以新开 issue。
  1. 是否支持 Git 凭据管理器(manager-core)?支持,但需要在 .gitconfig 中指定该二进制的完整路径。Linux 示例:[credential] helper = /usr/share/git-credential-manager-core/git-credential-manager-core;Windows 示例(可能需要编辑 C:\Program Files\Git\etc\gitconfig):[credential] helper = C:/Program Files/Git/mingw64/bin/git-credential-manager-core.exe。

项目感谢所有赞助者帮助改进 Gitnuro,并感谢 JetBrains 提供必要工具支持。

— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。

安装 / 开始使用

来源给出的下载与安装方式如下(按平台说明,务必按顺序准备环境):

【Linux】

flatpak install com.jetpackduba.Gitnuro

flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo 然后再执行上面的 flatpak install 命令。

  1. 已提供 Flatpak 包。如果已经配置好 Flatpak 与 Flathub,直接运行:
  2. 如果尚未配置 Flathub,可先用以下命令添加源:
  1. 也可以使用 JAR 文件作为便携版运行(需要 JRE 17)。

【Windows】

  • 提供安装版与便携版。

【MacOS】

  • 提供包含应用包(app bundle)的 ZIP 文件。
  • 也可使用 Homebrew 安装:
命令
brew install jetpackduba/apps/gitnuro

首次运行与常见问题:

[credential] helper = /usr/share/git-credential-manager-core/git-credential-manager-core Windows 示例(可能需要编辑 C:\Program Files\Git\etc\gitconfig): [credential] helper = C:/Program Files/Git/mingw64/bin/git-credential-manager-core.exe

  • macOS 版本未进行签名,原因是 Apple Developer Program 费用较高且该平台用户较少(来源说明)。
  • 若认证失败,已知问题场景包括多播 DNS 远程 URL(issue #19,正文给出了一种 workaround 链接)与自签名服务器证书(issue #48);如认为属于其他原因,请新开 issue。
  • 如需使用 Git 凭据管理器(manager-core),必须在 .gitconfig 中写入该二进制文件的完整路径。Linux 示例:
  • 自定义主题:以 JSON 格式配置,颜色使用 ARGB 十六进制格式,主题可能随新版本失效并回退默认主题。
  • 开发环境搭建:来源提示参见项目相关页面,具体步骤未在正文中展开,待核验。

来源教程配图

Icon
配图 1 · Icon查看原图

适用场景

新手学习 Git 时通过图形界面完成克隆
提交
拉取
推送等基础操作
专业开发者进行交互式变基
按 hunk/按行暂存
amend
force push 等进阶操作
在多个平台上(Linux/Windows/macOS)使用同一套开源 Git 客户端工作流
可视化查看提交历史
文件历史与 blame 结果
对图片改动进行并排差异对比