GitLite is a lightweight version control system inspired by Git. It was created to gain a deeper understanding of Git's internals and to offer a simplified alternative for basic version control operations.
Motive
The primary motive behind creating GitLite was to explore and understand the inner workings of Git. By developing this project, I aimed to demystify the complex processes involved in version control systems and to provide a clear and concise implementation of the fundamental concepts. Additionally, the fun part of this project is that while i created GitLite, I used Git to push the code to GitHub!
Usage
To start using GitLite locally, follow these steps:
1. Allow Write Operations in CLI
First, you need to allow write operations for the script. Run the following command to set the necessary permissions:
2. Initialize a Repository
3. Add Files to Staging Area
./gitLite.js add <files...>
You can also add all files (except those listed in .gitignore) by using:
4. Commit Changes
./gitLite.js commit "Your commit message"5. View Commit History
6. Check Repository Status
7. View Differences Between Commits
./gitLite.js diff <commitId>
8. Push to Remote
9. Create a New Branch
./gitLite.js branch <branchName>
10. Switch Branches
./gitLite.js checkout <branchName>
Feel free to explore GitLite and get a hands-on understanding of how version control systems work.