Today's Workshop Mission
- +Click the Star button on our repository to support us, then click Fork to generate a separate copy of this project directly on your GitHub profile.
+Click the Star button on our repository to + support us, then click Fork to generate a separate copy of this project + directly on your GitHub profile.
Open your terminal and clone down your unique forked copy to your local machine using the command below:
+Open your terminal and clone down your unique forked copy to your + local machine using the command below:
git clone https://github.com/YOUR-USERNAME/repo-name.git
- Open the folder in VS Code (`code .`). Locate the <!-- EDIT ME --> tag and append your structured profile badge block right into the list.
Open the folder in VS Code (`code .`). Locate the
+ <!-- EDIT ME --> tag and append your structured profile badge block right
+ into the list.
Stage your changes, commit them locally, and push them back out up to your remote profile. Finally, initiate a live Pull Request back to us!
+Stage your changes, commit them locally, and push them back out up + to your remote profile. Finally, initiate a live Pull Request back to us!
Open the .html file, edit the syntax profile badge below, and push it to your fork.
-
-
+
+
Mimansh Pokhrel Neupane
Roll: 04 (CS-2nd Yr)
- KUCC Exec
+ KUCC
+ Exec
-
+
- [Your Name]
- Roll: 2 (CE-1st Yr)
+ Adhish Dhakal
+ Roll: 10 (CE-1st Yr)
- Contributor
+ Contributor
-
+
-
+
Real-World Git Command Library
- Categorized reference manual for everyday local and cloud development workflows.
+ Categorized reference manual for everyday local and cloud development
+ workflows.
-
-
+
+
1. Configuration & Setup
- Commands to set up your identity, start local repositories, and connect to remote servers like GitHub.
-
+ Commands to set up your identity, start local repositories, and
+ connect to remote servers like GitHub.
+
- git config --global user.name "Your Name"
-
+ git config --global user.name "Your Name"
+
- Sets your name globally for all future commit snapshots.
+ Sets your name globally for all future
+ commit snapshots.
- git config --global user.email "you@example.com"
-
+ git config --global user.email "you@example.com"
+
- Configures your email address associated with your Git commits.
+ Configures your email address associated
+ with your Git commits.
- git init
-
+ git init
+
- Initializes a brand-new, empty Git repository in the current directory.
+ Initializes a brand-new, empty Git
+ repository in the current directory.
- git clone <repo-url>
-
+ git clone <repo-url>
+
- Clones an existing remote repository onto your local system.
+ Clones an existing remote repository
+ onto your local system.
- git remote add origin <repo-url>
-
+ git remote add origin <repo-url>
+
- Links your local workspace to a newly created remote URL destination.
+ Links your local workspace to a newly
+ created remote URL destination.
- git remote set-url origin <repo-url>
-
+ git remote set-url origin <repo-url>
+
- Changes/updates the URL destination of an existing remote target.
+ Changes/updates the URL destination of
+ an existing remote target.
-
+
2. The Daily Code Pipeline
- The essential everyday workflow cycle to stage, inspect, commit, and share updates.
-
+ The essential everyday workflow cycle to stage, inspect, commit,
+ and share updates.
+
- git status
-
+ git status
+
- Checks which files are modified, untracked, or staged.
+ Checks which files are modified,
+ untracked, or staged.
- git add <file-name>
-
+ git add <file-name>
+
- Stages a specific file ready to be committed next.
+ Stages a specific file ready to be
+ committed next.
- git add .
-
+ git add .
+
- Stages *all* modified, deleted, and new files in the repo.
+ Stages *all* modified, deleted, and new
+ files in the repo.
- git commit -m "feat: core tracking"
-
+ git commit -m "feat: core tracking"
+
- Saves your staged modifications as a historical checkpoint.
+ Saves your staged modifications as a
+ historical checkpoint.
- git push -u origin <branch-name>
-
+ git push -u origin <branch-name>
+
- Uploads local commits to a remote branch, setting upstream flags.
+ Uploads local commits to a remote
+ branch, setting upstream flags.
- git pull
-
+ git pull
+
- Fetches remote adjustments and merges them automatically into your workspace.
+ Fetches remote adjustments and merges
+ them automatically into your workspace.
-
+
3. Branch Management
- Essential for production-level development to securely isolate feature releases and merges.
-
+ Essential for production-level development to securely isolate
+ feature releases and merges.
+
- git checkout -b <branch-name>
-
+ git checkout -b <branch-name>
+
- Creates a new feature branch and jumps directly into it.
+ Creates a new feature branch and jumps
+ directly into it.
- git checkout <branch-name>
-
+ git checkout <branch-name>
+
- Switches between active branches in the repository workspace.
+ Switches between active branches in the
+ repository workspace.
- git switch <branch-name>
-
+ git switch <branch-name>
+
- Modern, safer alternative to switch branches cleanly.
+ Modern, safer alternative to switch
+ branches cleanly.
- git branch -a
-
+ git branch -a
+
- Lists all local and remote branches tracked in your repository.
+ Lists all local and remote branches
+ tracked in your repository.
- git merge <branch-name>
-
+ git merge <branch-name>
+
- Integrates history from target branch into the active branch.
+ Integrates history from target branch
+ into the active branch.
- git branch -d <branch-name>
-
+ git branch -d <branch-name>
+
- Safely deletes a local branch that is already merged into primary history.
+ Safely deletes a local branch that is
+ already merged into primary history.
-
+
4. The Git Stash (Save State)
- Temporarily save local progress without committing, letting you switch context in a clean working tree.
-
+ Temporarily save local progress without committing, letting you
+ switch context in a clean working tree.
+
- git stash
-
+ git stash
+
- Temporarily shelves all current uncommitted adjustments to a clean slate.
+ Temporarily shelves all current
+ uncommitted adjustments to a clean slate.
- git stash list
-
+ git stash list
+
- Lists your historically stored stashes in descending order.
+ Lists your historically stored stashes
+ in descending order.
- git stash pop
-
+ git stash pop
+
- Pulls the latest stashed files back into the working directory and clears the stash entry.
+ Pulls the latest stashed files back into
+ the working directory and clears the stash entry.
- git stash apply
-
+ git stash apply
+
- Applies stashed modifications back into workspace but retains it inside the stash store.
+ Applies stashed modifications back into
+ workspace but retains it inside the stash store.
-
+
5. Inspecting Project History
- Browse commits, identify changes, track codebase authorship, and diagnose system changes.
-
+ Browse commits, identify changes, track codebase authorship, and
+ diagnose system changes.
+
- git log --oneline --graph --all
-
+ git log --oneline --graph --all
+
- Displays a beautiful, scannable ASCII tree layout of all history.
+ Displays a beautiful, scannable ASCII
+ tree layout of all history.
- git diff
-
+ git diff
+
- Shows unstaged changes between your current files and the last commit.
+ Shows unstaged changes between your
+ current files and the last commit.
- git diff --staged
-
+ git diff --staged
+
- Highlights diffs between staged modifications and your last commit.
+ Highlights diffs between staged
+ modifications and your last commit.
- git blame <file-name>
-
+ git blame <file-name>
+
- Shows authors and commit stamps for every single line inside a file.
+ Shows authors and commit stamps for
+ every single line inside a file.
-
+
6. The Panic Buttons (Undo)
- Mistakes happen. These commands let you safely discard, revert, or overwrite faulty commits and states.
-
+ Mistakes happen. These commands let you safely discard, revert, or
+ overwrite faulty commits and states.
+
- git checkout -- <file-name>
-
+ git checkout -- <file-name>
+
- Discards local uncommitted updates in a target file to match the last commit.
+ Discards local uncommitted updates in a
+ target file to match the last commit.
- git restore <file-name>
-
+ git restore <file-name>
+
- Modern, safer standard to revert uncommitted local modifications.
+ Modern, safer standard to revert
+ uncommitted local modifications.
- git reset HEAD <file-name>
-
+ git reset HEAD <file-name>
+
- Removes a specific file from staging area, retaining physical contents.
+ Removes a specific file from staging
+ area, retaining physical contents.
- git commit --amend -m "new message"
-
+ git commit --amend -m "new message"
+
- Overwrites the latest commit description message or appends staged changes.
+ Overwrites the latest commit description
+ message or appends staged changes.
- git reset --hard HEAD~1
-
+ git reset --hard HEAD~1
+
- Nukes the absolute latest local commit completely out of existence. Use with caution!
+ Nukes the absolute latest local commit
+ completely out of existence. Use with caution!
- git revert <commit-hash>
-
+ git revert <commit-hash>
+
- Creates a new commit reversing all changes made in specified historical commit.
+ Creates a new commit reversing all
+ changes made in specified historical commit.
@@ -459,54 +641,74 @@
-
+
Connecting Your GitHub Account
- Essential initial setup steps to securely authenticate your local Git commands with GitHub.
+ Essential initial setup steps to securely authenticate your local Git
+ commands with GitHub.
- METHOD A
+ METHOD
+ A
SSH Key Authentication (Highly Recommended)
- Secure, password-less authentication using public/private keypairs. Excellent for long-term coding.
-
+ Secure, password-less authentication using public/private keypairs.
+ Excellent for long-term coding.
+
-
1. Generate a new SSH Keypair:
-
Open your terminal and execute the command below (press Enter to accept default storage paths):
+ Open your terminal and execute the command below (press Enter to
+ accept default storage paths):
- ssh-keygen -t ed25519 -C "your.email@example.com"
-
+ ssh-keygen -t ed25519 -C "your.email@example.com"
+
-
2. Copy your public SSH Key:
-
Read and copy the generated public key text block to your clipboard:
+ Read and copy the generated public key text block to your clipboard:
+
- cat ~/.ssh/id_ed25519.pub
-
+ cat ~/.ssh/id_ed25519.pub
+
-
3. Add the Key to GitHub:
-
Go to GitHub.com → click your Profile Photo → Settings → SSH and GPG keys → click New SSH Key → paste the copied block and save.
+ Go to GitHub.com → click your Profile Photo → Settings → SSH and GPG
+ keys → click New SSH Key → paste the copied
+ block and save.
-
4. Verify the SSH Connection:
-
Run this to test the handshake (type yes if prompted):
+ Run this to test the handshake (type yes if prompted):
- ssh -T git@github.com
-
+ ssh -T git@github.com
+
@@ -515,39 +717,53 @@ SSH Key Authentication (Highly Recommen
-
+
- METHOD B
+ METHOD
+ B
HTTPS with Personal Access Token (PAT)
- Authenticate requests via secure API tokens. Perfect if you prefer standard HTTPS URLs.
-
+ Authenticate requests via secure API tokens. Perfect if you prefer
+ standard HTTPS URLs.
+
-
1. Generate your Token on GitHub:
-
Go to GitHub.com → Settings → Developer Settings → Personal Access Tokens → Tokens (classic).
+ Go to GitHub.com → Settings →
+ Developer Settings → Personal
+ Access Tokens → Tokens (classic).
-
2. Set Permissions & Scope:
-
Click Generate new token (classic), set a description, choose an expiration date, check the box for repo access, and generate.
+ Click Generate new token
+ (classic), set a description, choose an expiration date, check the box for
+ repo access, and generate.
-
3. Copy & Secure Token:
-
Copy the token immediately. Warning: GitHub will not show it again! Save it somewhere safe.
+ Copy the token immediately. Warning: GitHub will not show it again! Save
+ it somewhere safe.
-
4. Authenticate in Terminal:
-
The next time you execute a command (like `git push`) and Git prompts you for your GitHub Password, paste this Token instead of your normal account password.
+ The next time you execute a command (like `git push`) and Git prompts
+ you for your GitHub Password, paste this Token instead
+ of your normal account password.
-
+
+ Abhi Devkota
+ Roll: 8 (CE-1st Yr)
+
+ Contributor
+
+
+
[Your Name]
Roll: 2 (CE-1st Yr)
From 50ce29b1fda1d75de40771ff5580f768809fc092 Mon Sep 17 00:00:00 2001
From: Shashwot Karki
Date: Mon, 1 Jun 2026 14:17:59 +0545
Subject: [PATCH 3/4] refactor:updated name and roll
---
index.html | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/index.html b/index.html
index 6148d23..ed1a062 100644
--- a/index.html
+++ b/index.html
@@ -134,8 +134,8 @@ Mimansh Pokhrel Neupane
- [Your Name]
- Roll: 2 (CE-1st Yr)
+ Shashwot Karki
+ Roll: 36 (CE-1st Yr 2nd semester)
Contributor
From 1e74d01090ec6ffa4376bab03ee66729fd74c76d Mon Sep 17 00:00:00 2001
From: parnish007
Date: Tue, 2 Jun 2026 13:54:49 +0545
Subject: [PATCH 4/4] feat: bug fixes and name added
---
git_github_masterclass_unified.html | 64 ++++++--
index.html | 225 ++++++++++++++++++----------
2 files changed, 193 insertions(+), 96 deletions(-)
diff --git a/git_github_masterclass_unified.html b/git_github_masterclass_unified.html
index 8da5ad0..ef11c6a 100644
--- a/git_github_masterclass_unified.html
+++ b/git_github_masterclass_unified.html
@@ -52,9 +52,15 @@
z-index: 10;
}
- /* Abstract Tech Background for Slide 1 */
+ /* Abstract Tech Background for Slide 1.
+ A layered radial-gradient sits under the hotlinked image so the slide
+ still looks intentional if the external asset fails to load. */
.bg-neural-network {
- background-image: url('https://png.pngtree.com/thumb_back/fw800/background/20251117/pngtree-abstract-network-of-glowing-neural-pathways-against-a-dark-blue-background-image_20333105.webp');
+ background-color: #0b1220;
+ background-image:
+ radial-gradient(circle at 20% 25%, rgba(56, 189, 248, 0.18), transparent 45%),
+ radial-gradient(circle at 80% 75%, rgba(129, 140, 248, 0.18), transparent 45%),
+ url('https://png.pngtree.com/thumb_back/fw800/background/20251117/pngtree-abstract-network-of-glowing-neural-pathways-against-a-dark-blue-background-image_20333105.webp');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
@@ -89,6 +95,20 @@
background: rgba(255,255,255,0.2);
}
+ /* Visible keyboard focus rings for accessibility */
+ .control-btn:focus-visible,
+ a:focus-visible {
+ outline: 2px solid #38bdf8;
+ outline-offset: 2px;
+ }
+
+ /* Honour users who prefer reduced motion */
+ @media (prefers-reduced-motion: reduce) {
+ .slide {
+ transition: opacity 0.01ms;
+ }
+ }
+
#progress-bar {
position: fixed;
bottom: 0;
@@ -317,8 +337,8 @@ Git vs. GitHub
Feature
- Git (The Tool)
- GitHub (The Service)
+ Git (The Tool)
+ GitHub (The Service)
@@ -832,7 +852,7 @@ Fork
3
Edit
- Open the filw, locate the EDIT ME line, and append your name to the file list.
+ Open the file, locate the EDIT ME line, and append your name to the file list.
@@ -870,11 +890,11 @@ Slide 1 of 18
+ Slide 1 of 18
-
-
+
+
@@ -885,19 +905,27 @@ {
if (e.key === 'ArrowRight' || e.key === ' ') {
+ e.preventDefault(); // stop Space from scrolling the page
nextSlide();
} else if (e.key === 'ArrowLeft') {
+ e.preventDefault();
prevSlide();
+ } else if (e.key === 'Home') {
+ e.preventDefault();
+ currentSlide = 0;
+ updateSlides();
+ } else if (e.key === 'End') {
+ e.preventDefault();
+ currentSlide = slides.length - 1;
+ updateSlides();
}
});
diff --git a/index.html b/index.html
index cfa7059..c1e4df1 100644
--- a/index.html
+++ b/index.html
@@ -24,22 +24,71 @@
}
}
+ function showCopied(buttonElement) {
+ const icon = buttonElement.querySelector('i');
+ if (!icon) return;
+ const originalClass = icon.className;
+ icon.className = 'fa-solid fa-check text-emerald-400';
+ setTimeout(() => {
+ icon.className = originalClass;
+ }, 1500);
+ }
+
+ // Fallback for insecure contexts (e.g. opening this file via file://),
+ // where the async Clipboard API is unavailable.
+ function legacyCopy(text) {
+ const textarea = document.createElement('textarea');
+ textarea.value = text;
+ textarea.style.position = 'fixed';
+ textarea.style.opacity = '0';
+ document.body.appendChild(textarea);
+ textarea.select();
+ let ok = false;
+ try {
+ ok = document.execCommand('copy');
+ } catch (err) {
+ ok = false;
+ }
+ document.body.removeChild(textarea);
+ return ok;
+ }
+
function copyToClipboard(text, buttonElement) {
- navigator.clipboard.writeText(text.trim()).then(() => {
- const icon = buttonElement.querySelector('i');
- const originalClass = icon.className;
- icon.className = 'fa-solid fa-check text-emerald-400';
-
- setTimeout(() => {
- icon.className = originalClass;
- }, 1500);
- }).catch(err => {
- console.error('Failed to copy text: ', err);
- });
+ const value = text.trim();
+ if (navigator.clipboard && window.isSecureContext) {
+ navigator.clipboard.writeText(value)
+ .then(() => showCopied(buttonElement))
+ .catch(() => {
+ if (legacyCopy(value)) showCopied(buttonElement);
+ });
+ } else if (legacyCopy(value)) {
+ showCopied(buttonElement);
+ }
}
Mimansh Pokhrel Neupane
Roll: 04 (CS-2nd Yr)[Your Name]
- Roll: 2 (CE-1st Yr) +Adhish Dhakal
+ Roll: 10 (CE-1st Yr)Real-World Git Command Library
-Categorized reference manual for everyday local and cloud development workflows.
+Categorized reference manual for everyday local and cloud development + workflows.
Commands to set up your identity, start local repositories, and connect to remote servers like GitHub.
- +Commands to set up your identity, start local repositories, and + connect to remote servers like GitHub.
+git config --global user.name "Your Name"
- git config --global user.name "Your Name"
+ git config --global user.email "you@example.com"
- git config --global user.email "you@example.com"
+ git init
- git init
+ git clone <repo-url>
- git clone <repo-url>
+ git remote add origin <repo-url>
- git remote add origin <repo-url>
+ git remote set-url origin <repo-url>
- git remote set-url origin <repo-url>
+ The essential everyday workflow cycle to stage, inspect, commit, and share updates.
- +The essential everyday workflow cycle to stage, inspect, commit, + and share updates.
+git status
- git status
+ git add <file-name>
- git add <file-name>
+ git add .
- git add .
+ git commit -m "feat: core tracking"
- git commit -m "feat: core tracking"
+ git push -u origin <branch-name>
- git push -u origin <branch-name>
+ git pull
- git pull
+ Essential for production-level development to securely isolate feature releases and merges.
- +Essential for production-level development to securely isolate + feature releases and merges.
+git checkout -b <branch-name>
- git checkout -b <branch-name>
+ git checkout <branch-name>
- git checkout <branch-name>
+ git switch <branch-name>
- git switch <branch-name>
+ git branch -a
- git branch -a
+ git merge <branch-name>
- git merge <branch-name>
+ git branch -d <branch-name>
- git branch -d <branch-name>
+ Temporarily save local progress without committing, letting you switch context in a clean working tree.
- +Temporarily save local progress without committing, letting you + switch context in a clean working tree.
+git stash
- git stash
+ git stash list
- git stash list
+ git stash pop
- git stash pop
+ git stash apply
- git stash apply
+ Browse commits, identify changes, track codebase authorship, and diagnose system changes.
- +Browse commits, identify changes, track codebase authorship, and + diagnose system changes.
+git log --oneline --graph --all
- git log --oneline --graph --all
+ git diff
- git diff
+ git diff --staged
- git diff --staged
+ git blame <file-name>
- git blame <file-name>
+ Mistakes happen. These commands let you safely discard, revert, or overwrite faulty commits and states.
- +Mistakes happen. These commands let you safely discard, revert, or + overwrite faulty commits and states.
+git checkout -- <file-name>
- git checkout -- <file-name>
+ git restore <file-name>
- git restore <file-name>
+ git reset HEAD <file-name>
- git reset HEAD <file-name>
+ git commit --amend -m "new message"
- git commit --amend -m "new message"
+ git reset --hard HEAD~1
- git reset --hard HEAD~1
+ git revert <commit-hash>
- git revert <commit-hash>
+ Connecting Your GitHub Account
-Essential initial setup steps to securely authenticate your local Git commands with GitHub.
+Essential initial setup steps to securely authenticate your local Git + commands with GitHub.
SSH Key Authentication (Highly Recommended)
Secure, password-less authentication using public/private keypairs. Excellent for long-term coding.
- +Secure, password-less authentication using public/private keypairs. + Excellent for long-term coding.
+-
1. Generate a new SSH Keypair:
-
Open your terminal and execute the command below (press Enter to accept default storage paths):
+Open your terminal and execute the command below (press Enter to + accept default storage paths):
-ssh-keygen -t ed25519 -C "your.email@example.com"-+ ssh-keygen -t ed25519 -C "your.email@example.com"+ -
2. Copy your public SSH Key:
-
Read and copy the generated public key text block to your clipboard:
+Read and copy the generated public key text block to your clipboard: +
-cat ~/.ssh/id_ed25519.pub-+ cat ~/.ssh/id_ed25519.pub+ -
3. Add the Key to GitHub:
-
Go to GitHub.com → click your Profile Photo → Settings → SSH and GPG keys → click New SSH Key → paste the copied block and save.
+Go to GitHub.com → click your Profile Photo → Settings → SSH and GPG + keys → click New SSH Key → paste the copied + block and save.
-
4. Verify the SSH Connection:
-
Run this to test the handshake (type yes if prompted):
+Run this to test the handshake (type yes if prompted):
-@@ -515,39 +717,53 @@ssh -T git@github.com-+ ssh -T git@github.com+SSH Key Authentication (Highly Recommen
HTTPS with Personal Access Token (PAT)
Authenticate requests via secure API tokens. Perfect if you prefer standard HTTPS URLs.
- +Authenticate requests via secure API tokens. Perfect if you prefer + standard HTTPS URLs.
+-
1. Generate your Token on GitHub:
-
Go to GitHub.com → Settings → Developer Settings → Personal Access Tokens → Tokens (classic).
+Go to GitHub.com → Settings → + Developer Settings → Personal + Access Tokens → Tokens (classic).
-
2. Set Permissions & Scope:
-
Click Generate new token (classic), set a description, choose an expiration date, check the box for repo access, and generate.
+Click Generate new token + (classic), set a description, choose an expiration date, check the box for + repo access, and generate.
-
3. Copy & Secure Token:
-
Copy the token immediately. Warning: GitHub will not show it again! Save it somewhere safe.
+Copy the token immediately. Warning: GitHub will not show it again! Save + it somewhere safe.
-
4. Authenticate in Terminal:
-
The next time you execute a command (like `git push`) and Git prompts you for your GitHub Password, paste this Token instead of your normal account password.
+The next time you execute a command (like `git push`) and Git prompts + you for your GitHub Password, paste this Token instead + of your normal account password.
Abhi Devkota
+ Roll: 8 (CE-1st Yr) +[Your Name]
Roll: 2 (CE-1st Yr) From 50ce29b1fda1d75de40771ff5580f768809fc092 Mon Sep 17 00:00:00 2001 From: Shashwot KarkiMimansh Pokhrel Neupane
[Your Name]
- Roll: 2 (CE-1st Yr) +Shashwot Karki
+ Roll: 36 (CE-1st Yr 2nd semester)Git vs. GitHub
Fork
Edit
-Open the filw, locate the EDIT ME line, and append your name to the file list.
Open the file, locate the EDIT ME line, and append your name to the file list.