Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
17 views4 pages

Git GitHub Interview Questions Answers

Uploaded by

khyatijha2511
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views4 pages

Git GitHub Interview Questions Answers

Uploaded by

khyatijha2511
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Git & GitHub Interview Questions and Answers

Q: What is Git?

A: Git is a distributed version control system used to track changes in source code during software

development.

Q: What is GitHub?

A: GitHub is a web-based hosting service for Git repositories that provides tools for version control

and collaboration.

Q: What is the difference between Git and GitHub?

A: Git is a version control system; GitHub is a platform for hosting Git repositories with additional

collaboration features.

Q: What are the advantages of using Git?

A: Git offers distributed development, data redundancy, high performance, and support for

non-linear workflows.

Q: What is a repository in Git?

A: A repository is a storage space for your project where Git tracks all changes to files and

directories.

Q: What is a commit in Git?

A: A commit is a snapshot of the project's currently staged changes, recorded in the Git history.

Q: How do you initialize a Git repository?

A: Use the command `git init` to create a new Git repository.

Q: How do you check the current status of your repository?

A: Use `git status` to see staged, unstaged, and untracked files.

Q: What command is used to stage files for a commit?


A: `git add <file>` stages a file for the next commit.

Q: How do you commit changes in Git?

A: Use `git commit -m "message"` to save staged changes.

Q: How do you view the commit history?

A: Use `git log` to view the history of commits.

Q: What does `git clone` do?

A: `git clone <url>` creates a local copy of a remote repository.

Q: What does `git pull` do?

A: `git pull` fetches and merges changes from the remote repository into the current branch.

Q: What does `git push` do?

A: `git push` uploads local commits to a remote repository.

Q: What is the `.gitignore` file?

A: `.gitignore` specifies intentionally untracked files that Git should ignore.

Q: What is the difference between `git fetch` and `git pull`?

A: `git fetch` retrieves changes without merging; `git pull` fetches and merges them.

Q: What is a branch in Git?

A: A branch is a pointer to a specific commit, used to develop features separately from the main

codebase.

Q: How do you create a new branch?

A: Use `git branch <branch-name>` to create a new branch.

Q: How do you switch between branches?

A: Use `git checkout <branch-name>` or `git switch <branch-name>`.

Q: What is a merge in Git? How is it done?


A: Merging integrates changes from one branch into another using `git merge <branch-name>`.

Q: What is the difference between a fast-forward and a three-way merge?

A: Fast-forward moves the pointer forward; three-way merge creates a new merge commit.

Q: How do you resolve merge conflicts in Git?

A: Edit conflicted files, mark them as resolved with `git add`, then commit.

Q: What is a detached HEAD in Git?

A: A detached HEAD means you're on a specific commit, not a branch. Changes won't be saved

unless you create a new branch.

Q: How can you undo the last commit?

A: Use `git reset --soft HEAD~1` to undo the last commit but keep changes staged.

Q: How do you delete a branch locally and remotely?

A: `git branch -d <branch>` deletes locally; `git push origin --delete <branch>` deletes remotely.

Q: What is the staging area/index in Git?

A: It's where you prepare changes before committing them.

Q: What is the difference between `git reset`, `git revert`, and `git checkout`?

A: `reset` undoes commits, `revert` creates new commits to undo, `checkout` switches branches or

files.

Q: What is the difference between a local and remote repository?

A: A local repository exists on your machine; a remote is hosted on services like GitHub.

Q: What is the purpose of `git stash`?

A: Temporarily shelves changes without committing them.

Q: How do you apply and drop a stash?

A: `git stash apply` re-applies changes; `git stash drop` removes the stash.
Q: What is rebasing in Git? How is it different from merging?

A: Rebasing re-applies commits on top of another base, resulting in a linear history. Merging

combines histories.

Q: What is the difference between `git rebase` and `git merge`?

A: `rebase` rewrites history, `merge` preserves history by creating a merge commit.

Q: What is cherry-picking in Git?

A: It applies a specific commit from one branch onto another using `git cherry-pick <commit>`.

Q: What are Git hooks? Have you used any?

A: Git hooks are scripts that run automatically on Git events, like pre-commit or post-merge.

Q: What is a tag in Git? How is it created and deleted?

A: Tags mark specific points in history, often for releases. Use `git tag` to create and `git tag -d` to

delete.

Q: What is the difference between `origin` and `upstream` in GitHub?

A: `origin` is your fork; `upstream` is the original repo you forked from.

Q: How do pull requests work in GitHub?

A: They let you propose changes, review code, and merge updates into a main branch.

Q: What is a fork in GitHub and how is it different from a clone?

A: A fork creates a copy of a repo on GitHub under your account; a clone copies it locally.

Q: How do you squash commits in Git?

A: Use `git rebase -i HEAD~n` and mark commits as `squash`.

Q: What is the purpose of `.git/config`, `.gitignore`, and `.gitattributes`?

A: `config` stores settings, `gitignore` excludes files, `gitattributes` defines how Git handles files.

You might also like