{"id":16117065,"url":"https://github.com/mlange-42/git-igitt","last_synced_at":"2025-04-06T08:11:38.118Z","repository":{"id":54828526,"uuid":"327114338","full_name":"mlange-42/git-igitt","owner":"mlange-42","description":"Interactive, cross-platform Git terminal application with clear git graphs arranged for your branching model","archived":false,"fork":false,"pushed_at":"2023-07-01T22:48:33.000Z","size":236,"stargazers_count":193,"open_issues_count":15,"forks_count":4,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-30T07:08:18.037Z","etag":null,"topics":["command-line-tool","git","git-flow","git-graph","rust","terminal-app"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mlange-42.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-05T20:41:23.000Z","updated_at":"2025-03-27T10:23:47.000Z","dependencies_parsed_at":"2024-10-26T19:31:49.963Z","dependency_job_id":"690d7b19-ff45-4d5c-868b-6ecf69dfe3c0","html_url":"https://github.com/mlange-42/git-igitt","commit_stats":{"total_commits":99,"total_committers":2,"mean_commits":49.5,"dds":"0.010101010101010055","last_synced_commit":"03e35154f950a83c39584461e2989701663ed9c2"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlange-42%2Fgit-igitt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlange-42%2Fgit-igitt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlange-42%2Fgit-igitt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlange-42%2Fgit-igitt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mlange-42","download_url":"https://codeload.github.com/mlange-42/git-igitt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247451653,"owners_count":20940939,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["command-line-tool","git","git-flow","git-graph","rust","terminal-app"],"created_at":"2024-10-09T20:28:25.207Z","updated_at":"2025-04-06T08:11:38.101Z","avatar_url":"https://github.com/mlange-42.png","language":"Rust","readme":"# git-igitt\n\n[![Tests](https://github.com/mlange-42/git-igitt/actions/workflows/tests.yml/badge.svg)](https://github.com/mlange-42/git-igitt/actions/workflows/tests.yml)\n[![GitHub](https://img.shields.io/badge/github-repo-blue?logo=github)](https://github.com/mlange-42/git-igitt)\n[![Crate](https://img.shields.io/crates/v/git-igitt.svg)](https://crates.io/crates/git-igitt)\n[![MIT license](https://img.shields.io/github/license/mlange-42/git-igitt)](https://github.com/mlange-42/git-igitt/blob/master/LICENSE)\n\nInteractive Git terminal application to browse and visualize Git history graphs in a comprehensible way, following different branching models.\n\n![git-igitt-animation](https://user-images.githubusercontent.com/44003176/104823331-af30cd00-5849-11eb-97b5-1bea6efc133c.gif)\n\n**git-igitt** is based on [git-graph](https://github.com/mlange-42/git-graph). The image below shows an example using the [GitFlow](https://nvie.com/posts/a-successful-git-branching-model/) branching model for a comparison between graphs generated by git-graph (far left) versus other tools and Git clients.\n\n\u003e GitFlow was chosen for its complexity, while any other branching model is supported, including user-defined ones.\n\n![Graph comparison between tools](https://user-images.githubusercontent.com/44003176/103466403-36a81780-4d45-11eb-90cc-167d210d7a52.png)\n\nDecide for yourself which graph is the most comprehensible. :sunglasses:\n\n:warning: **This project is still in a very early stage. For reporting issues, see [here](#contributing)** :warning:\n\n## Features\n\n* View structured graphs directly in the terminal\n* Interactively browse the Git history and view commits and diffs\n* Pre-defined and custom branching models and coloring\n* View old and new file versions without checking them out, with syntax highlighting!\n\n## Installation\n\n**Pre-compiled binaries**\n\n1. Download the [latest binaries](https://github.com/mlange-42/git-igitt/releases) for your platform\n2. Unzip somewhere\n3. *Optional:* add directory `git-igitt` to your `PATH` environmental variable\n\n**Using `cargo`**\n\nIn case you have [Rust](https://www.rust-lang.org/) installed, you can install with `cargo`:\n\n```\ncargo install git-igitt\n```\n\n## Usage\n\nFor basic usage, run the following command:\n\n```\ngit-igitt\n```\n\n\u003e Note: git-graph needs to be on the PATH, or you need use the full path to git-graph:\n\u003e\n\u003e ```\n\u003e C:/path/to/git-igitt/git-igitt\n\u003e ```\n\nIf git-igitt is started inside a Git repository's folder, this repository will be displayed. Otherwise, a file dialog will appear that let's you select a repository.\n\n**Get help**\n\nTo view **key bindings** and help in the application, press `H` or `F1`.\n\nFor the full CLI help describing all options, use:\n\n```\ngit-igitt -h\ngit-igitt --help\n```\n\n**Branching models**\n\nBy default, git-igitt assumes the `git-graph` branching model. To change the branching model in the application, press `M`. You can then set the model for the current session with `Enter`, or permanently for the repository with `P`.\n\nAlternatively, start git-graph with a specific model, e.g. `simple`:\n\n```\ngit-igitt --model simple\n```\n\nOr set the model for the repository in the current path permanently:\n\n```\ngit-igitt model simple\n```\n\nFor details on **branching models**, **styles** and commit **formatting**, see the [git-graph manual](https://github.com/mlange-42/git-graph/blob/master/docs/manual.md).\n\n## Custom branching models\n\nBranching models are configured using the files in `APP_DATA/git-graph/models` (git-igitt shares these files with [git-graph](https://github.com/mlange-42/git-graph)).\n\n* Windows: `C:\\Users\\\u003cuser\u003e\\AppData\\Roaming\\git-graph`\n* Linux: `~/.config/git-graph`\n* OSX: `~/Library/Application Support/git-graph`\n\nFile names of any `.toml` files in the `models` directory can be selected in the application or used with parameter `--model`, or via sub-command `model`. E.g., to start with a branching model defined in `my-model.toml`, use:\n\n```\ngit-igitt --model my-model\n```\n\nFor details on **how to create your own branching models** see section\n[Custom branching models](https://github.com/mlange-42/git-graph/blob/master/docs/manual.md#custom-branching-models) of the git-graph manual.\n\n## Limitations\n\n* Summaries of merge commits (i.e. 1st line of message) should not be modified! git-graph needs them to categorize merged branches\n* Currently, the history can only be browsed. So far, no Git commands are implemented.\n* Supports only the primary remote repository `origin`\n* Does currently not support \"octopus merges\" (i.e. no more than 2 parents)\n* No support for shallow clones due to missing feature in underlying library [`libgit2`](https://github.com/libgit2/libgit2)\n* Syntax highlighting may be slow for large files (turn on/off by typing `S`)\n\n## Contributing\n\nPlease report any issues and feature requests in the [issue tracker](https://github.com/mlange-42/git-igitt/issues).\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmlange-42%2Fgit-igitt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmlange-42%2Fgit-igitt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmlange-42%2Fgit-igitt/lists"}