Hita Barasm Mamagani
In The Name of God
What is Git?
Git is a version control system for tracking
changes in computer files and coordinating work
on those files among multiple people. It is
primarily used for source code
management in software development, but it can
be used to keep track of changes in any set of
As a distributed revision control system it is
aimed at speed, data integrity, and support for
distributed, non-linear workflows.
Centralized vs Distributed
• Working offline
• Fast to Work With
• Repositories Are Smaller
• Moving or Adding files
• Ignore Certain Files
• Check the Status of Your Changes
• Stash Branches
• Find version that introduced a bug using Binary Search
Disadvantages of Git
• Steep learning curve
Many commands with many options, some
commands are non-intuitive and need a
level of understanding the internals of git.
• Slow on binary files
If your project has non-text files that are
updated frequently, then git becomes
bloated and slow.
• init //create a local git repository
• commit //records a snapshot of staging area into repo
• pull //fetch from a remote repo and try to merge into the
• push //push your new branches and data to a remote
• checkout //Switch branches or restore working tree files
• status //view the status of your files in the working
directory and staging area
• diff //shows diff of what is staged and what is modified
Fork A Repository
• A fork is a copy of a repository. Forking a
repository allows you to freely experiment
with changes without affecting the original
• Most commonly, forks are used to either
propose changes to someone else's project or
to use someone else's project as a starting
point for your own idea.
Tools provided for project management by GitHub:
An introduction to git, a distributed version control system for tracking changes in source code.