Web Developer

|

Stockholm, Sweden

Delivering scalable solutions for
startups, enterprises, and agencies.

Don’t Be a Terminal Git: Essential Git Commands

Thu, 18th Jul 2024

If you’re a developer, mastering Git is a must. It’s the backbone of version control, enabling you to track changes, collaborate seamlessly, and roll back mistakes.

Git

Getting Started

Initialize a Repository

git init

Creates a new Git repository in your current directory. This is where your project's entire history will live—consider it the moment you crack open a fresh scrapbook.

Check Your Status

git status

Your go-to command for understanding what's happening. It shows which files are tracked, untracked, modified, or staged. Always run this when you're unsure about your project's current state.

Making Changes

Stage Your Changes

git add <filename>
# or add everything:
git add .

Prepares your changes for the next commit. Think of it as selecting which photos you want to glue into your scrapbook page.

Commit Your Changes

git commit -m "Your descriptive message"

Records your staged changes with a meaningful message. Each commit is like writing a caption that explains what you accomplished—make it count.

View Your History

git log

Displays your project's commit history. Each entry tells the story of your project's evolution, complete with timestamps and messages.

Working with Branches

Manage Branches

git branch # list branches
git branch <branch-name> # create new branch
git branch -d <branch-name> # delete branch

Branches let you work on features independently without affecting your main codebase. They're like parallel timelines for your project.

Switch Between Branches

git checkout <branch-name>
# or the newer syntax:
git switch <branch-name>

Moves you between different branches to work on various features or experiments.

Merge Branches

git merge <branch-name>

Combines changes from different branches. This is where your parallel work streams come together into a unified project.

Collaborating with Others

Clone a Repository

git clone <repository-url>

Creates a local copy of an existing remote repository. Perfect for joining existing projects or backing up your work.

Push Your Changes

git push origin <branch-name>

Uploads your local commits to a remote repository, sharing your work with teammates or backing it up online.

Pull Latest Changes

git pull

Downloads and integrates the latest changes from the remote repository. Stay in sync with your team's progress.

Advanced Operations

View Differences

git diff # changes in working directory
git diff --staged # changes ready to commit
git diff <commit1> <commit2> # compare specific commits

Shows exactly what changed between different states of your project. Essential for understanding modifications before committing.

Rebase for Clean History

git rebase <branch-name>

Reapplies your commits on top of another branch, creating a linear project history. Use this to keep your commit timeline clean and readable.

Handling Merge Conflicts When Git can't automatically merge changes, you'll need to manually resolve conflicts by editing the affected files, then:

git add <resolved-files>
git commit

Key Takeaways

Git transforms chaotic development into organized, trackable progress. These commands form the foundation of effective version control—once they become second nature, you'll wonder how you ever managed projects without them.

Start with the basics: init, add, commit, and status. As you grow comfortable, gradually incorporate branching, merging, and collaboration commands. Remember, every expert was once a beginner who kept practicing these fundamentals.

The real power of Git isn't just in tracking changes—it's in the confidence it gives you to experiment, collaborate, and build amazing things knowing your work is always safe and recoverable.

Web Developer
Harry Yates 2025®