{"id":20743874,"url":"https://github.com/reiniiriarios/ivy-git","last_synced_at":"2025-09-05T06:32:08.712Z","repository":{"id":212386857,"uuid":"631398086","full_name":"reiniiriarios/ivy-git","owner":"reiniiriarios","description":"🍃 Ivy Git is a work-in-progress Git GUI that aims to simplify workflow by putting the least amount of resistance between the user and git as possible, enabling diverse workflows without the constraints of being opinionated.","archived":false,"fork":false,"pushed_at":"2024-04-27T04:49:28.000Z","size":9026,"stargazers_count":7,"open_issues_count":18,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-24T05:44:49.034Z","etag":null,"topics":["git","git-gui","wails","wails-app"],"latest_commit_sha":null,"homepage":"https://ivygit.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/reiniiriarios.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":"2023-04-22T22:34:27.000Z","updated_at":"2025-03-15T01:50:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"c4ea2e89-f3cd-4a01-ab5d-7bbbbe60c387","html_url":"https://github.com/reiniiriarios/ivy-git","commit_stats":null,"previous_names":["reiniiriarios/ivy-git"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/reiniiriarios/ivy-git","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reiniiriarios%2Fivy-git","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reiniiriarios%2Fivy-git/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reiniiriarios%2Fivy-git/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reiniiriarios%2Fivy-git/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reiniiriarios","download_url":"https://codeload.github.com/reiniiriarios/ivy-git/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reiniiriarios%2Fivy-git/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273722742,"owners_count":25156300,"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","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["git","git-gui","wails","wails-app"],"created_at":"2024-11-17T07:13:21.599Z","updated_at":"2025-09-05T06:32:08.665Z","avatar_url":"https://github.com/reiniiriarios.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🍃 Ivy Git\n\nIvy Git is a work-in-progress Git GUI that aims to simplify workflow by putting the least amount of resistance between the user and git as possible, enabling diverse workflows without the constraints of being opinionated.\n\nIt is built on [Wails](https://wails.io/) in [Go](https://go.dev/), [Svelte](https://svelte.dev/), [Typescript](https://www.typescriptlang.org/), and [SCSS](https://sass-lang.com/documentation/syntax/), using [Vite](https://vitejs.dev/) and [WebView2](https://developer.microsoft.com/en-us/microsoft-edge/webview2/) for the frontend.\n\n**[➡ Download Latest Release](https://github.com/reiniiriarios/ivy-git/releases/latest)**\n\n![Screenshot of Commit List on macoS](./docs/ivy-git-08-mac.png)\n\n![Screenshot of Diff on Linux](./docs/ivy-git-09-linux.png)\n\n[📸 See More Screenshots](./docs)\n\n## Major Features\n\n- Tree View\n- View file diffs/changes (current, staged, and commit history)\n- Stage/Unstage files\n- Stage/Unstage partial files by changed line\n- Write and amend commits or stash changes\n- Merge \u0026 Rebase\n- Resolve conflicts when merging and rebasing\n- Fetch/Push/Pull\n- Manage branches\n- CLOC (Count Lines of Code)\n- Contributors list for repositories (WIP)\n- Highlight Conventional Commit tags\n- Select from three configurations: Merge Commits, Squash \u0026 Rebase, or Rebase Everything. Setting changes actions available in context menu.\n- Cherry pick commits\n- Add, remove, push tags\n- Manage remotes\n- Quickly set author information in git config per repo\n\n## Building from Source / Development\n\n### Linux Dependencies\n\nDependency|Package|Install\n---|---|---\ngcc|build-essential|package manager\nGo 1.21|golang-1.21|package manager\nDocker|docker.io|package manager\nlibgtk-3|libgtk-3-dev|package manager\nlibwebkit|libwebkit2gtk-4.0-dev|package manager\npkg-config|pkg-config|package manager\nNode.js/npm|nodejs|package manager / [nvm](https://github.com/nvm-sh/nvm)\n\n### macOS Dependencies\n\nDependency|Package|Install\n---|---|---\nXcode|xcode|[Apple](https://apps.apple.com/us/app/xcode/id497799835)\nXcode cli tools|xcode|`xcode-select --install`\nDocker|docker.io|Homebrew / [Docker](https://www.docker.com/products/docker-desktop/)\nGo 1.21|golang-1.21|Homebrew / [go.dev](https://go.dev/dl/)\nlibgtk-3|libgtk-3-dev|Homebrew\nlibwebkit|libwebkit2gtk-4.0-dev|Homebrew\nNode.js/npm|nodejs|Homebrew / [nvm](https://github.com/nvm-sh/nvm)\n\n### Windows Dependencies\n\nDependency|Package|Install\n---|---|---\nDocker|Docker|winget / [Docker](https://www.docker.com/products/docker-desktop/)\nGo 1.21|GoLang/Go|winget / [go.dev](https://go.dev/dl/)\nNSIS|NSIS/NSIS|winget / [NSIS](https://nsis-dev.github.io/)\nWebView2|Microsoft/EdgeWebView2Runtime|winget / [Microsoft](https://developer.microsoft.com/en-us/microsoft-edge/webview2/)\nNode.js/npm|nodejs|[nvm](https://github.com/nvm-sh/nvm)\n\n## Building\n\nTo build for your current platform, run from the `ivy-git` source directory:\n\n```sh\nmake\nmake install\n```\n\n### Details\n\n`make` will first install all Go and npm dependencies via `make deps`, including Wails. It will then call `make build` and build for your current system.\n\nTo build for a specific OS other than your own, you can run `make linux`, `make darwin`, or `make windows`. To build for Windows, builds, you'll need the additional `nsis` dependency.\n\n### Linux\n\n`make install` will copy the binary to `/usr/bin/ivy-git`, additional files to `/etc/ivy-git/*`, and a `.desktop` file to `/usr/share/applications/`.\n\n### macOS\n\n`make` will generate a universal app that should work on both x64 and amd (M1) chips. `make install` will create a `pkg` file that will install the app appropriately.\n\n### Windows\n\n`make install` will create both a zip file and an installer. If you have issues running `make install` on Windows, make sure Powershell is accessible from the shell you are using. Be aware: Running install from WSL will, as you might expect, build and install for Linux, not Windows.\n\n### Troubleshooting\n\nIf you're having trouble getting Wails properly installed, see the [Wails Getting Started guide](https://wails.io/docs/gettingstarted/installation).\n\nTo check dependencies listed above, run `wails doctor` after installing Wails.\n\nNode dependencies, including Svelte and Typescript, will be installed as a part of the build process. If you wish/need to manually install, you can run `npm ci` from the `/frontend` directory.\n\n## Running in Development Mode\n\nTo run in live development mode, run `./run-dev.sh`. Via this script, the garbage collector will be configured correctly and debug mode enabled.\n\nAlternatively, set the following environment variables and run `wails dev`.\n\n#### Go Garbage Collector\n\nIn order for the garbage collector to run correctly, the following to environment variables must be set:\n\n```sh\nGOGC=100\nGOMEMLIMIT=1000MiB\n```\n\n#### Debug Mode\n\nTo run in debug mode, set the following two environment variables:\n\n```sh\nIVY_GIT_DEBUG=true\nGODEBUG=gctrace=1\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freiniiriarios%2Fivy-git","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freiniiriarios%2Fivy-git","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freiniiriarios%2Fivy-git/lists"}