Welcome to our engineer blog, where we share what we’re learning day to day.
Recently, I had a chance to work with Git, so in this post, I’ll be explaining its basic concepts.
Have you ever saved multiple versions of the same file on an external hard drive or similar device, managing them by changing the filenames like this?

This kind of versioning might be enough for personal files, but when it comes to managing source code in a large-scale project, a more precise and structured system is needed. That’s where Git comes in.
What Is Git?
Git is a Version Control System (VCS). Its role is to track and manage the history of changes to files. With this tracking, you can return files to a specific past state and compare or merge changes.
In particular, for projects involving multiple people, using Git makes it possible to visualize which files were changed, when, and by whom—helping to prevent accidental overwrites or unintended edits.
What Is a Repository?
The files managed by Git are stored in a repository. Repositories are generally classified into two types: local and remote. When saving files, it’s important to be aware of which repository your changes are being applied to.
Git is a distributed VCS, meaning each developer maintains a full history of the project in their local repository. This makes it possible to edit files and review history even while offline.
Remote repositories are hosted by providers like GitHub, GitLab, or Bitbucket. (Of course, you can also create and manage your own.) Because the storage is online, it becomes easy to share work and collaborate with others.

What Is a Branch?
When adding a new feature or making changes that might affect existing code in uncertain ways, it’s risky to update the main project source directly. In such cases, you can create an independent branch. This lets you safely develop and test features without impacting the main codebase.
Once the new feature or fix is complete and has passed testing, the branch can be merged into the main project to officially apply the changes.

Stay tuned for the next post in our Engineer Blog series!