From 6fba638f98f15f9fd2e2ae2016c41a9702de8a47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gon=C3=A7alo=20Val=C3=A9rio?= Date: Tue, 8 Dec 2020 21:46:57 +0000 Subject: [PATCH] Add a readme file --- README.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..85b8249 --- /dev/null +++ b/README.md @@ -0,0 +1,51 @@ +# Rgit + +This repo contains an implementation of a "Git-like version control system (VCS)". +It was made by following the step by step tutorial created by `nikita` (which is fantastic btw), as a learning exercise, first to understand Git internals and also to practice a bit with the Rust programing language. + +You can find the original `μgit` tutorial here: https://www.leshenko.net/p/ugit/ + +The code on this repository was not written to be idiomatic, clear, and/or beautiful, the only concern was to follow the provided Python code as closely as possible. + +**Note:** At the moment, the program is not yet finished. The last 3 steps related to the `add` (staging) feature are still missing. + +**Note 2:** Do not use it for any meaningful work. + +## Current commands + +``` +$ rgit --help +rgit vcs 0.1.0 +Gonçalo Valério +A watered-down git clone + +USAGE: + rgit [SUBCOMMAND] + +FLAGS: + -h, --help Prints help information + -V, --version Prints version information + +SUBCOMMANDS: + add Add files to the index + branch Create a new branch + cat-file outputs the original object from the provided hash + checkout Move the current content and HEAD to given commit + commit writes a named snapshot of the current tree + diff Compare the working tree with the given commit + fetch Fetch refs and objects from another repository + hash-object created an hash for an object + help Prints this message or the help of the given subcommand(s) + init creates new repository + k visualize refs and commits + log List all commits + merge Merge changes of a different commit/branch + merge-base Find the common ancestor between two commits + push Push refs and objects to another repository + read-tree writes a given tree to the working directory + reset Move the current content and HEAD to given commit with dereferencing + show Show diff from a commit + status check current branch + tag Create a tag for a given commit + write-tree write the current working directory to the database +```