0% found this document useful (0 votes)
112 views8 pages

Top 45 Git Interview Questions & Answers

The document provides an overview of Git and discusses 45 common Git interview questions and answers. Some key points: - Git is a distributed version control system that handles both small and large projects with speed and efficiency. It keeps metadata for each project in a hidden .git directory. - Common commands include git commit to write commit messages, git add to stage files, and git push to update remote repositories. Git offers advantages like data redundancy, high availability, and ease of collaboration. - Key concepts are repositories, commits, branches, staging areas, rebasing, merging, and resolving conflicts when merges aren't clean. Questions cover uses of commands like clone, config, status, and log to manage a project

Uploaded by

sainathhp
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)
112 views8 pages

Top 45 Git Interview Questions & Answers

The document provides an overview of Git and discusses 45 common Git interview questions and answers. Some key points: - Git is a distributed version control system that handles both small and large projects with speed and efficiency. It keeps metadata for each project in a hidden .git directory. - Common commands include git commit to write commit messages, git add to stage files, and git push to update remote repositories. Git offers advantages like data redundancy, high availability, and ease of collaboration. - Key concepts are repositories, commits, branches, staging areas, rebasing, merging, and resolving conflicts when merges aren't clean. Questions cover uses of commands like clone, config, status, and log to manage a project

Uploaded by

sainathhp
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

[Link]

com/

Top 45 GIT Interview Questions & Answers


1) What is GIT?

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.

2) What is a repository in GIT?

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.

3) What is the command you can use to write a commit message?

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” before git commit –a if new files need to be committed for the
first time.

4) What is the difference between GIT and SVN?

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

1/8
[Link]

and to create multiple revisions under a tag root.

5) What are the advantages of using GIT?

a) Data redundancy and replication

b) High availability

c) Only [Link] directory per repository

d) Superior disk utilization and network performance

e) Collaboration friendly

f) Any sort of projects can use GIT

6) What language is used in GIT?

GIT is fast, and ‘C’ language makes this possible by reducing the overhead of runtimes
associated with higher languages.

7) What is the function of ‘GIT PUSH’ in GIT?

‘GIT PUSH’ updates remote refs along with associated objects.

8) Why GIT better than Subversion?

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.

9) What is “Staging Area” or “Index” in GIT?

Before completing the commits, it can be formatted and reviewed in an intermediate area known
as ‘Staging Area’ or ‘Index’.

10) What is GIT stash?

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.

11) What is GIT stash drop?

2/8
[Link]

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.

12) How will you know in GIT if a branch has been already merged into master?

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

13) What is the function of git clone?

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.

14) What is the function of ‘git config’?

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.

15) What does commit object contain?

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.

16) How can you create a repository in Git?

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.

17) What is ‘head’ in git and how many heads can be created in a repository?

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.

18) What is the purpose of branching in GIT?

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.

19) What is the common branching pattern in GIT?

3/8
[Link]

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.

20) How can you bring a new feature in the main branch?

To bring a new feature in the main branch, you can use a command “git merge” or “git pull
command”.

21) What is a ‘conflict’ in git?

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.

22) How can conflict in git resolved?

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.

23) To delete a branch what is the command that is used?

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]”.

24) What is another option for merging in git?

“Rebasing” is an alternative to merging in git.

25) What is the syntax for “Rebasing” in Git?

The syntax used for rebase is “git rebase [new-commit] “

26) What is the difference between ‘git remote’ and ‘git clone’?

‘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.

27) What is GIT version control?

With the help of GIT version control, you can track the history of a collection of files and includes

4/8
[Link]

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.

28) Mention some of the best graphical GIT client for LINUX?

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

29) What is Subgit? Why to use Subgit?

‘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.

30) What is the function of ‘git diff ’ in git?

‘git diff ’ shows the changes between commits, commit and working tree etc.

31) What is ‘git status’ is used for?

As ‘Git Status’ shows you the difference between the working directory and the index, it is
helpful in understanding a git more comprehensively.

32) What is the difference between the ‘git diff ’and ‘git status’?

‘git diff’ is similar to ‘git status’, but it shows the differences between various commits and
also between the working directory and index.

5/8
[Link]

33) What is the function of ‘git checkout’ in git?

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.

34) What is the function of ‘git rm’?

To remove the file from the staging area and also off your disk ‘git rm’ is used.

35) What is the function of ‘git stash apply’?

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.

36) What is the use of ‘git log’?

To find specific commits in your project history- by author, date, content or history ‘git log’ is
used.

37) What is ‘git add’ is used for?

‘git add’ adds file changes in your existing directory to your index.

38) What is the function of ‘git reset’?

The function of ‘Git Reset’ is to reset your index as well as the working directory to the state of
your last commit.

39) What is git Is-tree?

‘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.

40) How git instaweb is used?

‘Git Instaweb’ automatically directs a web browser and runs webserver with an interface into
your local repository.

41) What does ‘hooks’ consist of in git?

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.

42) Explain what is commit message?

Commit message is a feature of git which appears when you commit a change. Git provides you

6/8
[Link]

a text editor where you can enter the modifications made in commits.

43) How can you fix a broken commit?

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.

44) Why is it advisable to create an additional commit rather than amending an existing
commit?

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.

45) What is ‘bare repository’ in GIT?

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.

46) Name a few Git repository hosting services

Pikacode
Visual Studio Online
GitHub
GitEnterprise
[Link]

Guru99 Provides FREE ONLINE TUTORIAL on Various courses like

Java MIS MongoDB BigData Cassandra

Web Services SQLite JSP Informatica Accounting

SAP Training Python Excel ASP Net HBase

Project Test Business Ethical Hacking PMP

7/8
[Link]

Management Management Analyst

Live Project SoapUI Photoshop Manual Testing Mobile Testing

Selenium CCNA AngularJS NodeJS PLSQL

8/8
Powered by TCPDF ([Link])

Common questions

Powered by AI

The 'git stash' command is especially useful when a developer needs to switch tasks quickly but wants to save the current work-in-progress state without committing it . It enables developers to clear their working directory for handling urgent tasks and ensures that their uncommitted changes are saved to restart from the same point later. By providing this flexibility, 'git stash' enhances workflow efficiency, allowing for smooth task management and reduced context switching delays .

A 'bare repository' in GIT comprises solely the version history of a codebase, without a working directory . It is particularly useful for distributed development as it enables developers from multiple workstations to engage with the same repository without local file conflicts . Due to its structure, a bare repository is typically used as a central repository for collaboration, maintaining the project's commit history across different environments .

During a merge, conflicts arise when changes in disparate branches conflict at the same spot in the code . To resolve conflicts, developers must manually edit the conflicting code, deciding which changes to retain. Once resolved, developers add the adjusted files to staging using 'git add', and finalize the merge with 'git commit' . GIT tracks the merge's context, ensuring any committed resolutions integrate appropriately, maintaining code integrity and synchronizing the combined branches effectively .

The 'git diff' command is integral to version control as it displays changes between commits, the working directory, and the index . This tool allows developers to compare files and understand modifications before finalizing changes, offering insights into previous states and facilitating informed decision-making regarding code adjustments. By displaying differences, 'git diff' assists developers in maintaining code quality and integrity, ensuring only intended changes are committed and integrated into the project's history .

GIT is less preferred for handling extremely large files or frequently changing binary files, whereas SVN can manage multiple projects within the same repository . GIT does not support commits across multiple branches or tags, while SVN permits folder creations at any point within the repository layout. Commits in GIT are immutable, unlike SVN, which allows committers to treat a tag as a branch, creating multiple revisions under a tag root .

GIT's immutability of tags ensures that once a tag is set, it remains unchanged, maintaining integrity and consistency across versions . This approach minimizes accidental data loss and enforces a strong versioning discipline. In contrast, SVN's flexibility allows tags to function as branches, enabling revisions within a tagged history, which may introduce complexity and potential for confusion in version tracking . These differences highlight GIT's emphasis on repository integrity versus SVN's permission for dynamic versioning, affecting collaborative workflows and version control strategies .

The 'staging area' or 'index' in GIT serves as an intermediate space where developers can review and format their commits before completing them . This area allows for a thorough review of changes to ensure that only error-free and necessary modifications are committed. By segregating staged changes from the working directory, developers can fine-tune their commits, which supports better version control and collaboration .

The 'git commit --amend' command allows a developer to modify the most recent commit, including the commit message and changes . While this command can be useful for correcting minor issues or updating messages, overusing it might inadvertently destroy previously saved states or cause a single commit to represent unrelated changes, complicating the version history . As amend operations overwrite previous data, caution should be exercised to avoid losing important information or creating convoluted commit histories .

Branching in GIT allows developers to create independent branches and switch between them seamlessly, enabling multiple features and fixes to be developed concurrently without interfering with the main codebase . This capability supports team collaboration by allowing different team members to work on separate features or bug fixes simultaneously. Branches can be integrated into the main branch once complete, enabling streamlined development processes and minimizing code integration conflicts, facilitating efficient project management and teamwork .

GIT provides several advantages over SVN, including data redundancy and replication, high availability, and efficient disk utilization and network performance due to its single '.git' directory per repository . It is also more collaboration-friendly and handles a wide range of projects. GIT's distributed nature allows developers to work offline, committing local changes and pushing them once connectivity is restored, further enhancing collaborative development . Furthermore, GIT's immutable nature prevents accidental data loss that might occur with the modifiable tags and branches in SVN .

(http://career.guru99.com/wp-content/uploads/2014/04/Git.jpg) (http://ebook.guru99.com/you-are-hired/?utm_source=careerguru9
http://career.guru99.com/
 
and to cre
http://career.guru99.com/
 
When you a
http://career.guru99.com/
 
The common
http://career.guru99.com/
 
the functi
http://career.guru99.com/
 
33)   What
http://career.guru99.com/
 
a text edi
(http://forms.aweber.com/form/46/724807646.htm?utm_source=careerguru99pdf&utm_medium=referral&utm_campaign=click)

You might also like