Introduction to GIT

About Me

Ahmed Eid

Software Engineer

OMS EG - NUBD

crouch74

crouchsays

Agenda

  • What is source control ?
  • Types of source control systems .
  • Why GIT ?
  • How does GIT do it ?
  • From local to remote .
  • What about branches and merge ?

What is source control ?

The management of changes to documents,computer programs, large web sites, and other collections of information. - wikipedia

Why source control ?

  • History of changes .
  • Source code version control .
  • Painless collaboration.

Centralized
 

Systems are designed with the intent that there is One True Source that is Blessed, and therefore Good. All developers work (checkout) from that source, and then add (commit) their changes, which then become similarly blessed .

Examples : TFS,SVN

Distributed

Systems are designed with the intent that one repository is as good as any other, and that merges from one repository to another are just another form of communication. 

Examples : GIT, Mercurial

Types of source control systems

Why GIT ?

  • Distributed .
  • Open source.
  • Very fast .
  • Easy to learn .
  • Smart enough .

How does GIT do it ?

  • tracked vs untracked .
  • Working directory .
  • Staging area .
  • .git folder .
  • Commit and SHA !

DEMO TIME 

From local to remote

  • What is a remote repository ?
  • What is origin ?
  • Origin and Distributed !!!
  • Syncing
    • Push 
    • Pull ( Fetch and Merge )

DEMO TIME 

Branches and Merging

  • What are branches ?
  • Why do we need branches ?
  • Branches as pointers not folders .
  • Merging 
    • Fast-forward merging .
    • Merge conflicts .

DEMO TIME 

Recap

  • What are source control systems?
  • Distributed vs. Centralised
  • GIT 3 Stages 
  • Adding, Modifying.
  •  Remote repositories
  • Branching and Merging

That's all Folks :)

Introduction to GIT

By Ahmed Eid

Introduction to GIT

  • 527