Files
GitLite/README.md
T
Christoph Brandau cd01df0108 feat(git-lfs): add Git LFS status and sidecar bundling
Adds Git LFS support to the backend API and related UI.
The app now exposes commands to inspect, install, track and pull.
A sidecar git-lfs binary is bundled and a prep script is added.
This prepares the correct binary for each target platform.

- Expose Git LFS status and management commands in API
- Bundle and prepare a sidecar git-lfs binary for targets
- Update packaging, docs, and README with LFS notes
2026-08-17 20:27:54 +02:00

106 lines
3.1 KiB
Markdown

<div align="center">
<img src="public/splash-icon.png" alt="Gitty Logo" width="360">
# Gitty
**A lightweight, modern Git client built with Tauri.**
Fast, simple, and designed for developers who want a clean Git experience without unnecessary complexity.
</div>
---
## ✨ Features
- 🚀 Fast native performance
- 🌿 Branch management
- 📝 Commit history
- 🔄 Pull, Push & Fetch
- 🔀 Merge & Rebase
- 📦 Repository management
- 🗄️ Git LFS detection, tracking and object management
- 🎨 Modern and intuitive UI
---
## 📸 Preview
> Screenshots coming soon.
---
## 🛠️ Built With
- **Tauri**
- **Rust**
- **Svelte**
---
## 🚧 Status
Gitty is currently under active development.
Contributions, feedback and feature requests are always welcome!
---
## 📄 License
MIT License
---
## Arch Linux
Install Gitty from the AUR with an AUR helper:
```bash
yay -S gitty-desktop
```
To install the prebuilt native Arch package instead of compiling from source:
```bash
yay -S gitty-desktop-bin
```
Or build the AUR package manually:
```bash
git clone https://aur.archlinux.org/gitty-desktop.git
cd gitty-desktop
makepkg -si
```
The source recipe downloads the public Gitea release archive and builds Gitty.
The `-bin` recipe repackages the native `.pkg.tar.zst` release artifact. The
release pipeline updates both packages' versions, checksums, and `.SRCINFO`
files.
---
## Git LFS
Gitty bundles the `git-lfs` executable in its desktop installers and checks it
at runtime before offering LFS actions. Arch packages also declare `git-lfs` as
a dependency so Git hooks and command-line workflows outside Gitty use the same
extension. The repository toolbar exposes LFS setup, tracked patterns, object
downloads, and safe cache pruning. Normal clone, pull, checkout, and push
operations continue to use Git's standard LFS filters and pre-push hook. After
every successful pull, Gitty detects LFS usage and automatically downloads the
required LFS objects with the same remote and credentials, so no second pull is
needed.
---
## SigNoz telemetry
After the user opts in, Gitty sends privacy-filtered product events and technical errors as OTLP/HTTP JSON logs. Every Git/Tauri command is also captured as a trace span with its command name, duration and success state, but without command arguments or results. CPU utilization and resident memory usage of the Gitty process are sampled every 30 seconds and exported as OpenTelemetry gauges. The default endpoints are `https://telemetry.cbsk-tech.de/v1/logs`, `https://telemetry.cbsk-tech.de/v1/traces`, and `https://telemetry.cbsk-tech.de/v1/metrics`.
The SigNoz reverse proxy must forward all three paths to the Collector's OTLP/HTTP receiver (normally port `4318`). For development or a separate collector hostname, set `GITTY_OTLP_LOGS_ENDPOINT`, `GITTY_OTLP_TRACES_ENDPOINT`, and `GITTY_OTLP_METRICS_ENDPOINT` to the full signal URLs before starting Gitty.
Telemetry is non-blocking, bounded, disabled until consent is stored, and never includes repository paths, remote URLs, branch names, commit messages, diffs, file names, credentials, source code, URLs, or email addresses.