A lightweight version control system implemented in Rust, inspired by Git. This educational project aims to provide deep insights into how version control systems work internally.
vcs init
- Initialize a new repositoryvcs status
- Show working tree statusvcs add <files>
- Add files to the staging area (Index)vcs commit -m "message"
- Record changes to the repositoryvcs log
- Show commit history
vcs hash-object <file>
- Compute object ID and optionally creates a blobvcs cat-file
- Provide content or type and size information for repository objectsvcs write-tree
- Create a tree object from the current indexvcs show [commit]
- Show various types of objects with detailed information
vcs ls-files
- Show information about files in the indexvcs rm [--cached] files
- Remove filesfrom working tree and index
vcs branch
- List, create, or delete branchesvcs status
- Show working tree status
- Clone the repository:
https://github.com/Niko256/vcs.git
- Run the installaton script
./install.sh
The install.sh script will guide you through the installation or update process.
Contributions are welcome! Please feel free to submit a Pull Request.