README.md

July 10, 2026 · View on GitHub

Gitling icon

Gitling

Latest GitHub release F-Droid version Available on Google Play License: GPLv3

Gitling is a Git client for Android, built with Jetpack Compose and Material 3 Expressive.

It's a fork of MGit (itself a continuation of SGit), modernized with a current Android toolchain, a from-scratch Compose UI, one-tap GitHub sign-in, and a new identity.

  • If you encounter any issues (bugs, crashes, etc.), please open an issue on GitHub describing what happened and how to reproduce it.
  • This app requires a minimum of Android 6.0 (API 23).

Screenshots

Repository list Commit graph Git console Status screen
Repository list Commit graph Git console Status — stage/unstage all
File viewer with syntax highlighting Blame view Commit diff view Settings
File viewer Blame view Commit diff Settings

Editing files

Gitling doesn't include an internal text editor -- to edit files, you'll need an editor app installed that supports opening files via Android's File Provider mechanism (most code/text editor apps do).

Features

  • Clone, create, and delete local repositories
  • One-tap Connect with GitHub (OAuth Device Flow) -- no manual token/password handling for GitHub remotes
  • Self-hosted Forgejo and Gitea support -- add a Custom account with your instance URL
  • HTTP/HTTPS/SSH, including SSH with private-key passphrase
  • Username/password and personal access token authentication for any Git host
  • Full branch/merge commit graph with lazygit-style lane visualization and inline branch/tag/HEAD labels
  • Browse files and commit history, git diff between commits
  • File blame view -- see which commit last touched each line
  • Git command console -- run status, log, diff, branch, stash directly from the Console tab
  • Checkout, create, and merge local/remote branches and tags
  • git status, staging, git rebase, git cherry-pick, git checkout <file>
  • Stage All / Unstage All -- bulk-stage or unstage every file from the Status screen in one tap
  • Submodule init and update
  • Search across repos, commit history, and file tree
  • Pin repositories to keep them at the top of the list
  • Tag repositories with custom labels and filter by them
  • Home screen widget showing repo status and dirty/clean indicator
  • Private key generation and management
  • Import an existing repository from device storage
  • Light/dark mode that follows the system, with a choice between a fixed brand color or wallpaper-based Material You dynamic color

Quick start

Clone a remote repository

  1. Tap the + button to add a new repository
  2. Enter the remote URL (see formats below)
  3. Enter a local repository name -- this is not the full path; Gitling stores all repositories under a common root directory (changeable in Settings)
  4. Tap Clone
  5. If required, you'll be prompted for credentials -- or connect your GitHub account once in Settings to skip this for GitHub remotes

Create a local repository

  1. Tap the + button to add a new repository
  2. Choose Init Local to create a local repository
  3. Enter a name when prompted

Self-hosted Forgejo / Gitea

  1. Go to Settings → Accounts and tap Add account
  2. Choose Custom as the account type
  3. Enter your username, a personal access token, and your instance URL (e.g. https://forgejo.example.com)
  4. Credentials are applied automatically on clone, fetch, and pull from that host

URL formats

SSH

  • Standard port (22): ssh://username@server_name/path/to/repo
  • Non-standard port: ssh://username@server_name:port/path/to/repo
  • A username is required.

HTTP(S)

  • https://server_name/path/to/repo

License

GPLv3 -- see LICENSE.

This project is a fork of maks/MGit, itself a fork of sheimi/SGit. Credit to both for the original implementation this continues to build on.

Third-party fonts

The app's default typeface, Plus Jakarta Sans, is licensed under the SIL Open Font License 1.1. Settings > App font also offers Inter and JetBrains Mono as alternatives, both also OFL-1.1.