Project

Git Internals

Hard
180 completions
~ 24 hours
4.2

You will learn how Git works and try using Kotlin for binary file parsing.

Provided by

JetBrains Academy JetBrains Academy

About

Widely used in industry and education, Git is probably the most popular and convenient source control system today. You only need to know a few Git CLI commands for this project, or you can use Git with the GUI wrapper. You don’t need to know what happens under the hood of Git when everything is working as it should, but if something goes wrong it is very difficult to find a solution without knowing the underlying logic.

Graduate project icon

Graduate project

This project covers the core topics of the Kotlin 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:
Learn about other Git object types. Detect the object type for a given Git object file.
Learn about commit objects. Start writing your own Git-cat tool. Detect the object type and print out the contents of blobs and commits.
Learn about tree objects. Extend your Git-cat with trees.
Learn about branch representation. Print out the local branches list.
Print out the log for a given branch.
Print out the full file tree for a given commit.

Reviews

Vlad Biastinov
3 months ago
I have learned more about internals of git and it was a nice practice of Kotlin, thanks!
CHRISTIAN OLIVER JARAMILLO
3 months ago
What I have learned :) •Git's Content-Addressable Storage: I learned how Git stores everything as objects (blobs, trees, commits) identified by SHA-1 hashes, and how it uses zlib compression to optimize space.•Object Parsing & Serialization: I gained deep experience in parsing binary data (for ...
Nikita Bolsunovskii avatar
Nikita Bolsunovskii
8 months ago
git internals, working with different structures and streams. Very interesing. AGAIN - there's a bug in hyperskill plugin in INtelliJ. Please fix it.

4.2

Learners who completed this project within the Kotlin Developer course rated it as follows:
Usefulness
4.4
Fun
4.1
Clarity
3.9