Gitnuro - Multiplatform Git Client
Find a file
2023-03-21 01:47:28 +01:00
.github Reformated proejct's code 2023-03-08 01:07:58 +01:00
gradle/wrapper Upgrade to Gradle 7.6 2023-01-29 11:44:38 +01:00
icons Improve macOS app-icon 2022-06-02 19:09:55 +02:00
res/img Updated release json and cover image 2022-10-29 23:27:44 +02:00
src Added basic idea of files search in commited changes 2023-03-21 01:47:28 +01:00
.gitignore Initial commit 2021-09-24 14:25:17 +02:00
build.gradle.kts Dependencies update 2023-03-18 17:33:51 +01:00
compose-desktop.pro Changed commit changes design 2022-10-18 23:12:30 +02:00
DEVELOPMENT.md Reformated proejct's code 2023-03-08 01:07:58 +01:00
gradle.properties Remove kapt.use.worker.api=false 2023-01-29 12:17:51 +01:00
gradlew Upgrade to Gradle 7.6 2023-01-29 11:44:38 +01:00
gradlew.bat Added dagger dependencies and moved code to package to avoid kapt warnings 2021-10-06 19:05:07 +02:00
latest.json Updated latest.json 2022-11-15 22:27:06 +01:00
LICENSE Create LICENSE 2021-10-15 01:45:55 +02:00
README.md Update README.md 2023-03-15 17:54:48 +01:00
settings.gradle.kts Initial commit 2021-09-24 14:25:17 +02:00

Gitnuro - Multiplatform Git Client

Latest release

Icon

A FOSS Git client based on (Jetbrains) Compose and JGit.

The main goal of Gitnuro is to provide a multiplatform open source Git client without any kind of constraint to how you can use it nor relying on web technologies.

Download/Install

Linux:

  • Available as Flatpak here or by running flatpak install --user com.jetpackduba.Gitnuro if you have Flatpak & Flathub already setup.
  • JAR file can be executed as a portable version (Requires JRE 17).

Windows:

MacOS:

Features

Gitnuro has support for the following features:

  • View diffs for text based files.
  • View your history log and all its branches.
  • Add (stage) & reset (unstage) files.
  • Stage & unstage of hunks.
  • Checkout files (revert changes of uncommited files).
  • Clone.
  • Commit.
  • Reset commits.
  • Revert commits.
  • Amend previous commit.
  • Merge.
  • Rebase.
  • Create and delete branches locally.
  • Create and delete tags locally.
  • View remote branches.
  • Pull and push.
  • Stash and pop stash.
  • Checkout a commit (detached HEAD).
  • View changes/diff in images (side to side comparison).
  • Force push.
  • Remove branches from remote.
  • Manage remotes.
  • Start a new local repository.
  • Search by commit message/author/commit id.
  • Rebase interactive.
  • Blame file.
  • View file history.
  • Theming.
  • Side by side diff in text files.
  • Stage/Unstage specific lines.
Features planned
  • Create/Apply patches
  • Remove tags from remote.
  • View stashes in the log tree.
  • Submodules support (planned for 1.2.0).
  • Change the tracking of a specific branch.
  • Syntax highlighting for diff.
  • Various log options like showing the author, filtering by current branch o hide remote branches.
  • Customizations settings.

Contributing

If you find a bug or you would like to suggest a new feature, feel free to open an issue.

Pull requests are also welcome but please create an issue first if it's a new feature. If you want to work on an existing issue, please comment so I'm aware of it and discuss the changes if required. See this page for how to set up your development environment.

FAQ

Is Gitnuro completly free?

Yes, free in both meanings of the word (in money and freedom).

Does Gitnuro keep track of my data?

Gitnuro does not track data in any way, don't worry.

I don't like the built-in themes, can I create a custom one?

Gitnuro includes the option to set custom themes in a JSON format. Keep in mind that themes may break with new releases, making the default theme the fallback option.

For the latest stable version (1.1.0), you can use this JSON as an example:

{
    "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",
    "isLight": true
}

Colors are in ARGB Hex format.

Why isn't the Mac version signed?

The cost of the Apple Developer Program is quite high with a platform that currently has very few users. I may pay for it if it's a very requested feature but not for now.

Authentication has failed. What's wrong?

Currently there are some limitations regarding this topic. Here are some known problematic setups:

If the authentication fails and you think its due to a different reason, please open a new issue.

Does it support Git credentials manager (aka manager-core)? Yes but it requires specifying the full path of the binary in your .gitconfig.

Example for linux:

[credential]
   helper = /usr/share/git-credential-manager-core/git-credential-manager-core

Example for windows (you may want to edit C:\Program Files\mingw64\etc\gitconfig):

[credential]
   helper = C:/Program Files/Git/mingw64/bin/git-credential-manager-core.exe