0% found this document useful (0 votes)
17 views

Version Control System Git Is A Distributed Version Control System Used For Tracking Changes in Source

Uploaded by

bpom422
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

Version Control System Git Is A Distributed Version Control System Used For Tracking Changes in Source

Uploaded by

bpom422
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

VERSION CONTROL SYSTEM

Git is a distributed version control system used for tracking changes in source
code during software development. There are three main sections of a Git project:
the working directory, the staging area, and the Git directory as illustrated below.

Working directory Staging area . git directory(repository)

Checkout the project

commit
Stage fixes

The basic Git workflow goes like this:


 You modify files in your working tree.
 You selectively stage just those changes you want to be part of your
next commit, which adds only those changes to the staging area.
 You do a commit, which takes the files as they are in the staging area and
stores that snapshot permanently to your Git directory.
and Here are some of the key features of Git;
1.History Tracking;
Git maintains a detailed history of changes made to the source code. Each commit
is identified by a unique hash, and you can view the entire history, including who
made each change, when it was made, and the commit message explaining the
purpose of the change.
2.Distributed Version Control;
Git is a distributed version control system meaning that every developer has a
complete copy of the repository on their local machine. This allows for greater
flexibility, collaboration, and offline work.
4.Performance and speed;
Git is designed to be fast and efficient. Most operations are performed locally, and
the majority of commands are executed with remarkable speed, even on large
projects.
3.Branching and Merging;
Users of git can create branches to work on features or bug fixes independently.
Merging branches back into the main source code is a straightforward process, and
Git's algorithms handle complex merges gracefully.
5.Staging Area;
Git uses a staging area between the working directory and the repository.
Developers can selectively choose which changes to commit by staging specific
files or changes, providing more control over the commit process.
6.Security and Integrity;
Security and code integrity are a priority when committing changes in Git. This
VCS stores records of all the commits done by each teammate on the developer's
local copy.
Git uses a hash function “SHA-1” to ensure the integrity of the data in the
repository. This means that once data is committed to the repository, it cannot be
altered without changing its hash, providing a level of security against data
corruption.
7.Open Source;
Git is an open-source project hence allowing developers to contribute to its
development, review the source code, and modify it according to their needs. This
openness has led to a large and active community supporting and enhancing Git.
8.Support for Non-linear Development;
Git allows for non-linear development, meaning developers can create multiple
branches, work on them simultaneously, and merge them in a flexible manner. This
is crucial for handling complex development workflows.
9.Support for big Projects;
Git can handle both small and extremely large projects effectively. It scales well,
making it suitable for projects of varying sizes and complexities.
10.Compatibility;
Git runs on various operating systems, including Linux, macOS, and Windows
which means it is platform independent. This ensures compatibility and
consistency across different development environments.
11. Widespread Use;
Since it possesses nearly everything developers need for the most effective work
results, Git has become the most widespread version control system. Due to its
prevalence on the market, numerous tools and services are optimized specifically
for Git.

You might also like