[go: up one dir, main page]

Skip to content

A FOSS Git multiplatform client for newbies and pros

License

Notifications You must be signed in to change notification settings

ikjelle/Gitnuro

 
 

Repository files navigation

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: To get a jar of this code use: ./gradlew fatJarLinux. Then move the file from /build/libs/Gitnuro-linux-{VERSION}.jar towards the location you want and then create an .desktop file to launch it. You may want to add the icon to that location as well. You can run the jar with java -jar Gitnuro-linux.jar

To get the original:

Linux:

  • Available as Flatpak here or by running flatpak install com.jetpackduba.Gitnuro if you have Flatpak & Flathub already setup.
    • If Flathub is not set up, you can add the source with the following command flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo.
  • 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 uncommitted 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.
  • Submodules support.
  • Change the tracking of a specific branch.
Features planned
  • Create/Apply patches
  • Remove tags from remote.
  • View stashes in the log tree.
  • 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, 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\Git\etc\gitconfig):

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

About

A FOSS Git multiplatform client for newbies and pros

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 98.9%
  • Rust 1.1%