SlideShare a Scribd company logo
an introduction
See: Resources
A Free and open source distributed
version control system designed to
handle everything from small to very
large projects with speed and efficiency.
Created by Linus Torvalds.
If you are not distributed, you
      are not worth using


                       Linus Torvalds
If you perform badly, you are not
           worth using


                       Linus Torvalds
If you cannot guarantee that
  what I check in, checks out
exactly the same way, you are
        not worth using

                     Linus Torvalds
Luis atencio on_git
Luis atencio on_git
Luis atencio on_git
• Distributed: no need to access a central server in order to use
 version control. Every revision is tracked locally. Every Git workspace is a full
 blown version control system


• Offline: users can commit/diff and do everything offline


• Merging and Branching: core of Git. Performant


• Fault-tolerant: no single point of failure
• You cannot do partial checkouts (partial clones)


• Windows support is not as great as other for OS.


• No “latest version”. Git uses hashes which are unreadable for humans


• No global revision numbers.
• Windows executable
  – http://git-scm.com/download/win
• Linux:
  – http://git-scm.com/download/linux
• Mac:
  – http://git-scm.com/download/mac
  – http://www.macports.org/
• Everyone has a local sandbox, you have your own copy of the repo


• It works offline


• It’s fast, performance built from the core


• It handles changes well, branching and merging is core


• Does not track empty folders
– Status = working tree status
– Push = update remote refs + objs
– Fetch = download remote refs + objs
– pull = fetch + merge
– Init = create empty git repo
– Commit = record changes to repo
– Add = add to index
– Diff = show changes between commits and working directories
– Merge = join 2+ dev histories
– Clone = gives you a complete copy of that repo on your system
– Branch = list/create/delete branches
– Tag = list/create/delete tags
                             …and much more
Luis atencio on_git
> git clone <repo-name>
> git remote add upstream <repo-name>
> mkdir src
> touch main.py
> git add –A
> git commit –am “New source directory”
> git push upstream master
# navigate to repo home directory
> touch “.gitignore”
# add file extension you with to ignore
#add:
        # Files to exclude #
        ###################
        *.txt   # exclude text files
   *.orig # exclude merge backups

> touch ABOUT.txt
> git add –A ; git commit –am “New Text file”
> git push upstream master # No changes made to repo
# Move file
> git add –A
> git commit –am “Moving file”
> git push upstream master
# Add command aliases to facilitate day to day routines.
# Single command:
> git config --global alias.alias command
# User’s directory, create “.gitconfig” file. Example:
         [alias]
            ac = !git add -A && git commit
