Skip to content

a toy git writing in rust just to learn how git really works

License

Notifications You must be signed in to change notification settings

build-your-own-x/git-rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

git-rust

a toy git implementation by rust

usage:

tit <subcommand>

porcelain:

v0.1

  • init
  • add
  • commit
  • status
  • clone

v0.2

  • branch
  • checkout
  • merge
  • rebase
  • reset
  • stash
  • revert

v0.3

  • tag
  • diff
  • show
  • log
  • push
  • remote
  • rm
  • cherry-pick

plumbing:

  • hash-object
  • cat-file
  • update-index
  • write-tree
  • read-tree
  • commit-tree

todo:

  • autocomplete
  • man use build.rs
  • ci tests (cli,completion,more)
  • signals handle,exitcode,interactive with machine and human
  • explore justfile as exa

reference:

https://github.com/ajeetdsouza/zoxide (clap subcommand usage)

https://github.com/BurntSushi/ripgrep (auto test)

awesome cli:

https://github.com/ClementTsang/bottom (interactive)

https://github.com/extrawurst/gitui

https://github.com/ogham/exa

About

a toy git writing in rust just to learn how git really works

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages