134 lines
3.2 KiB
Markdown
134 lines
3.2 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
|
|
- ☁️ GitHub, GitLab, Azure DevOps, and Gitea integrations
|
|
- 🗄️ 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.
|
|
|
|
---
|
|
|
|
## Command line
|
|
|
|
Open an existing repository when Gitty starts:
|
|
|
|
```text
|
|
gitty.exe --repo "D:\Projects\ExistingRepo"
|
|
```
|
|
|
|
Clone a remote into an exact local target folder and open it immediately:
|
|
|
|
```text
|
|
gitty.exe --clone "https://example.com/team/project.git" "D:\Projects\Project"
|
|
gitty clone "git@example.com:team/project.git" "D:\Projects\Project"
|
|
```
|
|
|
|
`--clone=<REMOTE>` is also accepted. Relative target paths are resolved from
|
|
the current working directory. Clone and repository requests are forwarded to
|
|
the running window when Gitty is already open.
|
|
|
|
---
|
|
|
|
## Git hosting integrations
|
|
|
|
Gitty connects to GitHub, GitLab.com, GitLab Self-Managed, Azure DevOps, and
|
|
Gitea from **Settings → Integrations**. Each connection uses a personal access
|
|
token that is stored in the operating system keychain instead of application
|
|
settings. Azure DevOps can manage multiple organizations with separate URLs,
|
|
usernames, and tokens.
|
|
|
|
After enabling a connection, open **Clone → Integrations** to load the
|
|
repositories available to that account. Repositories are sorted
|
|
alphabetically and can be filtered, refreshed, selected, and cloned directly
|
|
with the stored credentials.
|
|
|
|
---
|
|
|
|
|
|
## 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. After every successful clone or pull, Gitty
|
|
detects LFS usage and automatically downloads the required LFS objects with the
|
|
same remote and credentials, so no second pull is needed. Fresh clones also get
|
|
repository-local LFS filters and the pre-push hook before they are opened.
|
|
|