Gitnuro 安装与启动指南:在 Linux、Windows、macOS 搭建免费开源的跨平台 Git 图形客户端

Gitnuro 安装与启动指南:在 Linux、Windows、macOS 搭建免费开源的跨平台 Git 图形客户端

【免费下载链接】GitnuroA FOSS Git multiplatform client for newbies and pros项目地址: https://gitcode.com/GitHub_Trending/gi/Gitnuro

Gitnuro 是一款基于 JetBrains Compose 与 JGit 构建的免费开源(FOSS)Git 客户端,覆盖克隆、提交、分支、标签、stash、diff 对比等日常操作,适合刚学 Git 的新手和想要轻量图形化界面的老手。这是一份从环境检查、安装配置到启动验证与常见问题排查的完整教程。

快速上手:按平台选择最短安装路径

如果没有任何特殊限制,优先使用系统标准的包管理方式安装,更新和依赖处理都更省心。

平台推荐方式最短路径适用场景
LinuxFlatpak(Flathub)flatpak install com.jetpackduba.Gitnuro桌面 Linux 用户,习惯包管理
LinuxJAR 便携版java -jar Gitnuro-<version>.jar不便装 Flatpak、或用 U 盘随身携带
Windows官方安装包运行 setup exe 并跟随向导需要桌面快捷方式、标准安装
Windows便携 ZIP解压后直接运行Gitnuro.exe受限办公环境、免安装使用
macOSHomebrewbrew install jetpackduba/apps/gitnuro已使用 brew 的开发者
macOSZIP 应用包解压Gitnuro.app放入/Applications未使用 brew 或网络受限

具体文件名和版本号以项目官方发布页为准,本文不写死。

环境准备:安装前的依赖与版本检查

除 Linux 的 JAR 便携版外,其余方式均为自包含分发,一般无需额外配置;系统里是否已装 Git 也不影响使用,因为应用内置了 JGit。

  • Linux(Flatpak 方式):需要已安装 Flatpak 并添加 Flathub 源(安装步骤里会带一条命令,可顺带完成)。
  • Linux(JAR 方式):需要 JRE 17 或更高版本,用java -version查看当前版本确认。
  • Windows:无额外前置条件,下载对应安装包即可。
  • macOS:走 Homebrew 路线需要先装好 Homebrew。

判断是否就绪很简单:Linux 上java -version输出 17 及以上、flatpak --version有输出,就可以继续下一步。

安装与启动:按推荐方式依次操作

每种方式都控制在两三条命令以内,装完以能否打开欢迎页作为成功标志。

Linux:Flatpak 安装(推荐)

Flatpak 在 Linux 上是最顺畅的路径,应用以沙盒运行,后续通过 Flathub 渠道更新。

  1. 添加 Flathub 源。命令里的--if-not-exists参数可避免重复添加:
    flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
  2. 安装应用:
    flatpak install com.jetpackduba.Gitnuro
  3. 启动:从桌面应用菜单搜索 Gitnuro 打开,或执行flatpak run com.jetpackduba.Gitnuro。

预期结果:出现 Gitnuro 主窗口。如果提示找不到应用,多半是源没加上或安装没完成,可用flatpak list | grep -i gitnuro确认安装状态。

Linux:JAR 便携版(备选)

适合不想装 Flatpak 或需要把程序拷到别的机器上运行的场景。

  1. 确认java -version输出为 17 或更高;版本过低时先安装 OpenJDK 17,Debian/Ubuntu 系可用sudo apt install openjdk-17-jre。
  2. 从发布页下载 JAR 文件到本地任意目录。
  3. 执行java -jar Gitnuro-<version>.jar启动。

预期结果:窗口正常弹出并显示欢迎页。如果报UnsupportedClassVersionError,说明当前 JRE 低于 17,回到第 1 步处理。

Windows:安装包与便携版

  1. 安装版:从发布页下载 Windows 安装程序并运行,按向导完成配置,建议勾选创建桌面快捷方式,方便日常启动。
  2. 便携版:将 ZIP 解压到任意目录,双击Gitnuro.exe即可启动;如果经常用命令行拉起它,可把该目录加入 PATH(可选)。

两种方式装完后,从开始菜单或快捷方式启动一次,确认窗口正常打开。

macOS:Homebrew 与 ZIP 包

  1. Homebrew 路线:执行
    brew install jetpackduba/apps/gitnuro

    安装完成后在终端输入gitnuro,或从应用程序目录启动。

  2. ZIP 路线:从发布页下载 macOS 压缩包,解压出Gitnuro.app,拖入/Applications。

由于应用未做 Apple 签名认证,首次启动可能被拦截。按住 Control 键点击应用图标并选择"打开",或到"系统设置 → 隐私与安全性"里点击"仍要打开",仅需操作一次。

