Gitnuro/README.md

165 lines
5.1 KiB
Markdown
Raw Normal View History

2022-09-06 02:08:24 +02:00
# Gitnuro - Multiplatform Git Client
2023-04-15 16:34:04 +02:00
2022-09-06 02:08:24 +02:00
[![Latest release](https://img.shields.io/github/v/release/JetpackDuba/Gitnuro?color=blue&label=latest%20release)](https://github.com/JetpackDuba/Gitnuro/releases/latest)
![Icon](res/img/cover.png)
2021-11-05 04:28:12 +01:00
A FOSS Git client based on (Jetbrains) Compose and JGit.
2023-04-15 16:34:04 +02:00
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.
2021-11-05 04:28:12 +01:00
2022-10-30 19:26:10 +01:00
## Download/Install
Linux:
2023-04-15 16:34:04 +02:00
- Available as Flatpak [here](https://flathub.org/apps/details/com.jetpackduba.Gitnuro) 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`.
2023-09-27 12:44:28 +02:00
- JAR file can be executed as a portable version (Requires JRE 17).
2022-10-30 19:26:10 +01:00
Windows:
2023-04-15 16:34:04 +02:00
2022-10-30 19:26:10 +01:00
- [Installable & portable version](https://github.com/JetpackDuba/Gitnuro/releases/latest).
MacOS:
2023-04-15 16:34:04 +02:00
2023-09-27 12:44:28 +02:00
- [ZIP which contains the app bundle](https://github.com/JetpackDuba/Gitnuro/releases/latest).
2022-11-06 19:53:01 +01:00
- Using hombrew: `brew install jetpackduba/apps/gitnuro`
2022-10-30 19:26:10 +01:00
2022-09-06 02:08:24 +02:00
## Features
2022-04-02 04:30:09 +02:00
2022-09-06 02:08:24 +02:00
Gitnuro has support for the following features:
2022-01-04 20:17:21 +01:00
- 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.
2022-02-05 03:01:03 +01:00
- Amend previous commit.
2022-01-31 15:29:39 +01:00
- Merge.
- Rebase.
2022-01-04 20:17:21 +01:00
- 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).
2022-01-31 15:29:39 +01:00
- View changes/diff in images (side to side comparison).
2022-02-01 14:44:01 +01:00
- Force push.
2022-02-04 18:54:58 +01:00
- Remove branches from remote.
2022-02-17 20:09:53 +01:00
- Manage remotes.
2022-04-01 19:56:08 +02:00
- Start a new local repository.
2022-04-02 04:30:09 +02:00
- Search by commit message/author/commit id.
2022-08-07 00:07:05 +02:00
- Rebase interactive.
- Blame file.
- View file history.
2022-09-06 02:08:24 +02:00
- Theming.
2022-10-30 19:26:10 +01:00
- Side by side diff in text files.
2022-10-22 14:43:54 +02:00
- Stage/Unstage specific lines.
2023-05-04 17:29:03 +02:00
- Submodules support.
- Change the tracking of a specific branch.
2022-01-04 20:17:21 +01:00
2022-10-22 14:43:54 +02:00
<details>
<summary><b>Features planned</b></summary>
2023-04-15 16:34:04 +02:00
2022-04-01 19:56:08 +02:00
- Create/Apply patches
2022-01-04 20:17:21 +01:00
- Remove tags from remote.
- View stashes in the log tree.
2022-10-22 14:43:54 +02:00
- Syntax highlighting for diff.
- Various log options like showing the author, filtering by current branch o hide remote branches.
- Customizations settings.
2023-04-15 16:34:04 +02:00
2022-10-22 14:43:54 +02:00
</details>
2022-01-04 20:17:21 +01:00
2022-09-06 02:08:24 +02:00
## Contributing
If you find a bug or you would like to suggest a new feature, feel free to open an issue.
2023-04-15 16:34:04 +02:00
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](DEVELOPMENT.md) for how to set up your development environment.
2022-09-06 02:08:24 +02:00
## 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?
2023-04-15 16:34:04 +02:00
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.
2022-01-17 13:07:35 +01:00
2022-10-30 19:26:10 +01:00
For the latest stable version (1.1.0), you can use this JSON as an example:
2022-01-17 13:07:35 +01:00
2022-09-06 02:08:24 +02:00
```
{
"primary": "FF456b00",
"primaryVariant": "FF456b00",
"onPrimary": "FFFFFFFFF",
"secondary": "FF9c27b0",
2022-10-30 19:26:10 +01:00
"onBackground": "FF141f00",
"onBackgroundSecondary": "FF595858",
2022-09-06 02:08:24 +02:00
"error": "FFc93838",
"onError": "FFFFFFFF",
"background": "FFe7f2d3",
"backgroundSelected": "C0cee1f2",
"surface": "FFc5f078",
"secondarySurface": "FFedeef2",
2022-10-30 19:26:10 +01:00
"tertiarySurface": "FFF4F6FA",
2022-09-06 02:08:24 +02:00
"addFile": "FF32A852",
"deletedFile": "FFc93838",
"modifiedFile": "FF0070D8",
"conflictingFile": "FFFFB638",
"dialogOverlay": "AA000000",
"normalScrollbar": "FFCCCCCC",
2022-10-30 19:26:10 +01:00
"hoverScrollbar": "FF0070D8",
"diffLineAdded": "FF0070D8",
"diffLineRemoved": "FF0070D8",
"isLight": true
2022-09-06 02:08:24 +02:00
}
```
2022-01-17 13:07:35 +01:00
2022-09-06 02:08:24 +02:00
Colors are in ARGB Hex format.
2022-01-04 20:17:21 +01:00
2023-04-15 16:34:04 +02:00
> Why isn't the Mac version signed?
2022-02-02 00:26:46 +01:00
2023-04-15 16:34:04 +02:00
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.
2022-10-04 13:48:26 +02:00
> Authentication has failed. What's wrong?
Currently there are some limitations regarding this topic. Here are some known problematic setups:
2023-04-15 16:34:04 +02:00
- Multicast DNS remote URL (https://github.com/JetpackDuba/Gitnuro/issues/19) with this
workaround (https://github.com/JetpackDuba/Gitnuro/issues/19#issuecomment-1374431720).
2022-11-28 20:42:05 +01:00
- Self signed server certificate (https://github.com/JetpackDuba/Gitnuro/issues/48)
2022-10-04 13:48:26 +02:00
If the authentication fails and you think its due to a different reason, please open a new issue.
2022-11-06 19:53:01 +01:00
> Does it support Git credentials manager (aka manager-core)?
2023-04-15 16:34:04 +02:00
> Yes but it requires specifying the full path of the binary in your `.gitconfig`.
Example for linux:
2022-11-06 19:53:01 +01:00
```
[credential]
helper = /usr/share/git-credential-manager-core/git-credential-manager-core
```
2023-05-17 15:10:29 +02:00
Example for windows (you may want to edit `C:\Program Files\Git\etc\gitconfig`):
2023-04-15 16:34:04 +02:00
2022-11-06 19:53:01 +01:00
```
[credential]
helper = C:/Program Files/Git/mingw64/bin/git-credential-manager-core.exe
```