# To verify:
> git config --list
# Github does not support direct shell access
# Must use the Github api:
> curl -u ’<username>' https://api.github.com/user/repos -d '{"name":”<repo-name>"}’


# Set up SSH keys with github, then:
> git remote add origin git@github.com:<username>/<rep-name>.git
> git push –u origin master ## requires SSH to be added
• On fork1 make change and push to master branch
• Before merging in fork2, make a change on same line, commit it, and try
  to push to master -> rejected
• Try git pull
• To view change: git diff HEAD
• Resolve merge with git mergetool (opendiff) -> pick change in fork2
• Power command: git ac “Resolve conflict”
• Use git config --global mergetool.keepBackup false to remove .orig files
  or add them to .gitignore
• git pull on fork1 and merge changes
• https://help.github.com/articles/fork-a-repo
• http://gitref.org/remotes/#push
• https://help.github.com/
• http://www.youtube.com/watch?v=4XpnKHJAok8
• http://www.youtube.com/watch?v=_yQlKEq-Ueg
• http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/
• http://betterexplained.com/articles/a-visual-guide-to-version-control/
• http://git.or.cz/course/svn.html
• http://oli.jp/2012/git-powerup/

More Related Content

PPTX
GitHub Presentation
BrianSchilder
 
PDF
Git basics
GHARSALLAH Mohamed
 
PDF
Version Control History and Git Basics
Sreedath N S
 
PPTX
Git - Basic Crash Course
Nilay Binjola
 
KEY
Introduction To Git
Arnaud Seilles
 
PPTX
Git extension-training
Eric Guo
 
PPTX
Git tutorial
TingYen Lee
 
PDF
Introduction to Version Control with GIT
ismet özöztürk
 
GitHub Presentation
BrianSchilder
 
Git basics
GHARSALLAH Mohamed
 
Version Control History and Git Basics
Sreedath N S
 
Git - Basic Crash Course
Nilay Binjola
 
Introduction To Git
Arnaud Seilles
 
Git extension-training
Eric Guo
 
Git tutorial
TingYen Lee
 
Introduction to Version Control with GIT
ismet özöztürk
 

What's hot (20)

PPTX
Git 101 for Beginners
Anurag Upadhaya
 
PDF
git and github
Darren Oakley
 
PPT
Introduction to Git and Github
Somkiat Puisungnoen
 
PPTX
Git basics
Ashwin Date
 
PPTX
Github basics
Radoslav Georgiev
 
PDF
Mini git tutorial
Cristian Lucchesi
 
PPTX
Introduction git
Dian Sigit Prastowo
 
PDF
Git basics
Amit Sawhney
 
PPTX
Git for a newbie
Anuj Sharma
 
PDF
Git Tutorial
Pranav Kulkarni
 
PPTX
From svn to git
Nehal Shah
 
PPT
Git101
Jason Noble
 
PDF
Git - An Introduction
Behzad Altaf
 
PDF
Git and github 101
Senthilkumar Gopal
 
PPTX
Github
MeetPatel710
 
PDF
GIT | Distributed Version Control System
Mohammad Imam Hossain
 
PDF
Git real slides
Lucas Couto
 
PDF
Intro to Git and GitHub
Panagiotis Papadopoulos
 
PPTX
Intro to Git and GitHub
Uri Goldstein
 
KEY
The everyday developer's guide to version control with Git
E Carter
 
Git 101 for Beginners
Anurag Upadhaya
 
git and github
Darren Oakley
 
Introduction to Git and Github
Somkiat Puisungnoen
 
Git basics
Ashwin Date
 
Github basics
Radoslav Georgiev
 
Mini git tutorial
Cristian Lucchesi
 
Introduction git
Dian Sigit Prastowo
 
Git basics
Amit Sawhney
 
Git for a newbie
Anuj Sharma
 
Git Tutorial
Pranav Kulkarni
 
From svn to git
Nehal Shah
 
Git101
Jason Noble
 
Git - An Introduction
Behzad Altaf
 
Git and github 101
Senthilkumar Gopal
 
Github
MeetPatel710
 
GIT | Distributed Version Control System
Mohammad Imam Hossain
 
Git real slides
Lucas Couto
 
Intro to Git and GitHub
Panagiotis Papadopoulos
 
Intro to Git and GitHub
Uri Goldstein
 
The everyday developer's guide to version control with Git
E Carter
 
Ad

Viewers also liked (20)

DOCX
Immigration solicitors in london
Venkat Bandla
 
PPTX
Strategic ERP Solution Management Centre Model
AlexNelson23
 
PDF
Taller recuperacion final septimo
Jorge Hernan Arcila Aristizabal
 
PDF
Ensuring Data Protection Using Oracle Flashback Features
Pini Dibask
 
PPTX
Propuestas metodologicas miercoles 19
Malejandra Duran
 
PDF
Portfolio of "Oscar Design"
Olga Zhirova
 
PDF
Cronograma financeiro 2015-06-25_09_45_51
Francis Zeman
 
PDF
Nivelacion sexto
Jorge Hernan Arcila Aristizabal
 
PDF
(01) Fábrica de ídolos - pdf
Daniel De Castro Alves
 
PPTX
Data mining process powerpoint presentation templates
SlideTeam.net
 
PDF
Certificados Locutor Acta 16
Facultad de Humanidades y Educación
 
PDF
Behat: Beyond the Basics
Jessica Mauerhan
 
PPTX
Building a Multi-tenanted SaaS with Node.js
Eoin Shanaghy
 
PPTX
Nivea case Study
Tushar Arora
 
PDF
268 let it pass poem
MyWonderStudio
 
PDF
Tomorrow Marketer 03 - Insights
Van Anh Phi
 
PPTX
Database Consolidation using the Oracle Multitenant Architecture
Pini Dibask
 
PDF
Declaring friend function with inline code
Rajeev Sharan
 
PPTX
Navegadores fenícios e conquistadores persas
Lilian Larroca
 
PDF
Data Types In PHP
Mark Niebergall
 
Immigration solicitors in london
Venkat Bandla
 
Strategic ERP Solution Management Centre Model
AlexNelson23
 
Taller recuperacion final septimo
Jorge Hernan Arcila Aristizabal
 
Ensuring Data Protection Using Oracle Flashback Features
Pini Dibask
 
Propuestas metodologicas miercoles 19
Malejandra Duran
 
Portfolio of "Oscar Design"
Olga Zhirova
 
Cronograma financeiro 2015-06-25_09_45_51
Francis Zeman
 
(01) Fábrica de ídolos - pdf
Daniel De Castro Alves
 
Data mining process powerpoint presentation templates
SlideTeam.net
 
Certificados Locutor Acta 16
Facultad de Humanidades y Educación
 
Behat: Beyond the Basics
Jessica Mauerhan
 
Building a Multi-tenanted SaaS with Node.js
Eoin Shanaghy
 
Nivea case Study
Tushar Arora
 
268 let it pass poem
MyWonderStudio
 
Tomorrow Marketer 03 - Insights
Van Anh Phi
 
Database Consolidation using the Oracle Multitenant Architecture
Pini Dibask
 
Declaring friend function with inline code
Rajeev Sharan
 
Navegadores fenícios e conquistadores persas
Lilian Larroca
 
Data Types In PHP
Mark Niebergall
 
Ad

Similar to Luis atencio on_git (20)

PPTX
Git and github
Teodora Ahkozidou
 
PPTX
Introduction to Git and Github
Max Claus Nunes
 
PPTX
Git and Github
Teodora Ahkozidou
 
PDF
Git with the flow
Dana White
 
PDF
Fundamentals of Git
cmckni3
 
PPTX
Git and GitHub
Priya Nayak
 
PPTX
Git presentation bixlabs
Bixlabs
 
PDF
Git Mastery
ShehryarSH1
 
PPTX
Intro to Git and Github
Andrew Babiec
 
PPTX
git github PPT_GDSCIIITK.pptx
AbelPhilipJoseph
 
PDF
Introduction to git
Sameera Wijesekara
 
PPT
Fundamentals and basics of Git and commands
DivyanshGupta922023
 
PDF
git-presentation.pdf
2022bcacsbshubh12897
 
PPTX
Introduction to Git and Github
Md Atique Ahmed Ziad
 
PPTX
Git Session 2K23.pptx
Eshaan35
 
PPTX
An introduction to Git
Muhil Vannan
 
KEY
Let's Git this Party Started: An Introduction to Git and GitHub
Kim Moir
 
PPT
Introduction to git
Nguyen Van Hung
 
PDF
Git Init (Introduction to Git)
GDSC UofT Mississauga
 
Git and github
Teodora Ahkozidou
 
Introduction to Git and Github
Max Claus Nunes
 
Git and Github
Teodora Ahkozidou
 
Git with the flow
Dana White
 
Fundamentals of Git
cmckni3
 
Git and GitHub
Priya Nayak
 
Git presentation bixlabs
Bixlabs
 
Git Mastery
ShehryarSH1
 
Intro to Git and Github
Andrew Babiec
 
git github PPT_GDSCIIITK.pptx
AbelPhilipJoseph
 
Introduction to git
Sameera Wijesekara
 
Fundamentals and basics of Git and commands
DivyanshGupta922023
 
git-presentation.pdf
2022bcacsbshubh12897
 
Introduction to Git and Github
Md Atique Ahmed Ziad
 
Git Session 2K23.pptx
Eshaan35
 
An introduction to Git
Muhil Vannan
 
Let's Git this Party Started: An Introduction to Git and GitHub
Kim Moir
 
Introduction to git
Nguyen Van Hung
 
Git Init (Introduction to Git)
GDSC UofT Mississauga
 

More from Luis Atencio (8)

PPTX
Functional programming for the Advanced Beginner
Luis Atencio
 
PDF
379008-rc217-functionalprogramming
Luis Atencio
 
PDF
DZone_RC_RxJS
Luis Atencio
 
PPTX
PHP = PHunctional Programming
Luis Atencio
 
PPTX
Luis Atencio on RxJS
Luis Atencio
 
PPTX
Thinking Functionally with JavaScript
Luis Atencio
 
PPTX
Functional Programming in JavaScript by Luis Atencio
Luis Atencio
 
PPTX
Java script Techniques Part I
Luis Atencio
 
Functional programming for the Advanced Beginner
Luis Atencio
 
379008-rc217-functionalprogramming
Luis Atencio
 
DZone_RC_RxJS
Luis Atencio
 
PHP = PHunctional Programming
Luis Atencio
 
Luis Atencio on RxJS
Luis Atencio
 
Thinking Functionally with JavaScript
Luis Atencio
 
Functional Programming in JavaScript by Luis Atencio
Luis Atencio
 
Java script Techniques Part I
Luis Atencio
 

Recently uploaded (20)

PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
PDF
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PDF
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 

Luis atencio on_git

  • 3. A Free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Created by Linus Torvalds.
  • 4. If you are not distributed, you are not worth using Linus Torvalds
  • 5. If you perform badly, you are not worth using Linus Torvalds
  • 6. If you cannot guarantee that what I check in, checks out exactly the same way, you are not worth using Linus Torvalds
  • 10. • Distributed: no need to access a central server in order to use version control. Every revision is tracked locally. Every Git workspace is a full blown version control system • Offline: users can commit/diff and do everything offline • Merging and Branching: core of Git. Performant • Fault-tolerant: no single point of failure
  • 11. • You cannot do partial checkouts (partial clones) • Windows support is not as great as other for OS. • No “latest version”. Git uses hashes which are unreadable for humans • No global revision numbers.
  • 12. • Windows executable – http://git-scm.com/download/win • Linux: – http://git-scm.com/download/linux • Mac: – http://git-scm.com/download/mac – http://www.macports.org/
  • 13. • Everyone has a local sandbox, you have your own copy of the repo • It works offline • It’s fast, performance built from the core • It handles changes well, branching and merging is core • Does not track empty folders
  • 14. – Status = working tree status – Push = update remote refs + objs – Fetch = download remote refs + objs – pull = fetch + merge – Init = create empty git repo – Commit = record changes to repo – Add = add to index – Diff = show changes between commits and working directories – Merge = join 2+ dev histories – Clone = gives you a complete copy of that repo on your system – Branch = list/create/delete branches – Tag = list/create/delete tags …and much more
  • 16. > git clone <repo-name> > git remote add upstream <repo-name> > mkdir src > touch main.py > git add –A > git commit –am “New source directory” > git push upstream master
  • 17. # navigate to repo home directory > touch “.gitignore” # add file extension you with to ignore #add: # Files to exclude # ################### *.txt # exclude text files *.orig # exclude merge backups > touch ABOUT.txt > git add –A ; git commit –am “New Text file” > git push upstream master # No changes made to repo
  • 18. # Move file > git add –A > git commit –am “Moving file” > git push upstream master
  • 19. # Add command aliases to facilitate day to day routines. # Single command: > git config --global alias.alias command # User’s directory, create “.gitconfig” file. Example: [alias] ac = !git add -A && git commit # To verify: > git config --list
  • 20. # Github does not support direct shell access # Must use the Github api: > curl -u ’<username>' https://api.github.com/user/repos -d '{"name":”<repo-name>"}’ # Set up SSH keys with github, then: > git remote add origin [email protected]:<username>/<rep-name>.git > git push –u origin master ## requires SSH to be added
  • 21. • On fork1 make change and push to master branch • Before merging in fork2, make a change on same line, commit it, and try to push to master -> rejected • Try git pull • To view change: git diff HEAD • Resolve merge with git mergetool (opendiff) -> pick change in fork2 • Power command: git ac “Resolve conflict” • Use git config --global mergetool.keepBackup false to remove .orig files or add them to .gitignore • git pull on fork1 and merge changes
  • 22. • https://help.github.com/articles/fork-a-repo • http://gitref.org/remotes/#push • https://help.github.com/ • http://www.youtube.com/watch?v=4XpnKHJAok8 • http://www.youtube.com/watch?v=_yQlKEq-Ueg • http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/ • http://betterexplained.com/articles/a-visual-guide-to-version-control/ • http://git.or.cz/course/svn.html • http://oli.jp/2012/git-powerup/

Editor's Notes

  • #2: TDE - Welcome everyone