首次使用验证:克隆示例仓库并核对界面

✅ 装完别急着关掉,克隆一个小仓库并把三个面板都扫一遍,是最快的完整性检查。

  1. 在欢迎页点击克隆入口,填入测试仓库地址:https://gitcode.com/GitHub_Trending/gi/Gitnuro,选择本地存放目录后等待克隆完成。
  2. 克隆结束后,顶部标签栏会出现以仓库名命名的新标签,进入主界面依次检查:
    • 左侧:Local branches、Remotes、Tags、Stashes 列表是否有内容;
    • 中部:提交图(Graph)和提交消息列表是否渲染出节点与时间;
    • 右侧:暂存/未暂存变更区与提交消息输入框是否可用。
  3. 想再验证一次写入,可以修改任意文件、填写提交信息并点击 Commit,观察日志顶部是否出现新提交。

三个面板都能正常展示、提交能落盘,就代表安装完整可用。

常见问题排查:按现象定位

⚠️ 安装后的问题大多集中在 macOS 安全提示、Flatpak 目录访问和远端认证三处,按"现象 → 原因 → 处理"逐项对照即可。

  • 现象:macOS 提示"无法打开"或开发者身份未知原因:应用未购买 Apple 开发者认证做签名。处理:到"系统设置 → 隐私与安全性"点击"仍要打开",或首次启动时 Control + 点击图标选择"打开",之后无需重复。

  • 现象:Linux 下打开某些目录的仓库失败原因:Flatpak 沙盒默认限制了部分文件系统路径。处理:执行flatpak override --filesystem=host com.jetpackduba.Gitnuro授予文件系统访问权限,再重启应用。

  • 现象:JAR 版启动时报 Java 版本相关错误原因:本机 JRE 低于 17。处理:安装 OpenJDK 17(Debian 系sudo apt install openjdk-17-jre,macOSbrew install openjdk@17),再用java -version确认已指向 17。

  • 现象:push / pull 时提示 Authentication has failed原因:已知对自签名证书服务器、Multicast DNS 地址等场景支持有限。处理:先用系统 git 命令行验证账号与网络是否正常;确认是证书类问题后,参考 README.md 的 FAQ 章节获取对应说明。

  • 现象:系统已配置 git-credential-manager-core,但应用内认证不生效原因:该凭证管理器要求在.gitconfig中写明二进制完整路径。处理:在.gitconfig的[credential]段写完整路径,例如 Linux 下为helper = /usr/share/git-credential-manager-core/git-credential-manager-core,Windows 下指向git-credential-manager-core.exe的绝对路径。

进阶与开发入口:源码、文档与构建方式

如果只用到这里的内容已经足够;想改主题或参与开发,按下面的入口切入即可。

  • 官方开发文档:DEVELOPMENT.md,列明了全部环境要求与启动/测试方法。
  • 开发环境要求:JDK 17 或更高、Rust 工具链(cargo与rustc需在 PATH 中)、cargo-kotars工具、Perl(构建 libssh 依赖的 openssl 需要)。
  • 启动与测试:克隆源码后执行./gradlew run运行应用、./gradlew test跑单元测试;用 IntelliJ IDEA 打开工程时,也可在 Gradle 任务面板里直接选 run / test 任务。
  • 代码结构:界面组件集中在 app/src/main/kotlin/com/jetpackduba/gitnuro/ui/ 目录,Git 操作实现位于 data 模块的git子目录,按 branches、stash、rebase 等功能分包,便于按功能定位。
  • 自定义主题:应用支持 JSON 格式的主题文件,颜色采用 ARGB 十六进制,示例见 README.md 的 FAQ 部分。

收尾:装完之后建议这样练

  1. 打开一个已有仓库,在右侧面板练习按文件、按 hunk、甚至按行暂存与取消暂存。
  2. 创建、切换、删除分支,对照左侧列表观察分支图的变化。
  3. 做一次 pull / push,确认本地分支与远端跟踪分支的同步状态显示正常。
  4. 再遇到问题,先查 README.md 的 FAQ,仍无解再向项目提交 issue。

Gitnuro 本身完全免费且不做任何使用数据追踪,工作机上也可以放心长期使用。

【免费下载链接】GitnuroA FOSS Git multiplatform client for newbies and pros项目地址: https://gitcode.com/GitHub_Trending/gi/Gitnuro

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

免费开源网页版三国杀,浏览器直接开局

免费开源网页版三国杀,浏览器直接开局

免费开源网页版三国杀&#xff0c;浏览器直接开局 【免费下载链接】noname 项目地址: https://gitcode.com/GitHub_Trending/no/noname 不想给武将付费解锁&#xff1f;打开浏览器就能开一局的无名杀&#xff08;noname&#xff09;&#xff0c;是一个免费开源的网页版…

2026/10/21 1:38:25 阅读更多 →
HCIA Storage备考指南:存储认证题库高效刷题与核心考点解析

HCIA Storage备考指南:存储认证题库高效刷题与核心考点解析

1. 存储认证备考的底层逻辑与整体思路拆解1.1 为什么存储方向的题库不能靠死记硬背很多人拿到HCIA Storage题库的第一反应就是刷题、背答案&#xff0c;觉得把选项记住就能过。我带过不少刚入行的朋友备考&#xff0c;发现一个很普遍的现象&#xff1a;题库刷了三遍&#xff0c…

2026/10/21 1:38:25 阅读更多 →
FPGA外围芯片手册实战:选型、设计与避坑指南

FPGA外围芯片手册实战:选型、设计与避坑指南

简介&#xff1a;面向FPGA设计者的常用外围电路芯片手册资料包&#xff0c;系统汇总了时钟管理、配置、电源转换、存储器、通信接口、ADC/DAC等外围芯片的选型与应用要点&#xff0c;适合正在开展FPGA项目选型、硬件调试或数字系统开发的工程师与学生使用。包内共43个文件&…

2026/10/21 1:38:25 阅读更多 →

最新新闻

scrcpy 录屏把码率从 8Mbps 降到 2Mbps,反而不再丢帧

scrcpy 录屏把码率从 8Mbps 降到 2Mbps,反而不再丢帧

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 2:26:53 阅读更多 →
第一章 C++语言概述

第一章 C++语言概述

第一章 C语言概述语言是怎么走到今天这样的&#xff0c;C 的特点和版本怎么选&#xff0c;一个程序由哪几块拼成&#xff0c;第一个程序从写下来到跑起来中间发生了什么。底子打牢&#xff0c;后面看到报错才知道往哪查。┌─────────────────────────…

2026/10/21 2:26:53 阅读更多 →
STM32时钟树与RCC寄存器深度解析:从库函数到寄存器操作

STM32时钟树与RCC寄存器深度解析:从库函数到寄存器操作

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 2:26:53 阅读更多 →
第85章 「非对称的博弈」

第85章 「非对称的博弈」

“现实世界模拟器”的巨幅全息投影上&#xff0c;一条猩红色的能量流如同溃堤的洪水&#xff0c;正沿着预设的“资本通道”向代表着国内某关键资本市场的区域汹涌扑来。旁边&#xff0c;代表“弦飞资本”及其“黄金同盟”力量的蓝色防线&#xff0c;虽然层层布设&#xff0c;却…

2026/10/21 2:26:53 阅读更多 →
RF Spectrum Sharing: Wi-Fi, Bluetooth, and IEEE 802.15.4 in the 2.4 GHz Band

RF Spectrum Sharing: Wi-Fi, Bluetooth, and IEEE 802.15.4 in the 2.4 GHz Band

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 2:26:53 阅读更多 →
Wi-Fi MAC Layer: Scanning, Authentication, Association, and Data Transmission Processes

Wi-Fi MAC Layer: Scanning, Authentication, Association, and Data Transmission Processes

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 2:25:53 阅读更多 →

日新闻

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事&#xff1a;AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里&#xff0c;按宣传口径&#xff0c;本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”&#xff0c;而是这话背后的含金量——它把过去只能…

2026/10/21 0:00:11 阅读更多 →
AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

1. 从“封号重开”这个行为说起&#xff1a;用户到底在追求什么“封号重开”这四个字&#xff0c;放在任何产品语境里都带着一股决绝的味道。一个账号从零开始积累使用记录、调教偏好、沉淀工作流&#xff0c;背后是大量的时间和精力成本。正常情况下&#xff0c;没有人愿意主动…

2026/10/21 0:00:11 阅读更多 →
ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

1. 为什么在ROS里硬刚YOLOv3不是“炫技”&#xff0c;而是工程落地的必经之路我第一次在某高校机器人实验室看到那台搭载Jetson TX2的移动底盘原地打转、反复识别错垃圾桶时&#xff0c;就意识到&#xff1a;单纯跑通darknet_ros demo和真正让YOLOv3在ROS里“干活”&#xff0c…

2026/10/21 0:00:11 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型&#xff08;GMM&#xff09;的语音识别系统&#xff0c;很多人第一反应就是一堆数学公式&#xff0c;觉得门槛很高。但如果你真的在MATLAB里把它落地跑通&#xff0c;会发现核心其实就是三件事&#xff1a;把声音变成特征向量&#xff0c;用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人&#xff0c;但落到具体操作上&#xff0c;无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程&#xff1a;对图像做反白、改调色板、彩色转灰度&#xff0c;最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →