Project

Version Control System (Go)

Challenging
57 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

Alexandr Primak
3 months ago
I refreshed my knowledge about working with files in go, and made my own micro vcs.
Sergei Gusev avatar
Sergei Gusev
8 months 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 ...
EVGENII MORGUNOV avatar
EVGENII MORGUNOV
9 months ago
I have learned how to implement a basic version control system in Go, including handling commands for configuration, adding files, committing changes, logging commits, and checking out specific commits. I also gained experience in file I/O operations, error handling, and working with directories and ...

4.4

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