Introduction to Git
                               OJ Tibi <oj@tibi.ph>




Saturday, June 18, 2011

Greets to all.
Ask how many have used Git, of any other RCS, CVS, SVN, etc.
About Me

                     • Ex-ninja of PoliticalArena.com and newbie
                          warrior at Shopinas.com
                     • 3+ years enjoying CakePHP
                     • Fedora fan


Saturday, June 18, 2011

Short description about the author of the presentation.
What is Git?



Saturday, June 18, 2011

Git is a distributed revision control system (RCS). An RCS is a kind of software that tracks
changes on files that are in a certain repository. “Distributed” describes how Git does not
need a central server to record changes on the said repository.
Saturday, June 18, 2011

Short information about Linus Torvalds and on creating Git.
Linus (and the Linux project) needed a new RCS after BitKeeper became non-free.
Linus found that current SCMs lack performance, decided to make Git.
Saturday, June 18, 2011

Short information about Linus Torvalds and on creating Git.
Linus (and the Linux project) needed a new RCS after BitKeeper became non-free.
Linus found that current SCMs lack performance, decided to make Git.
Saturday, June 18, 2011

Short information about Linus Torvalds and on creating Git.
Linus (and the Linux project) needed a new RCS after BitKeeper became non-free.
Linus found that current SCMs lack performance, decided to make Git.
Saturday, June 18, 2011

Short information about Linus Torvalds and on creating Git.
Linus (and the Linux project) needed a new RCS after BitKeeper became non-free.
Linus found that current SCMs lack performance, decided to make Git.
Git is...
                     •    A distributed revision
                          control system

                     •    Created by Linus
                          Torvalds and Junio
                          Hamano

                     •    Independent of network
                          access or a central
                          server (reminds you of
                          SVN, huh?)




Saturday, June 18, 2011

Short description about Git.
Who Uses Git?



Saturday, June 18, 2011

List of companies or projects that use Git, starts with Twitter...
Saturday, June 18, 2011

...Facebook, and CakePHP as examples of projects that use Git.
These projects and companies rely on the fast, independent, distributed nature of Git.
Saturday, June 18, 2011

...Facebook, and CakePHP as examples of projects that use Git.
These projects and companies rely on the fast, independent, distributed nature of Git.
Saturday, June 18, 2011

...Facebook, and CakePHP as examples of projects that use Git.
These projects and companies rely on the fast, independent, distributed nature of Git.
Saturday, June 18, 2011

...Facebook, and CakePHP as examples of projects that use Git.
These projects and companies rely on the fast, independent, distributed nature of Git.
Where to Use Git?



Saturday, June 18, 2011

Following is a list of file types where one may consider putting into an RCS, specifically Git.
Saturday, June 18, 2011

Source code, talk about kinds of source code (HTML5, CSS3, PHP, Python, Ruby, JS)
“Projects like the web site of a multinational company that hopefully wouldn’t get hacked
again and again...”
Saturday, June 18, 2011

PDFs, text documents, spreadsheets, presentations
Next: images (binaries)
Saturday, June 18, 2011

PDFs, text documents, spreadsheets, presentations
Next: images (binaries)
Saturday, June 18, 2011

PDFs, text documents, spreadsheets, presentations
Next: images (binaries)
Saturday, June 18, 2011

PDFs, text documents, spreadsheets, presentations
Next: images (binaries)
Saturday, June 18, 2011

Images (and some binaries), YMMV, as not all images are recommended to be kept inside
source control. Most projects need images, so you might want to count them in. SVG
illustrations, PNG icons, GIF diagrams of your corporate network, JPG photos and even
sometimes PSDs... just to make sure you can roll back to something in case you need to
make some edits. :)
Saturday, June 18, 2011

Images (and some binaries), YMMV, as not all images are recommended to be kept inside
source control. Most projects need images, so you might want to count them in. SVG
illustrations, PNG icons, GIF diagrams of your corporate network, JPG photos and even
sometimes PSDs... just to make sure you can roll back to something in case you need to
make some edits. :)
Saturday, June 18, 2011

Images (and some binaries), YMMV, as not all images are recommended to be kept inside
source control. Most projects need images, so you might want to count them in. SVG
illustrations, PNG icons, GIF diagrams of your corporate network, JPG photos and even
sometimes PSDs... just to make sure you can roll back to something in case you need to
make some edits. :)
Saturday, June 18, 2011

Images (and some binaries), YMMV, as not all images are recommended to be kept inside
source control. Most projects need images, so you might want to count them in. SVG
illustrations, PNG icons, GIF diagrams of your corporate network, JPG photos and even
sometimes PSDs... just to make sure you can roll back to something in case you need to
make some edits. :)
Saturday, June 18, 2011

Images (and some binaries), YMMV, as not all images are recommended to be kept inside
source control. Most projects need images, so you might want to count them in. SVG
illustrations, PNG icons, GIF diagrams of your corporate network, JPG photos and even
sometimes PSDs... just to make sure you can roll back to something in case you need to
make some edits. :)
Getting Git



