Skip to content

Repository files navigation

GitEdit

Screenshot

GitEdit is a personal, native and local-first desktop workbench for editing Git history without memorising command variations, written in vanilla C#.

What it does

  • Open a local repository, inspect graph, parents, metadata, and working-tree state.
  • Select a commit or contiguous range to edit a commit or squash/fixup a range.
  • Message, author, committer, and date changes live in one inline editor.
  • Local editing requires a clean worktree for linear commit edits, squash, and fixup.
  • Every supported rewrite shows a payload-aware preview, and asks for explicit confirmation.
  • Which creates a local recovery ref, rebuilds the path, and refreshes the graph.
  • Does not need an account, a Git provider, terminals, or an embedded Git library.
  • Only remote action is git push --force-with-lease for the branch's upstream.
  • Currently covers linear commit edits, squash, and fixup.

Build and run

Prerequisites: .NET 10 SDK and Git on PATH.

# Restore dependencies
dotnet restore GitEdit.sln --configfile NuGet.Config

# Build the solution
dotnet build GitEdit.sln

# Build a self-contained single-file binary for the current platform
.\build.ps1
# Output: build/GitEdit.exe on Windows, or build/GitEdit on Linux/macOS

# Or target a specific platform
.\build.ps1 -Runtime win-x64
.\build.ps1 -Runtime linux-x64
.\build.ps1 -Runtime osx-x64
.\build.ps1 -Runtime osx-arm64

# Run tests
dotnet run --project tests/GitEdit.Core.Checks/GitEdit.Core.Checks.csproj

# Run the application
dotnet run --project src/GitEdit.App/GitEdit.App.csproj

License

MIT License

Releases

Pushing a v* tag runs the GitHub Actions release workflow. It validates the solution, builds self-contained artifacts for Windows, Linux, and macOS, and publishes SHA-256 checksums with the GitHub Release.

About

A native and local-first desktop workbench for editing Git history without memorising command variations, written in vanilla C#.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages