Gig is a git client written in pure Go (using go-git). The main motivation was to create a git client for platforms that are not supported by the official git client (mainly Plan 9). Gig tries to be compatible with git CLI, so anyone familiar with the official git client will already know how to use gig.
GO111MODULE=on go get github.com/fhs/gig/cmd/git-upload-pack
GO111MODULE=on go get github.com/fhs/gig/cmd/git-receive-pack
GO111MODULE=on go get github.com/fhs/gig/cmd/gig
To run tests on Plan 9, you need to run this first:
go mod edit -replace 'github.com/rogpeppe/go-internal@v1.6.2=github.com/fhs/go-internal@v1.6.3-0.20201122174144-815d671f4ff9'
This is due to rogpeppe/go-internal#115.