A FOSS Git multiplatform client for newbies and pros
Gitnuro - 跨平台 Git 客户端

一款基于(Jetbrains)Compose 和 JGit 的开源 Git 客户端。
Gitnuro 的主要目标是提供一款跨平台的开源 Git 客户端,不限制您的使用方式,也不依赖网络技术。
下载/安装
Linux 系统:
- 可通过 Flatpak 获取,点击此处,或在已设置好 Flatpak 和 Flathub 的情况下运行
flatpak install com.jetpackduba.Gitnuro。- 若尚未设置 Flathub,可通过以下命令添加源:
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo。
- 若尚未设置 Flathub,可通过以下命令添加源:
- JAR 文件可作为便携版执行(需 JRE 17)。
Windows 系统:
MacOS 系统:
- 包含应用程序包的 ZIP 文件。
- 使用 Homebrew:
brew install jetpackduba/apps/gitnuro
功能特点
Gitnuro 支持以下功能:
- 查看文本文件的差异对比。
- 查看历史日志及所有分支。
- 添加(暂存)和重置(取消暂存)文件。
- 暂存和取消暂存代码块。
- 检出文件(恢复未提交文件的更改)。
- 克隆仓库。
- 提交更改。
- 重置提交。
- 恢复提交。
- 修正上一次提交。
- 合并分支。
- 变基操作。
- 在本地创建和删除分支。
- 在本地创建和删除标签。
- 查看远程分支。
- 拉取和推送。
- 暂存和应用暂存。
- 检出提交(分离 HEAD 状态)。
- 查看图片的更改/差异(并排比较)。
- 强制推送。
- 从远程删除分支。
- 管理远程仓库。
- 初始化新的本地仓库。
- 按提交消息/作者/提交 ID 搜索。
- 交互式变基。
- 文件追溯(Blame)。
- 查看文件历史。
- 主题设置。
- 文本文件的并排差异对比。
- 暂存/取消暂存特定行。
- 子模块支持。
- 更改特定分支的跟踪关系。
计划功能
- 创建/应用补丁
- 从远程删除标签。
- 在日志树中显示暂存内容。
- 差异对比的语法高亮。
- 各种日志选项,如显示作者、按当前分支筛选或隐藏远程分支。
- 自定义设置。
贡献指南
如果您发现了错误,或者有新功能建议,欢迎提交 issue。
我们也欢迎提交拉取请求(Pull requests),但如果是新功能,请先创建 issue。如果您想处理某个已存在的 issue,请留言告知,以便我了解情况,并在必要时讨论相关变更。 有关如何搭建开发环境,请参见此页面。
常见问题
Gitnuro 是完全免费的吗?
是的,它在两个层面上都是免费的(既免费使用,也赋予您自由)。
Gitnuro 会跟踪我的数据吗?
Gitnuro 绝不会以任何方式跟踪数据,请放心使用。
我不喜欢内置主题,可以创建自定义主题吗?
Gitnuro 支持以 JSON 格式设置自定义主题。请注意,主题可能会随着新版本的发布而失效,此时将自动回退到默认主题。
对于最新稳定版本,您可以参考以下 JSON 示例:
{
"primary": "FF456b00",
"primaryVariant": "FF456b00",
"onPrimary": "FFFFFFFFF",
"secondary": "FF9c27b0",
"onBackground": "FF141f00",
"onBackgroundSecondary": "FF595858",
"error": "FFc93838",
"onError": "FFFFFFFF",
"background": "FFe7f2d3",
"backgroundSelected": "C0cee1f2",
"surface": "FFc5f078",
"secondarySurface": "FFedeef2",
"tertiarySurface": "FFF4F6FA",
"addFile": "FF32A852",
"deletedFile": "FFc93838",
"modifiedFile": "FF0070D8",
"conflictingFile": "FFFFB638",
"dialogOverlay": "AA000000",
"normalScrollbar": "FFCCCCCC",
"hoverScrollbar": "FF0070D8",
"diffLineAdded": "FF0070D8",
"diffLineRemoved": "FF0070D8",
"onSecondary": "FF000000",
"diffContentAdded": "FF000000",
"diffContentRemoved": "FF000000",
"diffKeyword": "FF000000",
"diffAnnotation": "FF000000",
"diffComment": "FF000000",
"isLight": true
}
颜色采用 ARGB 十六进制格式。
为什么 Mac 版本没有签名?
Apple 开发者计划的费用相当高,而目前该平台的用户数量非常少。如果这是一个需求很高的功能,我可能会考虑付费,但现在不会。
身份验证失败。这是怎么回事?
目前在这个问题上存在一些限制。以下是一些已知的有问题的设置:
- 多播 DNS 远程 URL(https://github.com/JetpackDuba/Gitnuro/issues/19),可使用此解决方法(https://github.com/JetpackDuba/Gitnuro/issues/19#issuecomment-1374431720)。
- 自签名服务器证书(https://github.com/JetpackDuba/Gitnuro/issues/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 提供的必要工具。