Skip to content

In-memory Git playground ✨ Nova does not touch the file system unless told so.

License

Notifications You must be signed in to change notification settings

thomscoder/nova-git

Repository files navigation

Nova ✨🌙

Abstraction for git repositories.

I started this project mainly to keep practicing Go. I was working on a text editor and with go-git on two different projects so I decided to combine the two.

Nova can clone git repositories in-memory and supports a bunch of plumbing and porcelain-ish git commands. I'm planning to slowly bring more and more feature on it.

# Either
$ go run main.go
# or
$ nova

Nova currently supports several commands:

  • nova <FILE_NAME> - File I/O
  • go to <BRANCH_NAME> - Creates branch and/or Checkout
  • screenshot - Add and Commit (equivalent to git commit -am ...)
  • ls - Lists all the files (does not expand subdirectories yet)
  • read <FILE_NAME> - Displays the content of a file
  • status - Displays the status of the worktree (equivalent to git status)
  • log - Displays the commits (equivalent to git log)
  • branches - Displays the list of branches
  • stop - Exits Nova

more will be added.

Nova is able to edit files in memory with its built-in editor and save them on either on its store or on disk. It won't ever do I/O operations on the real directory (unless explicitly told to do so).

Commands:

  • CTRL+X - Exit
  • CTRL+R - Save on disk
  • CTRL+S - Save as memory file

About

In-memory Git playground ✨ Nova does not touch the file system unless told so.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages