Skip to content

Lesson 02 — GitHub

Git allows you to track changes locally on your computer.

But what happens when:

  • You want to work from another computer?
  • Your laptop crashes?
  • Your team needs access to your project?
  • You want to contribute to open-source software?
  • You need automated CI/CD pipelines?

This is where GitHub comes in.

GitHub is the world’s largest platform for hosting Git repositories and collaborating on software projects.

Millions of developers, Cloud Engineers, DevOps Engineers, Security Engineers, AI Engineers, and organizations use GitHub every day to build, review, secure, and deploy software.

Throughout your GoHackersCloud Academy journey, GitHub will become your primary platform for managing code, documentation, labs, Infrastructure as Code, and automation projects.


After completing this lesson, you will be able to:

  • Understand GitHub and its purpose.
  • Create GitHub repositories.
  • Connect local Git repositories to GitHub.
  • Push and pull code.
  • Clone repositories.
  • Understand branches.
  • Work with Pull Requests.
  • Use Issues.
  • Understand GitHub collaboration.
  • Apply GitHub in enterprise DevOps workflows.

GitHub is a cloud-based platform that hosts Git repositories.

It provides:

  • Remote code storage
  • Collaboration
  • Version control
  • Code reviews
  • CI/CD integration
  • Security scanning
  • Documentation
  • Project management

Think of GitHub as the online home for your Git repositories.


Many beginners confuse Git and GitHub.

Git GitHub
Version Control System Cloud Hosting Platform
Installed on your computer Web application
Tracks changes Stores repositories online
Works offline Requires internet for synchronization
Developed by Linus Torvalds Owned by Microsoft

Git is the tool.

GitHub is the collaboration platform.


GitHub enables developers to:

  • Backup projects
  • Collaborate globally
  • Review code
  • Track issues
  • Automate deployments
  • Share open-source projects
  • Build professional portfolios

Most enterprise software development relies on GitHub or similar platforms.


Developer
Local Git Repository
GitHub Repository
Team Collaboration
Deployment

GitHub acts as the central collaboration platform.


Visit:

https://github.com

Create a free account.

Choose:

  • Username
  • Email Address
  • Password

Verify your email address.

Once registered, you’re ready to create repositories.


Select:

New Repository

Enter:

  • Repository Name
  • Description
  • Public or Private
  • README
  • License (Optional)

Click:

Create Repository

GitHub creates an empty remote repository.


Example:

GoHackersCloud-Labs/
├── README.md
├── docs/
├── src/
├── scripts/
├── .gitignore
└── LICENSE

A well-organized repository is easier to maintain and collaborate on.


Download a repository to your computer.

Terminal window
git clone https://github.com/user/project.git

Git downloads:

  • Files
  • Commit history
  • Branches

You now have a complete local copy.


After creating a local repository:

Terminal window
git remote add origin https://github.com/user/project.git

Verify:

Terminal window
git remote -v

Git now knows where the remote repository is located.


Upload local commits to GitHub.

Terminal window
git push origin main

Workflow:

Local Repository
GitHub Repository

Your project is now backed up online.


Download updates from GitHub.

Terminal window
git pull origin main

Workflow:

GitHub
Local Computer

Always pull the latest changes before starting work.


Fetch

Terminal window
git fetch

Downloads changes but does not merge them.


Pull

Terminal window
git pull

Downloads and merges changes automatically.


A branch allows independent development.

Example:

main
|
|--- feature-login
|
|--- feature-dashboard
|
|--- bugfix-authentication

Branches isolate work until it is ready.


Terminal window
git branch feature-login

Switch:

Terminal window
git checkout feature-login

Or:

Terminal window
git switch feature-login

Once work is complete:

Terminal window
git checkout main
git merge feature-login

The feature becomes part of the main project.


A Pull Request (PR) requests that changes from one branch be merged into another.

Typical workflow:

Developer
Feature Branch
Pull Request
Code Review
Approval
Merge

Pull Requests improve code quality and collaboration.


Before merging code, teammates review:

  • Logic
  • Security
  • Style
  • Documentation
  • Performance

Code reviews reduce bugs and improve maintainability.


Issues help teams manage work.

Example:

Bug Report
Feature Request
Documentation Update
Security Issue

Each issue can be assigned, prioritized, and tracked.


GitHub labels organize issues.

Examples:

  • Bug
  • Enhancement
  • Documentation
  • Security
  • Help Wanted

Labels improve project management.


Milestones group issues into releases.

Example:

Version 1.0
20 Issues
Release

Milestones help teams plan development.


Every repository should include a README.

Typical contents:

  • Project Overview
  • Installation
  • Usage
  • Screenshots
  • Documentation
  • Contributing
  • License

The README is often the first thing users read.


Ignore unnecessary files.

Example:

venv/
__pycache__/
*.log
.env
node_modules/

Never commit temporary files or secrets.


Cloud Engineers use GitHub to manage:

  • Terraform
  • CloudFormation
  • Kubernetes YAML
  • AWS Lambda
  • Infrastructure Scripts
  • Cloud Documentation

Infrastructure becomes version-controlled and auditable.


DevOps Engineers store:

  • CI/CD Pipelines
  • Dockerfiles
  • Kubernetes Manifests
  • Deployment Scripts
  • Configuration Files

GitHub integrates directly with automation platforms.


Security teams manage:

  • Detection Rules
  • Threat Hunting Scripts
  • Incident Response Playbooks
  • Security Automation
  • Compliance Documentation

GitHub provides version history and collaboration.


AI Engineers use GitHub for:

  • Python Projects
  • Machine Learning Models
  • Jupyter Notebooks
  • Experiment Tracking
  • Documentation

GitHub simplifies collaboration on AI projects.


GitHub includes built-in automation called GitHub Actions.

Examples:

  • Run tests
  • Build applications
  • Deploy infrastructure
  • Scan security vulnerabilities

You’ll explore CI/CD in later lessons.


Feature Purpose
Repository Store projects
Branch Isolate development
Pull Request Review and merge code
Issues Track work
Wiki Documentation
Releases Publish software versions
Actions CI/CD Automation
Security Dependency & code scanning

Avoid these mistakes:

  • Pushing directly to main.
  • Forgetting to pull before pushing.
  • Committing sensitive information.
  • Ignoring .gitignore.
  • Creating unclear repository names.
  • Writing poor commit messages.

Following GitHub best practices improves collaboration and security.


Professional teams:

  • Protect the main branch.
  • Use feature branches.
  • Require Pull Requests.
  • Review all code.
  • Enable branch protection.
  • Automate testing with GitHub Actions.
  • Store secrets securely.
  • Keep documentation up to date.

These practices improve software quality and team productivity.


A DevOps Engineer updates a Kubernetes deployment.

Workflow:

Modify YAML
Commit Changes
Push to GitHub
Create Pull Request
Team Review
Merge
CI/CD Pipeline Deploys
Production Updated

GitHub becomes the central platform for collaboration and deployment.


After completing this lesson, you should understand:

  • GitHub
  • Remote repositories
  • Clone
  • Push
  • Pull
  • Fetch
  • Branches
  • Pull Requests
  • Issues
  • Repository management
  • GitHub collaboration

GitHub extends the power of Git by providing a secure, cloud-based collaboration platform for developers and IT professionals.

By hosting repositories, enabling collaboration, integrating automation, and supporting enterprise workflows, GitHub has become an essential platform for modern Cloud Computing, DevOps, Artificial Intelligence, and Cybersecurity.

Mastering GitHub prepares you to work effectively in professional software development teams and contribute to enterprise and open-source projects.


➡️ Lesson 03 — Markdown

In the next lesson, you’ll learn Markdown, the lightweight markup language used to create professional documentation on GitHub. You’ll write README files, project documentation, technical guides, and knowledge bases—the same format used throughout GoHackersCloud Academy and most modern software projects.