2022-04-26 16:58:41 +03:00
[![Gittyup Status ](https://github.com/Murmele/Gittyup/actions/workflows/build.yml/badge.svg?branch=master )](https://github.com/Murmele/Gittyup/actions/workflows/build.yml)
2022-05-22 15:54:58 +03:00
[![Matrix ](https://img.shields.io/matrix/Gittyup:matrix.org?label=Matrix%20Chat )](https://matrix.to/#/#Gittyup:matrix.org)
2022-04-10 17:09:24 +03:00
[![Donate Liberapay ](https://liberapay.com/assets/widgets/donate.svg )](https://liberapay.com/Gittyup/donate)
2019-12-17 07:20:08 +03:00
2022-06-23 14:41:48 +03:00
< a href = "https://flathub.org/apps/details/com.github.Murmele.Gittyup" >
< img
src="https://flathub.org/assets/badges/flathub-badge-i-en.png"
alt="Download Gittyup on Flathub"
width="240px"/>
< / a >
2021-10-11 07:29:10 +03:00
Gittyup
2018-12-13 02:22:04 +03:00
==================================
2022-10-28 08:21:32 +03:00
Gittyup is a graphical Git client designed to help you understand and manage your source code history. The [latest stable release ](https://github.com/Murmele/Gittyup/releases/latest )
2022-06-12 23:38:06 +03:00
is available either as pre-built flatpak for Linux, 32 / 64 binary for Windows, macOS,
2022-05-18 18:10:12 +03:00
or can be built from source by following the directions [below ](https://github.com/Murmele/Gittyup#how-to-build ).
2018-12-13 02:22:04 +03:00
2022-11-10 10:36:34 +03:00
The [latest development version ](https://github.com/Murmele/Gittyup/releases/tag/development ) is available pre-built as well.
2022-10-28 08:21:32 +03:00
2021-10-11 07:29:10 +03:00
Gittyup is a continuation of the [GitAhead ](https://github.com/gitahead/gitahead ) client.
2022-04-26 15:54:49 +03:00
![Gittyup ](https://raw.githubusercontent.com/Murmele/Gittyup/master/rsrc/screenshots/main_dark_orig.png )
2022-01-19 17:50:13 +03:00
2022-06-11 19:54:20 +03:00
Table of contents
=================
<!-- ts -->
* [Features ](#features )
* [How to Get Help ](#how-to-get-help )
* [Build Environment ](#build-environment )
* [Dependencies ](#dependencies )
* [How to Build ](#how-to-build )
* [How to Install ](#how-to-install )
* [Flatpak from terminal ](#flatpak-from-terminal )
* [How to Contribute ](#how-to-contribute )
* [License ](#license )
<!-- te -->
2022-04-26 17:27:07 +03:00
Features
---------------
2022-05-18 18:10:12 +03:00
To get an overview of the current features please have a look at the [GitHub Page ](https://murmele.github.io/Gittyup/ )
2022-04-26 17:27:07 +03:00
2018-12-13 02:22:04 +03:00
How to Get Help
---------------
2021-10-11 07:29:10 +03:00
Ask questions about building or using Gittyup on
2021-11-22 12:15:32 +03:00
[Stack Overflow ](http://stackoverflow.com/questions/tagged/gittyup ) by
including the `gittyup` tag. Remember to search for existing questions
2018-12-13 02:22:04 +03:00
before creating a new one.
2021-10-11 07:29:10 +03:00
Report bugs in Gittyup by opening an issue in the
2022-03-02 16:26:25 +03:00
[issue tracker ](https://github.com/Murmele/gittyup/issues ).
2018-12-13 02:22:04 +03:00
Remember to search for existing issues before creating a new one.
2021-10-11 07:29:10 +03:00
If you still need help, check out our Matrix channel
2022-05-18 18:10:12 +03:00
[Gittyup:matrix.org ](https://matrix.to/#/#Gittyup:matrix.org ).
2018-12-13 02:22:04 +03:00
Build Environment
-----------------
* C++11 compiler
* Windows - MSVC >= 2017 recommended
* Linux - GCC >= 6.2 recommended
* macOS - Xcode >= 10.1 recommended
* CMake >= 3.3.1
* Ninja (optional)
Dependencies
------------
External dependencies can be satisfied by system libraries or installed
2019-01-07 23:30:46 +03:00
separately. Included dependencies are submodules of this repository. Some
submodules are optional or may also be satisfied by system libraries.
2018-12-13 02:22:04 +03:00
**External Dependencies**
2022-04-06 20:32:29 +03:00
* Qt (required >= 5.12)
2018-12-13 02:22:04 +03:00
**Included Dependencies**
* libgit2 (required)
* cmark (required)
* git (only needed for the credential helpers)
* libssh2 (needed by `libgit2` for SSH support)
* openssl (needed by `libssh2` and `libgit2` on some platforms)
2019-08-18 19:41:50 +03:00
Note that building `OpenSSL` on Windows requires `Perl` and `NASM` .
2018-12-13 02:22:04 +03:00
How to Build
------------
**Initialize Submodules**
git submodule init
git submodule update
**Build OpenSSL**
2021-10-11 07:29:10 +03:00
# Start from root of gittyup repo.
2018-12-13 02:22:04 +03:00
cd dep/openssl/openssl
2022-06-19 16:33:16 +03:00
Windows:
2018-12-13 02:22:04 +03:00
perl Configure VC-WIN64A
2019-01-26 00:46:52 +03:00
nmake
2018-12-13 02:22:04 +03:00
2022-06-29 11:52:54 +03:00
macOS (Intel):
2018-12-13 02:22:04 +03:00
2019-01-07 23:30:46 +03:00
./Configure darwin64-x86_64-cc no-shared
2018-12-13 02:22:04 +03:00
make
2022-06-29 11:52:54 +03:00
macOS (Apple Silicon)
2018-12-13 02:22:04 +03:00
2022-06-29 11:52:54 +03:00
./Configure darwin64-arm64-cc no-shared
make
2018-12-13 02:22:04 +03:00
Linux:
2019-01-26 00:46:52 +03:00
./config -fPIC
2018-12-13 02:22:04 +03:00
make
**Configure Build**
2021-10-11 07:29:10 +03:00
# Start from root of gittyup repo.
2018-12-13 02:22:04 +03:00
mkdir -p build/release
cd build/release
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ../..
If you have Qt installed in a non-standard location, you may have to
specify the path to Qt by passing `-DCMAKE_PREFIX_PATH=<path-to-qt>`
where `<path-to-qt>` points to the Qt install directory that contains
`bin` , `lib` , etc.
**Build**
ninja
2021-10-11 07:29:10 +03:00
2021-09-14 11:09:36 +03:00
How to Install
-----------------
2021-11-26 17:38:14 +03:00
### Linux
2021-09-14 11:09:36 +03:00
2021-11-26 17:44:27 +03:00
The easiest way to install Gittyup is by using [Flatpak ](https://flathub.org/apps/details/com.github.Murmele.Gittyup ).
2021-11-17 13:44:53 +03:00
2021-11-26 17:38:14 +03:00
**Arch Linux**
2021-11-17 13:44:53 +03:00
2021-11-26 14:28:11 +03:00
Install the `gittyup` package from the Arch User Repository.
2021-09-14 11:09:36 +03:00
2021-11-26 14:28:11 +03:00
git clone https://aur.archlinux.org/gittyup.git
cd gittyup
makepkg -si
Or use an AUR helper.
Install `gittyup-git` for the VCS build.
2018-12-13 02:22:04 +03:00
2022-09-04 20:51:18 +03:00
### Mac OS
**Homebrew**
2022-10-28 09:03:33 +03:00
Install the `gittyup` cask from [Homebrew ](https://formulae.brew.sh/cask/gittyup ).
2022-09-04 20:51:18 +03:00
brew install gittyup
2022-06-11 19:54:20 +03:00
### Flatpak from terminal
If you want a more pure console use, this script run flatpak version disowning the process and silence the output pushing it to /dev/null.
Just save the script somewhere in your path, for example `/usr/bin` (or `~/.local/bin` if you have exported it), give execution permissions `chmod +x` , and run `gittyup` from your terminal.
```bash
#!/bin/bash
DIR=$(dirname "${BASH_SOURCE[0]}")
function run_disown() {
"$@" & disown
}
function run_disown_silence(){
run_disown "$@" 1>/dev/null 2>/dev/null
}
run_disown_silence flatpak run com.github.Murmele.Gittyup
```
2023-07-28 18:12:53 +03:00
How to Build with Ubuntu
-----------------
2022-06-11 19:54:20 +03:00
2023-07-28 18:12:53 +03:00
```
sudo apt install build-essential libgl1-mesa-dev
sudo apt install cmake
sudo apt install libgit2-dev
sudo apt install cmark
sudo apt install git
sudo apt install libssh2
sudo apt install openssl
sudo apt install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools
sudo apt install qttools5-dev
sudo apt install ninja-build
#Change to your gittyup directory below
cd ~/Nextcloud/Projects/gittyup
git fetch
git submodule init
git submodule update
git pull
git checkout deps
cd dep/openssl/openssl/
./config -fPIC
make
#Change to your gittyup directory below
cd ~/Nextcloud/Projects/gittyup
mkdir -vp build/release
cd build/release
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ../..
ninja
```
2022-06-11 19:54:20 +03:00
2018-12-13 02:22:04 +03:00
How to Contribute
-----------------
We welcome contributions of all kinds, including bug fixes, new features,
documentation and translations. By contributing, you agree to release
your contributions under the terms of the license.
Contribute by following the typical
2022-01-21 16:44:13 +03:00
[GitHub workflow ](https://docs.github.com/en/get-started/quickstart/github-flow )
2018-12-13 02:22:04 +03:00
for pull requests. Fork the repository and make changes on a new named
2018-12-31 05:26:55 +03:00
branch. Create pull requests against the `master` branch. Follow the
[seven guidelines ](https://chris.beams.io/posts/git-commit/ ) to writing a
great commit message.
2018-12-13 02:22:04 +03:00
License
-------
2021-10-11 07:29:10 +03:00
Gittyup and its predecessor GitAhead are licensed under the MIT license. See LICENSE.md for details.