Saturday, June 18, 2011

Explain the methods how Git can be obtained.
Git It Here
                     •    *Nix                               •   http://git-scm.com/
                                                                 download (build it, old-
                          •   yum install git                    school)

                          •   apt-get install git-core       •   http://macports.org/

                          •   http://git-scm.com/        •   PC
                              download
                                                             •   http://code.google.com/
                     •    Mac                                    p/msysgit

                          •   http://code.google.com/
                              p/git-osx-installer/



Saturday, June 18, 2011

*Note: Didn’t include Cygwin because it’s kinda bloated.
Basic Git Workflow



Saturday, June 18, 2011

To work effectively using Git...
“init” or “clone” a repo             make changes


    “add” and “commit” your changeset

                                              “merge” conflicts, if any


 “push” changes to                          “pull” changes from remote
      remote


                                         “format-patch” for submission
         “tag” a version for
               release
Saturday, June 18, 2011

A basic understanding of a Git workflow. Unlike SVN, Git needs an additional step to “push”
changes from the local repository to the remote repository.
“format-patch” what?!?

                     • git format-patch enables the user to create
                          patches that can be sent via e-mail.
                     • Was useful for Linux kernel devs, reviewing
                          code in small teams.




Saturday, June 18, 2011

format-patch lets the user make patches that can be submitted via electronic mail.
site how Linux devs review the code by peers before submitting to the main repository.
Share Your Code!

                     • “git format-patch” old-skool, but effective
                          for peers
                     • “git push” to a remote repository
                     •             it, or try




Saturday, June 18, 2011

Offer some choices on how to share a Git repository.
Further Reading
                     •    http://git-scm.com/

                     •    http://gitref.org/

                     •    http://www.kernel.org/
                          pub/software/scm/git/
                          docs/gittutorial.html

                     •    http://help.github.com/

                     •    Google it (of course)




Saturday, June 18, 2011

Some reading resources for Git learning.
~Fin~
                 Always code as if the guy who ends up maintaining your code will be
                  a violent psychopath who knows where you live.  ~ Martin Golding




Saturday, June 18, 2011

That concludes the introduction to Git. I hope you had some insight and use it for your
projects.
Follow me!
                                    http://twitter.com/ojtibi
                                          http://tibi.ph/




Saturday, June 18, 2011

Don’t forget to follow me on Twitter and visit my weblog.

Introduction to Git by OJ Tibi is licensed under a Creative Commons Attribution-ShareAlike
3.0 Unported License.

