Git Questions and Answers
Question 1. What Is Git?
Answer :
GIT is a distributed version control system and source code management (SCM) system
with an emphasis to handle small and large projects with speed and efficiency.
Question 2. What Is A Repository In Git?
Answer :
A repository contains a directory named .git, where git keeps all of its metadata for the
repository. The content of the .git directory are private to git.
Question 3. What Is The Command You Can Use To Write A Commit Message?
Answer :
The command that is used to write a commit message is “git commit –a”. The –a on the
command line instructs git to commit the new content of all tracked files that have been
modified. You can use “git add<file>” before git commit –a if new files need to be
committed for the first time.
Question 4. What Is The Difference Between Git And Svn?
Answer :
The difference between GIT and SVN is:
a) Git is less preferred for handling extremely large files or frequently changing binary
files while SVN can handle multiple projects stored in the same repository.
b) GIT does not support ‘commits’ across multiple branches or tags. Subversion allows
the creation of folders at any location in the repository layout.
c) Gits are unchangeable, while Subversion allows committers to treat a tag as a branch
and to create multiple revisions under a tag root.
Question 5. What Are The Advantages Of Using Git?
Answer :
a) Data redundancy and replication
b) High availability
c) Only one.git directory per repository
d) Superior disk utilization and network performance
e) Collaboration friendly
f) Any sort of projects can use GIT
Question 6. What Language Is Used In Git?
Answer :
GIT is fast, and ‘C’ language makes this possible by reducing the overhead of runtimes
associated with higher languages.
Question 7. What Is The Function Of ‘git Push’ In Git?
Answer :
‘GIT PUSH’ updates remote refs along with associated objects.
Question 8. Why Git Better Than Subversion?
Answer :
GIT is an open source version control system; it will allow you to run ‘versions’ of a
project, which show the changes that were made to the code overtime also it allows you
keep the backtrack if necessary and undo those changes. Multiple developers can
checkout, and upload changes and each change can then be attributed to a specific
developer.
Question 9. What Is “staging Area” Or “index” In Git?
Answer :
Before completing the commits, it can be formatted and reviewed in an intermediate area
known as ‘Staging Area’ or ‘Index’.
Question 10. What Is Git Stash?
Answer :
GIT stash takes the current state of the working directory and index and puts in on the
stack for later and gives you back a clean working directory. So in case if you are in the
middle of something and need to jump over to the other job, and at the same time you
don’t want to lose your current edits then you can use GIT stash.
Question 11. What Is Git Stash Drop?
Answer :
When you are done with the stashed item or want to remove it from the list, run the git
‘stash drop’ command. It will remove the last added stash item by default, and it can
also remove a specific item if you include as an argument.
Question 12. How Will You Know In Git If A Branch Has Been Already Merged Into
Master?
Answer :
○ Git branch merged lists the branches that have been merged into the current
branch
○ Git branch no merged lists the branches that have not been merged.
Question 13. What Is The Function Of Git Clone?
Answer :
The git clone command creates a copy of an existing Git repository. To get the copy of a
central repository, ‘cloning’ is the most common way used by programmers.
Question 14. What Is The Function Of ‘git Config’?
Answer :
The ‘git config’ command is a convenient way to set configuration options for your Git
installation. Behaviour of a repository, user info, preferences etc. can be defined
through this command.
Question 15. What Does Commit Object Contain?
Answer :
a) A set of files, representing the state of a project at a given point of time
b) Reference to parent commit objects
c) An SHAI name, a 40 character string that uniquely identifies the commit object
Question 16. How Can You Create A Repository In Git?
Answer :
In Git, to create a repository, create a directory for the project if it does not exist, and
then run command “git init”. By running this command .git directory will be created in the
project directory, the directory does not need to be empty.
Question 17. What Is ‘head’ In Git And How Many Heads Can Be Created In A Repository?
Answer :
A ‘head’ is simply a reference to a commit object. In every repository, there is a default
head referred as “Master”. A repository can contain any number of heads.
Question 18. What Is The Purpose Of Branching In Git?
Answer :
The purpose of branching in GIT is that you can create your own branch and jump
between those branches. It will allow you to go to your previous work keeping your
recent work intact.
Question 19. What Is The Common Branching Pattern In Git?
Answer :
The common way of creating branch in GIT is to maintain one as “Main“ branch and
create another branch to implement new features. This pattern is particularly useful
when there are multiple developers working on a single project.
Question 20. How Can You Bring A New Feature In The Main Branch?
Answer :
To bring a new feature in the main branch, you can use a command “git merge” or “git
pull command”.
Question 21. What Is A ‘conflict’ In Git?
Answer :
A ‘conflict’ arises when the commit that has to be merged has some change in one
place, and the current commit also has a change at the same place. Git will not be able
to predict which change should take precedence.
Question 22. How Can Conflict In Git Resolved?
Answer :
To resolve the conflict in git, edit the files to fix the conflicting changes and then add the
resolved files by running “git add” after that to commit the repaired merge, run “git
commit”. Git remembers that you are in the middle of a merger, so it sets the parents of
the commit correctly.
Question 23. To Delete A Branch What Is The Command That Is Used?
Answer :
Once your development branch is merged into the main branch, you don’t need
development branch. To delete a branch use, the command “git branch –d [head]”.
Question 24. What Is Another Option For Merging In Git?
Answer :
“Rebasing” is an alternative to merging in git.
Question 25. What Is The Syntax For “rebasing” In Git?
Answer :
The syntax used for rebase is “git rebase [new-commit] “
Question 26. What Is The Difference Between ‘git Remote’ And ‘git Clone’?
Answer :
‘git remote add’ just creates an entry in your git config that specifies a name for a
particular URL. While, ‘git clone’ creates a new git repository by copying and existing
one located at the URI.
Question 27. What Is Git Version Control?
Answer :
With the help of GIT version control, you can track the history of a collection of files and
includes the functionality to revert the collection of files to another version. Each version
captures a snapshot of the file system at a certain point of time. A collection of files and
their complete history are stored in a repository.
Question 28. Mention Some Of The Best Graphical Git Client For Linux?
Answer :
Some of the best GIT client for LINUX is:
a) Git Cola
b) Git-g
c) Smart git
d) Giggle
e) Git GUI
f) qGit
Question 29. What Is Subgit? Why To Use Subgit?
Answer :
‘Subgit’ is a tool for a smooth, stress-free SVN to Git migration. Subgit is a solution for a
company -wide migration from SVN to Git that is:
a) It is much better than git-svn
b) No requirement to change the infrastructure that is already placed
c) Allows to use all git and all sub-version features
d) Provides genuine stress –free migration experience.
Question 30. What Is The Function Of ‘git Diff ’ In Git?
Answer :
‘git diff ’ shows the changes between commits, commit and working tree etc.
Question 31. What Is ‘git Status’ Is Used For?
Answer :
As ‘Git Status’ shows you the difference between the working directory and the index, it
is helpful in understanding a git more comprehensively.
Question 32. What Is The Difference Between The ‘git Diff ’and ‘git Status’?
Answer :
‘git diff’ is similar to ‘git status’, but it shows the differences between various commits and
also between the working directory and index.
Question 33. What Is The Function Of ‘git Checkout’ In Git?
Answer :
A ‘git checkout’ command is used to update directories or specific files in your working
tree with those from another branch without merging it in the whole branch.
Question 34. What Is The Function Of ‘git Rm’?
Answer :
To remove the file from the staging area and also off your disk ‘git rm’ is used.
Question 35. What Is The Function Of ‘git Stash Apply’?
Answer :
When you want to continue working where you have left your work, ‘git stash apply’
command is used to bring back the saved changes onto the working directory.
Question 36. What Is The Use Of ‘git Log’?
Answer :
To find specific commits in your project history- by author, date, content or history ‘git
log’ is used.
Question 37. What Is ‘git Add’ Is Used For?
Answer :
‘git add’ adds file changes in your existing directory to your index.
Question 38. What Is The Function Of ‘git Reset’?
Answer :
The function of ‘Git Reset’ is to reset your index as well as the working directory to the
state of your last commit.
Question 39. What Is Git Is-tree?
Answer :
‘git Is-tree’ represents a tree object including the mode and the name of each item and
the SHA-1 value of the blob or the tree.
Question 40. How Git Instaweb Is Used?
Answer :
‘Git Instaweb’ automatically directs a web browser and runs webserver with an interface
into your local repository.
Question 41. What Does ‘hooks’ Consist Of In Git?
Answer :
This directory consists of Shell scripts which are activated after running the
corresponding Git commands. For example, git will try to execute the post-commit script
after you run a commit.
Question 42. Explain What Is Commit Message?
Answer :
Commit message is a feature of git which appears when you commit a change. Git
provides you a text editor where you can enter the modifications made in commits.
Question 43. How Can You Fix A Broken Commit?
Answer :
To fix any broken commit, you will use the command “git commit—amend”. By running
this command, you can fix the broken commit message in the editor.
Question 44. Why Is It Advisable To Create An Additional Commit Rather Than
Amending An Existing Commit?
Answer :
There are couple of reason
a) The amend operation will destroy the state that was previously saved in a commit. If
it’s just the commit message being changed then that’s not an issue. But if the contents
are being amended then chances of eliminating something important remains more.
b) Abusing “git commit- amend” can cause a small commit to grow and acquire
unrelated changes.
Question 45. What Is ‘bare Repository’ In Git?
Answer :
To co-ordinate with the distributed development and developers team, especially when
you are working on a project from multiple computers ‘Bare Repository’ is used. A bare
repository comprises of a version history of your code.
Question 46. Name A Few Git Repository Hosting Services:
Answer :
○ Pikacode
○ Visual Studio Online
○ GitHub
○ GitEnterprise
○ SourceForge.net