Master technical and career interviews with structured answers—short definition, real examples, pitfalls, and how to answer in 60–90 seconds.
Answer: Create a branch to restore it: git checkout -b recovery-branch <commit-hash> What interviewers expect A clear definition tied to Version Control in Git & GitHub projects Trade-offs (performance,…
If you deleted a branch accidentally but haven’t run garbage collection yet, it can be recovered using the commit log. Steps: Find the last commit of that branch: git reflog Example output: bc1234 refs/heads/feature/logi…
Answer: <<<<<<< HEAD Your changes ======= Incoming changes >>>>>>> main What interviewers expect A clear definition tied t…
Large binary files (like images, videos, or data models) bloat Git repositories since Git stores every version. To handle them efficiently, I use Git LFS (Large File Storage). Setup: git lfs install git lfs track "*.psd"…
If a commit has been pushed to a shared branch, the safest way is to revert it — not remove it. git revert <commit-hash> This creates a new commit that undoes the changes from the old one, without rewriting history…
Answer: You deleted feature/payment after merging, but QA needs it again — you can restore it from git reflog. What interviewers expect A clear definition tied to Version Control in Git & GitHub projects Trade-offs (…
You can create and switch to a new branch using: git checkout -b feature/login-page This creates a branch named feature/login-page and switches you to it immediately. lternatively, you can do it in two steps: git branch…
Answer: A system where every developer has a full copy of the repository, including its entire history, allowing for offline work and decentralized collaboration. What interviewers expect A clear definition tied to Versi…
Answer: Signed commits ensure authenticity — they’re cryptographically verified with a GPG or SSH key, proving the commit really came from you and wasn’t tampered with. Setup: Generate a GPG key: gpg --full-generate-key…
Both commands integrate changes from one branch into another, but they work differently: git merge combines the histories of two branches, creating a new “merge commit.” git rebase rewrites history by placing your branch…
rea, Repository) Working Directory: This is where you make changes to the files. It's your local workspace where you're actively editing code. Staging Area (Index): This is like a holding area where you prepare files bef…
next commit), Local Repository (committed files). What interviewers expect A clear definition tied to Version Control in Git & GitHub projects Trade-offs (performance, maintainability, security, cost) When you would…
Answer: Mask secrets automatically using: run: echo "Deploying..." &amp;&amp; echo "${{ secrets.AWS_SECRET_KEY }}" GitHub automatically redacts these values from logs. What interviewers expect A clear definition…
You’ll see a green “Verified” badge on signed commits. Why it matters: Verifies authorship for open-source contributions. Helps in regulated environments (e.g., fintech, healthcare). Prevents supply chain attacks via spo…
Answer: Signed commits ensure authenticity — they’re cryptographically verified with a GPG or SSH key, proving the commit really came from you and wasn’t tampered with. Setup: Generate a GPG key: gpg --full-generate-key…
git remote add origin git push --all origin git push --tags origin What interviewers expect A clear definition tied to Version Control in Git & GitHub projects Trade-offs (performance, maintainability, security, cost…
Prune and repack: git gc --prune=now --aggressive What interviewers expect A clear definition tied to Version Control in Git & GitHub projects Trade-offs (performance, maintainability, security, cost) When you would…
Answer: A force push can rewrite history and make commits disappear from the remote branch — but they’re often recoverable. Steps: Run git reflog locally to view all commit references: git reflog show origin/main What in…
git filter-repo (preferred) git filter-repo --path path/to/file --invert-paths What interviewers expect A clear definition tied to Version Control in Git & GitHub projects Trade-offs (performance, maintainability, se…
git add . git commit git push What interviewers expect A clear definition tied to Version Control in Git & GitHub projects Trade-offs (performance, maintainability, security, cost) When you would and would not use it…
A Git submodule is a repository inside another repository — useful for including shared components or libraries. Example: You have multiple microservices that share a common authentication library. Instead of duplicating…
Forking is when you create your own copy of someone else’s GitHub repository. You do this directly on GitHub by clicking the “Fork” button on the top right of the repository page. Example: You want to contribute to a pub…
dd the resolved file: git add &lt;file&gt; git commit # or continue the rebase What interviewers expect A clear definition tied to Version Control in Git & GitHub projects Trade-offs (performance, maintainabi…
Mark conflicts as resolved: git add &lt;filename&gt; git commit What interviewers expect A clear definition tied to Version Control in Git & GitHub projects Trade-offs (performance, maintainability, security,…
Working Directory: This is where you make changes to the files. It's your local workspace where you're actively editing code. Staging Area (Index): This is like a holding area where you prepare files before committing th…
Git & GitHub Developer Essentials · Version Control
Answer: Create a branch to restore it: git checkout -b recovery-branch <commit-hash>
In a production Git & GitHub application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
Git & GitHub Developer Essentials · Version Control
If you deleted a branch accidentally but haven’t run garbage collection yet, it can be
recovered using the commit log.
Steps:
Find the last commit of that branch:
git reflog
Example output:
bc1234 refs/heads/feature/login: commit: Add login validation
Git & GitHub Developer Essentials · Version Control
Answer: <<<<<<< HEAD Your changes ======= Incoming changes >>>>>>> main
In a production Git & GitHub application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
Git & GitHub Developer Essentials · Version Control
Large binary files (like images, videos, or data models) bloat Git repositories since Git
stores every version.
To handle them efficiently, I use Git LFS (Large File Storage).
Setup:
git lfs install
git lfs track "*.psd"
git add .gitattributes
git commit -m "Track Photoshop files with Git LFS"
Explanation:
Git LFS replaces large files with lightweight text pointers inside Git, while the actual binary
files are stored on a separate LFS server.
Example:
If a game project has large texture files, Git LFS prevents the repo from becoming gigabytes
in size, improving clone and fetch performance.
Git & GitHub Developer Essentials · Version Control
If a commit has been pushed to a shared branch, the safest way is to revert it — not
remove it.
git revert <commit-hash>
This creates a new commit that undoes the changes from the old one, without rewriting
history.
Example:
If you pushed a buggy commit that broke the login page, git revert creates a new
commit that removes those buggy changes while keeping the history intact.
⚠ Avoid git reset on shared branches because it rewrites history — it can
mess up others’ work.
Git & GitHub Developer Essentials · Version Control
Answer: You deleted feature/payment after merging, but QA needs it again — you can restore it from git reflog.
In a production Git & GitHub application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
Git & GitHub Developer Essentials · Version Control
You can create and switch to a new branch using:
git checkout -b feature/login-page
This creates a branch named feature/login-page and switches you to it immediately.
lternatively, you can do it in two steps:
git branch feature/login-page
git checkout feature/login-page
Real-world example:
If your team assigns you to build a login page, you can create a branch
feature/login-page to isolate your changes from the main code.
Git & GitHub Developer Essentials · Version Control
Answer: A system where every developer has a full copy of the repository, including its entire history, allowing for offline work and decentralized collaboration.
In a production Git & GitHub application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
Git & GitHub Developer Essentials · Version Control
Answer: Signed commits ensure authenticity — they’re cryptographically verified with a GPG or SSH key, proving the commit really came from you and wasn’t tampered with. Setup: Generate a GPG key: gpg --full-generate-key
In a production Git & GitHub application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
Git & GitHub Developer Essentials · Version Control
Both commands integrate changes from one branch into another, but they work differently:
branch, making it look like you developed your changes sequentially.
Real-world analogy:
long.
Example:
If your feature branch has diverged from main, merging will keep both timelines, while
rebasing will make it look like your branch was based on the latest main version all along.
Git & GitHub Developer Essentials · Version Control
rea, Repository)
workspace where you're actively editing code.
committing them to the repository. You can choose which changes to add here.
permanent record of your project's evolution.
Real-World Example:
When you're editing code, it starts in the working directory. After editing, you "stage" your
changes (using git add), which moves them to the staging area. Once you're ready to
save your changes permanently, you commit them to the repository using git commit.
Git & GitHub Developer Essentials · Version Control
next commit), Local Repository (committed files).
In a production Git & GitHub application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
Git & GitHub Developer Essentials · Version Control
Answer: Mask secrets automatically using: run: echo "Deploying..." && echo "${{ secrets.AWS_SECRET_KEY }}" GitHub automatically redacts these values from logs.
In a production Git & GitHub application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
Git & GitHub Developer Essentials · Version Control
You’ll see a green “Verified” badge on signed commits.
Why it matters:
Real-world example:
In a security-conscious org, all commits to the main branch are required to be
GPG-signed — GitHub enforces this with branch protection rules.
Git & GitHub Developer Essentials · Version Control
Answer: Signed commits ensure authenticity — they’re cryptographically verified with a GPG or SSH key, proving the commit really came from you and wasn’t tampered with. Setup: Generate a GPG key: gpg --full-generate-key
In a production Git & GitHub application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
Git & GitHub Developer Essentials · Version Control
git remote add origin git push --all origin git push --tags origin
In a production Git & GitHub application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
Git & GitHub Developer Essentials · Version Control
Prune and repack: git gc --prune=now --aggressive
In a production Git & GitHub application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
Git & GitHub Developer Essentials · Version Control
Answer: A force push can rewrite history and make commits disappear from the remote branch — but they’re often recoverable. Steps: Run git reflog locally to view all commit references: git reflog show origin/main
In a production Git & GitHub application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
Git & GitHub Developer Essentials · Version Control
git filter-repo (preferred) git filter-repo --path path/to/file --invert-paths
In a production Git & GitHub application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
Git & GitHub Developer Essentials · Version Control
git add . git commit git push
In a production Git & GitHub application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
Git & GitHub Developer Essentials · Version Control
A Git submodule is a repository inside another repository — useful for including shared
components or libraries.
Example:
You have multiple microservices that share a common authentication library. Instead of
duplicating it, you include it as a submodule:
git submodule add
libs/auth
Pros: Keeps shared code centralized.
Cons: Requires careful syncing; new contributors must initialize submodules using:
git submodule update --init --recursive
Git & GitHub Developer Essentials · Version Control
Forking is when you create your own copy of someone else’s GitHub repository.
You do this directly on GitHub by clicking the “Fork” button on the top right of the repository
page.
Example:
You want to contribute to a public project like freeCodeCamp. You click Fork, creating your
own version under your account. You can modify it freely and then make pull requests to the
original project.
Command-line analogy:
Forking is like cloning, but on the GitHub server level — it gives you your own remote
repository to push to.
Git & GitHub Developer Essentials · Version Control
dd the resolved file: git add <file> git commit # or continue the rebase
In a production Git & GitHub application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
Git & GitHub Developer Essentials · Version Control
Mark conflicts as resolved: git add <filename> git commit
In a production Git & GitHub application, teams apply this when handling user-facing features or integration boundaries. For example, you might use it during a sprint where reliability and observability matter—logging metrics, validating edge cases, and documenting the decision in an ADR so future developers understand why the approach was chosen.
Tip: Practice aloud on Toolliyo mock interview or the Interview Q&A section before your real interview.
Git & GitHub Developer Essentials · Version Control
workspace where you're actively editing code.
committing them to the repository. You can choose which changes to add here.
permanent record of your project's evolution.
Real-World Example:
When you're editing code, it starts in the working directory. After editing, you "stage" your
changes (using git add), which moves them to the staging area. Once you're ready to
save your changes permanently, you commit them to the repository using git commit.
Follow: