Project

Version Control System (Go)

Challenging
77 completions
~ 13 hours
4.4

Use your knowledge of functions, files, exceptions, and hash handling to develop a CLI application that can track file changes.

Provided by

JetBrains Academy JetBrains Academy

About

The ability to roll back to the previous versions is crucial for software development. In this project, you will get acquainted with the idea of version control and write a simple version control system in Go.

Graduate project icon

Graduate project

This project covers the core topics of the Go Developer course, making it sufficiently challenging to be a proud addition to your portfolio.

At least one graduate project is required to complete the course.

What you'll learn

Once you choose a project, we'll provide you with a study plan that includes all the necessary topics from your course to get it built. Here’s what awaits you:
Add first commands to your VCS that will allow you to add new files.
Continue implementing new commands to save file changes and log the results.
Add the last command to switch between commits and retrieve the file contents.

Reviews

Elbek Bozorov avatar
Elbek Bozorov
8 months ago
This project was a great exercise in building a mini version control system. I learned how to manage files and directories programmatically
Alexandr Primak
12 months ago
I refreshed my knowledge about working with files in go, and made my own micro vcs.
Sergei Gusev avatar
Sergei Gusev
1 year ago
I learned how to create a simple version control system (VCS) in Go. I implemented core VCS commands like config (setting username), add (tracking files), commit (saving changes with a message), log (viewing commit history), and checkout (restoring files from a commit). I worked with file operations ...

4.4

Learners who completed this project within the Go Developer course rated it as follows:
Usefulness
4.7
Fun
4.4
Clarity
4.3