Gitnuro - 跨平台开源 Git 客户端
Gitnuro 是一个基于 JetBrains Compose 与 JGit 开发的多平台 FOSS Git 客户端,面向新手与专业用户,不依赖 Web 技术。支持提交、合并、变基、储藏、分支/标签管理、子模块、交互式变基、逐行暂存、图文差异对比、主题定制等完整 Git 操作,提供 Linux、Windows、macOS 安装包与可移植 JAR(需 JRE 17)。
社区作者 · 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:
- Gitnuro 完全免费吗?是的,在“金钱”和“自由”两种意义上都免费。
- Gitnuro 会追踪我的数据吗?不会,Gitnuro 不以任何方式追踪数据。
- 不喜欢内置主题,可以创建自定义主题吗?可以,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 等键)。
- 为什么 Mac 版本没有签名?Apple Developer Program 的费用相当高,而该平台目前用户很少。如果需求足够多,作者可能会付费;但目前暂不处理。
- 认证失败是怎么回事?目前在这方面存在一些限制,已知有问题的场景包括:多播 DNS(Multicast DNS)远程 URL(issue #19,正文提供了一种 workaround,具体内容为评论链接,未展开说明);自签名服务器证书(issue #48)。如果认证失败且认为原因是其他情况,可以新开 issue。
- 是否支持 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 命令。
- 已提供 Flatpak 包。如果已经配置好 Flatpak 与 Flathub,直接运行:
- 如果尚未配置 Flathub,可先用以下命令添加源:
- 也可以使用 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 十六进制格式,主题可能随新版本失效并回退默认主题。
- 开发环境搭建:来源提示参见项目相关页面,具体步骤未在正文中展开,待核验。