Intro to Git

  • 1.
    Introduction to Git OJ Tibi <oj@tibi.ph> Saturday, June 18, 2011 Greets to all. Ask how many have used Git, of any other RCS, CVS, SVN, etc.
  • 2.
    About Me • Ex-ninja of PoliticalArena.com and newbie warrior at Shopinas.com • 3+ years enjoying CakePHP • Fedora fan Saturday, June 18, 2011 Short description about the author of the presentation.
  • 3.
    What is Git? Saturday,June 18, 2011 Git is a distributed revision control system (RCS). An RCS is a kind of software that tracks changes on files that are in a certain repository. “Distributed” describes how Git does not need a central server to record changes on the said repository.
  • 4.
    Saturday, June 18,2011 Short information about Linus Torvalds and on creating Git. Linus (and the Linux project) needed a new RCS after BitKeeper became non-free. Linus found that current SCMs lack performance, decided to make Git.
  • 5.
    Saturday, June 18,2011 Short information about Linus Torvalds and on creating Git. Linus (and the Linux project) needed a new RCS after BitKeeper became non-free. Linus found that current SCMs lack performance, decided to make Git.
  • 6.
    Saturday, June 18,2011 Short information about Linus Torvalds and on creating Git. Linus (and the Linux project) needed a new RCS after BitKeeper became non-free. Linus found that current SCMs lack performance, decided to make Git.
  • 7.
    Saturday, June 18,2011 Short information about Linus Torvalds and on creating Git. Linus (and the Linux project) needed a new RCS after BitKeeper became non-free. Linus found that current SCMs lack performance, decided to make Git.
  • 8.
    Git is... • A distributed revision control system • Created by Linus Torvalds and Junio Hamano • Independent of network access or a central server (reminds you of SVN, huh?) Saturday, June 18, 2011 Short description about Git.
  • 9.
    Who Uses Git? Saturday,June 18, 2011 List of companies or projects that use Git, starts with Twitter...
  • 10.
    Saturday, June 18,2011 ...Facebook, and CakePHP as examples of projects that use Git. These projects and companies rely on the fast, independent, distributed nature of Git.
  • 11.
    Saturday, June 18,2011 ...Facebook, and CakePHP as examples of projects that use Git. These projects and companies rely on the fast, independent, distributed nature of Git.
  • 12.
    Saturday, June 18,2011 ...Facebook, and CakePHP as examples of projects that use Git. These projects and companies rely on the fast, independent, distributed nature of Git.
  • 13.
    Saturday, June 18,2011 ...Facebook, and CakePHP as examples of projects that use Git. These projects and companies rely on the fast, independent, distributed nature of Git.
  • 14.
    Where to UseGit? Saturday, June 18, 2011 Following is a list of file types where one may consider putting into an RCS, specifically Git.
  • 15.
    Saturday, June 18,2011 Source code, talk about kinds of source code (HTML5, CSS3, PHP, Python, Ruby, JS) “Projects like the web site of a multinational company that hopefully wouldn’t get hacked again and again...”
  • 16.
    Saturday, June 18,2011 PDFs, text documents, spreadsheets, presentations Next: images (binaries)
  • 17.
    Saturday, June 18,2011 PDFs, text documents, spreadsheets, presentations Next: images (binaries)
  • 18.
    Saturday, June 18,2011 PDFs, text documents, spreadsheets, presentations Next: images (binaries)
  • 19.
    Saturday, June 18,2011 PDFs, text documents, spreadsheets, presentations Next: images (binaries)
  • 20.
    Saturday, June 18,2011 Images (and some binaries), YMMV, as not all images are recommended to be kept inside source control. Most projects need images, so you might want to count them in. SVG illustrations, PNG icons, GIF diagrams of your corporate network, JPG photos and even sometimes PSDs... just to make sure you can roll back to something in case you need to make some edits. :)
  • 21.
    Saturday, June 18,2011 Images (and some binaries), YMMV, as not all images are recommended to be kept inside source control. Most projects need images, so you might want to count them in. SVG illustrations, PNG icons, GIF diagrams of your corporate network, JPG photos and even sometimes PSDs... just to make sure you can roll back to something in case you need to make some edits. :)
  • 22.
    Saturday, June 18,2011 Images (and some binaries), YMMV, as not all images are recommended to be kept inside source control. Most projects need images, so you might want to count them in. SVG illustrations, PNG icons, GIF diagrams of your corporate network, JPG photos and even sometimes PSDs... just to make sure you can roll back to something in case you need to make some edits. :)
  • 23.
    Saturday, June 18,2011 Images (and some binaries), YMMV, as not all images are recommended to be kept inside source control. Most projects need images, so you might want to count them in. SVG illustrations, PNG icons, GIF diagrams of your corporate network, JPG photos and even sometimes PSDs... just to make sure you can roll back to something in case you need to make some edits. :)
  • 24.
    Saturday, June 18,2011 Images (and some binaries), YMMV, as not all images are recommended to be kept inside source control. Most projects need images, so you might want to count them in. SVG illustrations, PNG icons, GIF diagrams of your corporate network, JPG photos and even sometimes PSDs... just to make sure you can roll back to something in case you need to make some edits. :)
  • 25.
    Getting Git Saturday, June18, 2011 Explain the methods how Git can be obtained.
  • 26.
    Git It Here • *Nix • http://git-scm.com/ download (build it, old- • yum install git school) • apt-get install git-core • http://macports.org/ • http://git-scm.com/ • PC download • http://code.google.com/ • Mac p/msysgit • http://code.google.com/ p/git-osx-installer/ Saturday, June 18, 2011 *Note: Didn’t include Cygwin because it’s kinda bloated.
  • 27.
    Basic Git Workflow Saturday,June 18, 2011 To work effectively using Git...
  • 28.
    “init” or “clone”a repo make changes “add” and “commit” your changeset “merge” conflicts, if any “push” changes to “pull” changes from remote remote “format-patch” for submission “tag” a version for release Saturday, June 18, 2011 A basic understanding of a Git workflow. Unlike SVN, Git needs an additional step to “push” changes from the local repository to the remote repository.
  • 29.
    “format-patch” what?!? • git format-patch enables the user to create patches that can be sent via e-mail. • Was useful for Linux kernel devs, reviewing code in small teams. Saturday, June 18, 2011 format-patch lets the user make patches that can be submitted via electronic mail. site how Linux devs review the code by peers before submitting to the main repository.
  • 30.
    Share Your Code! • “git format-patch” old-skool, but effective for peers • “git push” to a remote repository • it, or try Saturday, June 18, 2011 Offer some choices on how to share a Git repository.
  • 31.
    Further Reading • http://git-scm.com/ • http://gitref.org/ • http://www.kernel.org/ pub/software/scm/git/ docs/gittutorial.html • http://help.github.com/ • Google it (of course) Saturday, June 18, 2011 Some reading resources for Git learning.
  • 32.
    ~Fin~ Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.  ~ Martin Golding Saturday, June 18, 2011 That concludes the introduction to Git. I hope you had some insight and use it for your projects.
  • 33.
    Follow me! http://twitter.com/ojtibi http://tibi.ph/ Saturday, June 18, 2011 Don’t forget to follow me on Twitter and visit my weblog. Introduction to Git by OJ Tibi is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.