DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

Cover image for Git for Newbies
BINAL MEHTA
BINAL MEHTA

Posted on

Git for Newbies

Many of you especially beginners are confused about Git.
On Google there are millions of answers that explains about the concept of Git.

The technical definition about Git says that

Git is a Version Control System (VCS) for tracking source code during Software Development.

What is a VCS?

A Version Control System in simple words can be regarded as a Source Code Management(SCM), which typically manages your different version of your information(i.e your source code).

It keeps track of your modifications done to your code and record the changes you made to it.

But there are different types of Version Control Systems

  1. Local Version Control System - It has a database system that manages the track.

  2. Centralized Version Control System - Where all the users connect to a master(central) repository.

  3. Distributed Version Control System - Where all the users can connect to multiple repositories at a time.

Important Git Terminologies

  • Repository:
    In simple words, repo/repository is a type of container where we store something. Technically it is a data structure which is used by VCS where metadata of our code files and directories are stored.

  • Commit:
    Commit is a simple collection of message that explains more about the source code files and how we came to that stage. It can reminds you your intention behind changing those files, It can also help the user that uses your repo.

  • Branch:
    Think this as a simple tree branch which diverges from the main root, similarly git branch is the version of repo that divide from the main repository. In branch repo we can make various changes like:list, delete, rename etc.

  • Clone:
    Cloning in git means making a copy of the target repo and duplicating all the files of the target repo. Clone is the git command line utility.

  • Index:
    Index in git is also know as Staging area/Staging Index. A file in the Git directory that stores information about what will go into your next commit. Files on the Staging Index are poised to be added to the repository.

  • Push and Pull request:
    Git push will take all your files from the local repo and will push it to the main repo for example on Github.
    Git pull is used when you want to pull the latest changes in your main repo.

Commands for using Git in Command Line

  1. git init - To initialize or create a repository.

  2. git add. - To add your code files to your repo.

  3. git status - To view your files in the repository.

  4. git commit -m 'your message' - To add commit messages to your code files.

  5. git push -u origin master - To push the code in your main repository or target repository.

  6. git pull 'remote_name' 'branch_name' - It will pull the contents from the main repository.

  7. git fetch - It will fetch the recent commits from the main repo to your local repository.

  8. git merge - It will merge the branch from remote to local repository.

  9. git clone repoLink - To clone the target repository.

So That's it for Git, I hope this article will help you with your learning and will be your easy to read guide. Let me know if this article helps you.
Go on and create your first project on Github with the help of this article.πŸ™‚

Hope you enjoyed reading. ❀️

Top comments (10)

Collapse
 
rebaiahmed profile image
Ahmed Rebai

Don't forget about git rebase :)

Collapse
 
sergeypodgornyy profile image
Sergey Podgornyy

rebase is not for newbies πŸ˜‰

Collapse
 
juanfrank77 profile image
Juan F Gonzalez

That's totally true.

Collapse
 
sergeypodgornyy profile image
Sergey Podgornyy

Very good article πŸ‘

Collapse
 
binalmehta profile image
BINAL MEHTA

Thanks!

Collapse
 
misakisf profile image
Misaki

thank you <3

Collapse
 
varghesejose2020 profile image
Varghese Jose

Good explanation

Collapse
 
binalmehta profile image
BINAL MEHTA

Thanks

Collapse
 
romaopedro199 profile image
Pedro RomΓ£o

Excelent!

Collapse
 
pramilaniroshan profile image
Niroshan

Thanks

Let's Get Wacky


Use any Linode offering to create something unique or silly in the DEV x Linode Hackathon 2022 and win the Wacky Wildcard category

β†’ Join the Hackathon <-