
Neth Pehesara Botheju
Second-year Computer Science student at the University of Westminster.
Git cli client (gity)
Project Overview
Gity is a lightweight command-line interface (CLI) tool built with Rust that streamlines common Git operations. The goal is to create a user-friendly CLI Git client that combines common Git commands with additional integrated features.
Features
Gity works with officially initialized Git repositories or existing projects. Feel free to switch between Gity and Git at any time without issue.
- Near-instant execution (thanks to Rust's zero-cost abstractions)
- Common Git commands:
gity init .
- Initializes a project by creating a.git
foldergity add .
- Stages changesgit commit -m "<message>"
- Commits staged changes with a messagegity push
- Pushes commits to the remote repository
Technical Implementation
- Language: Rust — a modern, fast, and memory-safe language that executes with near-instant speed.
- Package Manager: Cargo — Rust's package manager for easy dependency management and building.
- Libraries:
Releases
v0.1.0 (Latest)
Gity currently supports a limited set of Git operations, with more features planned for future releases. The primary focus in this version is to implement the simplest Git commands.
Supported Commandsgity init .
— Initializes a new Git repository in the current directory.gity add .
— Tracks newly added files in the repository (note: only newly added files are tracked; deleted files are not).gity commit -m "<message>"
— Commits changes with a short message (only supports a commit title, not a detailed description).gity push
— Pushes local commits to the remote repository.
gity add .
only tracks newly added files. Deleted or modified files are not currently handled.gity commit -m "<message>"
only accepts a short commit title; it does not yet support detailed commit descriptions.
Future Enhancements
- Implement advanced Git commands (e.g., branch management, merge, rebase)
- Add AI-based auto-commit message generation integrated with the CLI
- Introduce combined commands for easier and faster workflows