My Journey at LuxDevHQ: Version Control (The Basics)
Source: Dev.to
Introduction
In a previous post we set up a Windows virtual machine using VirtualBox, preparing us to start data‑science projects.
Data science, like most tech fields, ultimately revolves around code and data files. This raises several questions:
- How do we store them?
- How do we track changes?
- How can we access them from different machines?
- How can we share them with collaborators?
Version control answers all of these.
Version Control / Source Control
Version Control – “the practice of tracking and managing changes to software code.”1
It is a mechanism for keeping a history of changes made to computer files—especially source‑code files—allowing you to view old versions and, if needed, revert to a previous state.
Early attempts at collaboration relied on pendrives, email attachments, and shared folders. Those methods were clunky:
- No built‑in way to identify who made which changes and when.
- Naming conventions like
project,project1,project‑latestproliferated. - Accidental overwrites were common, often resulting in lost work.
These pain points led to the rise of Version Control Systems (VCS)—software tools that automatically track and manage changes to files.
Benefits
- Automated history – every update to the codebase is recorded.
- Safe collaboration – work together without fearing permanent overwrites.
- Easy rollback – revert individual files or the entire project to a prior state.
- Structured audit trail – a clear, chronological view of the project’s evolution.
Popular VCS tools
The most widely used—and the focus of this article and of LuxDevHQ—is Git (git‑scm.com).
Git
Git is a lightning‑fast, free, and open‑source distributed version‑control system designed to handle everything from small to very large projects with speed and efficiency.2 It was originally created by Linus Torvalds—the creator of Linux—as version control for the Linux kernel. Today, over 93 % of developers worldwide use Git1. It runs on all major operating systems and can be used inside containers such as Docker.
Installation
General installation instructions are available on the official site: .
Windows
-
Visit the Windows installer page: .
-
Download the latest installer (e.g.,
Git-2.52.0-64-bit.exe):
-
Run the installer, accept the UAC prompt, and follow the Git Setup Wizard.
The default options work for most users; you can adjust any setting you prefer. -
When the installation finishes, keep Launch Git Bash checked, uncheck View Release Notes, and click Finish.

Initial Setup
Configure your identity globally (these values can be overridden per‑repository).
# Set your name
git config --global user.name "Your Name"
# Set your email address
git config --global user.email "you@example.com"
Verify the settings:
git config --list
Creating a Repository
-
Create a project folder
mkdir -p test-project cd test-project -
Add a README
touch README.md echo "This is a test project showing how to set up a Git repository." >> README.mdVerify its contents:
cat README.md -
Add a sample Python script
touch test.py && echo "print('Hello, World')" >> test.py -
Check the directory contents
ls .You should see
README.mdandtest.py. -
Initialize the repository
git init -
Stage the files
git add . -
Commit with a message
git commit -m "Initial commit"
Your local repository is now ready to be pushed to a remote service (GitHub, GitLab, Bitbucket, etc.).
References
Footnotes
-
Definition adapted from various software engineering sources. ↩ ↩2
-
Git. (2026‑01‑18). Git. https://git-scm.com ↩
