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