{"id":21068547,"url":"https://github.com/aditya1404sal/fit","last_synced_at":"2026-01-20T02:01:56.212Z","repository":{"id":248755946,"uuid":"829565813","full_name":"Aditya1404Sal/fit","owner":"Aditya1404Sal","description":"A version control system built purely in Rust. The Prodigal son of git.","archived":false,"fork":false,"pushed_at":"2024-08-11T16:09:34.000Z","size":2302,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T22:14:19.243Z","etag":null,"topics":["git","rust","version-control"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Aditya1404Sal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-16T17:32:35.000Z","updated_at":"2025-03-21T08:11:08.000Z","dependencies_parsed_at":"2024-07-19T00:16:00.703Z","dependency_job_id":"e3d2a4fd-3257-48ad-913d-8a8c790c6bce","html_url":"https://github.com/Aditya1404Sal/fit","commit_stats":null,"previous_names":["aditya1404sal/fit"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Aditya1404Sal/fit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aditya1404Sal%2Ffit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aditya1404Sal%2Ffit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aditya1404Sal%2Ffit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aditya1404Sal%2Ffit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Aditya1404Sal","download_url":"https://codeload.github.com/Aditya1404Sal/fit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aditya1404Sal%2Ffit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28593781,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T01:57:22.592Z","status":"online","status_checked_at":"2026-01-20T02:00:07.325Z","response_time":117,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git","rust","version-control"],"created_at":"2024-11-19T18:22:44.809Z","updated_at":"2026-01-20T02:01:56.198Z","avatar_url":"https://github.com/Aditya1404Sal.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fit: A Version Control System\n\nfit is a version control system inspired by Git. It offers similar functionality with commands to initialize, clone, add, remove, commit, log, reset, and check the status of your repositories. fit is written in Rust and uses SHA-1 for hashing, zlib for compression, and offers a simple CLI for interaction.\n\n## Features\n\n- Initialize a new repository\n- Clone an existing repository (under development)\n- Log commit history\n- Add and remove files to/from the staging area\n- Commit changes\n- View the contents of repository objects\n- Check the status of the working directory\n- Reset to a specific commit\n- Viewing Diff between two commits\n- Creating and switching to branches\n- Cloning branches\n\n## Installation\n\nTo install fit, you need to have Rust installed on your system. If you don't have Rust installed, you can get it from [here](https://www.rust-lang.org/tools/install).\n\n1. Clone the repository:\n    ```sh\n    git clone https://github.com/yourusername/fit.git\n    cd fit\n    ```\n\n2. Build the project:\n    ```sh\n    cargo build --release\n    ```\n\n3. Add the `fit` executable to your PATH:\n    ```sh\n    export PATH=$PATH:/path/to/fit/target/release\n    ```\n\n## Usage\n\nHere are the commands you can use with fit:\n\n### Initialize a Repository\n\n```sh\nfit init\n```\n\n### Clone a Repository (Under Development)\n```sh\nfit clone \u003curl\u003e\n```\n### Log Commit History\n```sh\nfit log\n```\n### Add a File to the Staging Area\n```sh\nfit add \u003cfile-path\u003e\n```\n### Remove a File from the Staging Area\n```sh\nfit rm \u003cfile-path\u003e\n```\n### Commit Changes\n```sh\nfit commit -m \"Commit message\"\n```\n### View the Contents of an Object\n```sh\nfit cat-file \u003chash\u003e\n```\n### Check the Status of the Working Directory\n```sh\nfit status\n```\n### Reset to a Specific Commit\n```sh\nfit reset \u003ccommit-hash\u003e\n```\n### Viewing Diff of currently staged items and latest commit\n```sh\nfit diff\n```\n### Viewing Diff of any 2 Commits\n```sh\nfit diff commit \u003ccommit_1\u003e \u003ccommit_2\u003e\n```\n### Stashing un-commited changes for a clean work-tree\n```sh\nfit stash\n```\n### Popping last stashed content to present working directory\n```sh\nfit stash pop\n```\n## Branch Management\n\n### List All Branches\n\n```sh\nfit branch list\n```\n\n### Create a New Branch\n```sh\nfit branch create \u003cbranch_name\u003e\n```\n\n### Delete a Branch\n```sh\nfit branch delete \u003cbranch_name\u003e\n```\n\n### Checkout a Branch / Switch to a branch\n```sh\nfit branch checkout \u003cbranch_name\u003e\n```\n\n### Create and Checkout a New Branch\n```sh\nfit branch checkout-new \u003cbranch_name\u003e\n```\n\n## Example Workflow\n\n### Initialize a new repository:\n\n```sh\nfit init\n```\n### Add files to the staging area:\n\n```sh\nfit add file1.txt\nfit add file2.txt\n```\n### Commit the changes:\n\n```sh\nfit commit -m \"Initial commit\"\n```\n### Check the commit history:\n\n```sh\nfit log\n```\n### View the status of the working directory:\n\n```sh\nfit status\n```\n### Reset to a previous commit:\n\n```sh\nfit reset \u003ccommit-hash\u003e\n```\n\n## Contributing\nContributions are welcome! Feel free to submit issues, fork the repository, and open pull request","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faditya1404sal%2Ffit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faditya1404sal%2Ffit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faditya1404sal%2Ffit/lists"}