1. What is Git?
Ans:- Git is a distributed version control system used for tracking changes in source code during software development.
2. Who created Git?
Ans:- Git was created by Linus Torvalds, the creator of the Linux operating system.
3. What is version control?
Ans:- Version control is a system that tracks changes to files over time, allowing users to recall specific versions later.
4. What is the difference between Git and other version control systems?
Ans:- Git is distributed, meaning every user has a complete copy of the repository. Other systems like SVN are centralized.
5. How do I install Git?
Ans:- Git can be installed by downloading the installer for your operating system from the official Git website or using package managers.
6. What is a Git repository?
Ans:- A Git repository is a storage location where Git keeps the metadata and object database for your project.
7. How do I create a new Git repository?
Ans:- You can create a new Git repository using the command git init in the root directory of your project.
8. What is a commit in Git?
Ans:- A commit is a snapshot of changes made to the code. It represents a point in the project’s history.
9. How do I make a Git commit?
Ans:- Use the command git commit -m “Your commit message” to commit changes to the repository.
10. What is the staging area in Git?
Ans:- The staging area (index) is a place where you can group changes before committing them to the repository.
11. How do I add changes to the staging area?
Ans:- Use the command git add or git add . to add changes to the staging area.
12. How do I create a new branch in Git?
Ans:- Use the command git branch to create a new branch, and git checkout to switch to it.
13. What is Git merge?
Ans:- Git merge combines changes from different branches into one branch.
14. How do I merge branches in Git?
Ans:- Use the command git merge to merge changes from one branch into the current branch.
15. What is Git pull?
Ans:- git pull fetches changes from a remote repository and merges them into the current branch.
16. What is Git push?
Ans:- git push sends your committed changes to a remote repository.
17. How do I clone a Git repository?
Ans:- Use the command git clone to create a copy of a remote repository.
18. What is Git remote?
Ans:- Git remote is a reference to a remote repository. You can add remotes using git remote add.
19. How do I check the status of my Git repository?
Ans:- Use the command git status to see the status of your working directory and staging area.
20. How do I see the commit history in Git?
Ans:- Use the command git log to display the commit history. Add –graph for a graphical representation.
21. What is Git branch tracking?
Ans:- Git branch tracking allows a local branch to follow a remote branch. It helps in syncing changes between local and remote repositories.
22. How do I remove a file from version control without deleting it?
Ans:- Use the command git rm –cached to untrack a file without deleting it.
23. What is Gitignore?
Ans:- A .gitignore file contains patterns that specify files or directories that should be ignored by Git.
24. How do I undo the last Git commit?
Ans:- Use the command git reset HEAD~1 to undo the last commit while keeping changes in your working directory.
25. What is Git rebase?
Ans:- Git rebase is a command used to move or combine a sequence of commits to a new base commit.
26. How do I resolve merge conflicts in Git?
Ans:- Manually edit the conflicted files, mark them as resolved with git add, and then complete the merge with git merge –continue.
27. What is Git cherry-pick?
Ans:- Git cherry-pick is used to apply specific commits from one branch to another.
28. How do I rename a Git branch?
Ans:- Use the command git branch -m to rename the current branch.
29. What is Git tag?
Ans:- A Git tag is a reference to a specific commit, commonly used to mark release points.
30. How do I create an annotated Git tag?
Ans:- Use the command git tag -a -m “Tag message” to create an annotated tag.
31. How do I delete a Git branch?
Ans:- Use the command git branch -d to delete a branch locally, and git push origin –delete to delete it remotely.
32. What is Git fetch?
Ans:- Git fetch downloads changes from a remote repository but does not merge them into the current branch.
33. How do I revert a Git commit?
Ans:- Use the command git revert to create a new commit that undoes the changes made by the specified commit.
34. What is Git submodule?
Ans:- Git submodule is a way to include one Git repository within another. It allows you to keep a repository as a subdirectory of another repository.
35. How do I change the commit message of the last commit?
Ans:- Use the command git commit –amend -m “New commit message” to change the last commit message.
36. What is Git bisect?
Ans:- Git bisect is a command used for binary searching through the commit history to find a specific commit that introduced a bug.
37. How do I squash multiple Git commits into one?
Ans:- Use the interactive rebase with the command git rebase -i HEAD~n and mark commits as “squash” or “fixup.”
38. What is Git reflog?
Ans:- Git reflog is a log of all Git references, including commits and branch updates, providing a history of recent changes.
39. How do I move or rename a file in Git?
Ans:- Use the command git mv to rename or move a file in Git.
40. What is Git blame?
Ans:- git blame shows the author and last modification details for each line in a file.
41. How do I stash changes in Git?
Ans:- Use the command git stash to save your changes temporarily, and git stash apply to reapply them later.
42. What is Git revert vs. Git reset?
Ans:- git revert creates a new commit that undoes the changes of a specific commit, while git reset moves the branch pointer to a different commit, discarding some changes.
43. How do I force push in Git?
Ans:- Use the command git push -f to force push changes to a remote repository.
44. What is Git fast-forward merge?
Ans:- A fast-forward merge occurs when the branch being merged can be directly extended from the current branch without creating a new commit.
45. How do I sign my Git commits?
Ans:- Use the command git commit -S -m “Commit message” to sign your commits with GPG.
46. What is Git clean?
Ans:- git clean removes untracked files from the working directory.
47. How do I configure Git username and email?
Ans:- Use the commands git config –global user.name “Your Name” and git config –global user.email “your.email@example.com” to configure your username and email globally.
48. What is Git LFS (Large File Storage)?
Ans:- Git LFS is an extension for managing large files in Git repositories, preventing them from being stored directly in the repository.
49. How do I show the changes between two Git commits?
Ans:- Use the command git diff to show the changes between two commits.
50. How do I contribute to a Git project?
Ans:- Contributions to Git projects can be made by forking the repository, creating a new branch, making changes, and submitting a pull request.