DEV Community

Cover image for What is GIT and version Control
Hasan Elsherbiny
Hasan Elsherbiny

Posted on

What is GIT and version Control

as a teamwork in dark ages we used to copy our code using floppy disks or flash drives and keep having our brain storming sessions to try to remember what everyone have changed and which code we need to pass to each others.

after a tons of conflicts and data loss, some genius have come up with an idea about creating a software to manage code sharing between teams.

many software were introduced to address this problem like (Mercurial SCM , SVN , GIT,TFS and others)
these software is helping developers to share their code and also manage the history of evry change made to the code

What Is GIT?

GIT is one of the products made to help in the problem of Version Control mentioned earlier.
GIT Is opensource, Distributed , secured and can be customized based on your need.

in this context we need to know so important terms

Repository (Repo): A repository is a storage location where your project's files and version history are kept. Git repositories can be local (on your computer) or remote (on a server).

Commit: A commit is a snapshot of the project at a specific point in time. It represents a set of changes made to the codebase. Commits are accompanied by commit messages that describe the changes made.

Branch : branch is a separate line of development within a Git repository. It allows you to work on new features or bug fixes independently without affcting the main codebase
Branches are often used for isolation and experimentation

Merge: Merging is the process of combining changes from one branch (usually a feature or topic branch) into another (often the main branch, like master or main). This is typically done when a feature is completed and tested.

Pull Request (PR) or Merge Request (MR): In many Git hosting platforms like GitHub and GitLab, a pull request or merge request is a mechanism for proposing and discussing changes before they are merged into the main branch. It allows for code review and collaboration.

Clone: Cloning is the process of creating a copy of a remote Git repository on your local machine. This allows you to work on the project localy and contribute changes back to the remote repository.

Version History: Git keeps a complete history of all changes made to the project. This history includes information about who made the changes, when they were made, and the commit messages that describe the changes.

Conflict Resolution: When multiple people make conflicting changes to the same part of file or branch, Git help identify and manage these conflicts so that thy can be resolved.

finally nowadays every developer MUST Learn Version Control Technology and GIT, to easily collaborate with the team.

Top comments (0)