SlideShare a Scribd company logo
Introduction to Git
    Version Control System
Who am I
•   LittleQ, junior student@ NCCUCS
•   Software engineer @ Genie Capital
•   Co-organizer @ Taipei Google Tech User Group
•   Instructor @ Geego system, Inc
•   http://about.me/littleq
•   Python, Linux and everything geeky!
                                          Git Introduction
                                          Version Control System
What is Git

•   Version control system
•   Coding history
•   Distributed version control



                                  Git Introduction
                                  Version Control System
Version
     False                                    True

                    commit	
  296fad37b4e3e78bd952d419625d87f52a3d52d4

    Diablo I
                    Merge:	
  e5fb1da	
  fe68f70
                    Author:	
  Jacob	
  Thornton	
  <jacobthornton@gmail.com>
                    Date:	
  	
  	
  Thu	
  Nov	
  24	
  11:13:33	
  2011	
  -­‐0800
   Diablo II        	
  	
  	
  	
  新增⼀一行很重要的code,把bug給修好了!
Diablo III (5/15)   commit	
  fe68f708ce723cef640c1cf784cb29da513bca22

   Starcraft I      Author:	
  Martin	
  Bean	
  <martin@mcbwebdesign.co.uk>
                    Date:	
  	
  	
  Thu	
  Nov	
  24	
  19:06:00	
  2011	
  +0000

  Starcraft II      	
  	
  	
  	
  樓上對不起!我不小心把你code給砍了=	
  =




                                                      Git Introduction
                                                      Version Control System
Why Git

•   Maintenance
•   Debug
•   Responsibility



                         Git Introduction
                         Version Control System
History


•   Developed by Linus Torvalds
•   Born for improving the development of
    Linux Kernel



                                    Git Introduction
                                    Version Control System
Who need Git

•   Real Engineer
•   Engineers who is working with thousands
    of thousands of lines of code
•   Wanna being a contributor of open source
    projects


                                     Git Introduction
                                     Version Control System
Requirement




              Git Introduction
              Version Control System
Scenario


•   Team work
•   Code management




                       Git Introduction
                       Version Control System
Terminology

•   commit
•   stage
•   repository



                          Git Introduction
                          Version Control System
Commit
commit bf74427f03bc80927f97755772d87e579604cf35




         commit 72da1eb5da5596432b0b36534169756f44bae70f




                       commit a9718b877b45f987502357204fdbe0ec7599b46c




                                                            Git Introduction
                                                            Version Control System
Commit
commit inside:
  diff	
  -­‐-­‐git	
  a/omgtt/configs/staging/settings.py	
  b/omgtt/configs/
  staging/settings.py
  index	
  a17ad10..932c66a	
  100644
  -­‐-­‐-­‐	
  a/omgtt/configs/staging/settings.py
  +++	
  b/omgtt/configs/staging/settings.py
  @@	
  -­‐10,7	
  +10,7	
  @@	
  ADMIN_MEDIA_PREFIX	
  =	
  '/static/admin/'
  	
  DOWNLOAD_DIRECTORY	
  =	
  '/tmp/'
  	
  
  	
  SITE_DOMAIN	
  =	
  'omg.demo.gd:3377'
  +SITE_ID	
  =	
  '4ef4509316d5ad652a00001c'
  -­‐SITE_ID	
  =	
  ''
  	
  
  	
  
  	
  INTERNAL_IPS	
  =	
  ()


                                                                     Git Introduction
                                                                     Version Control System
Let’s rock!


              Git Introduction
              Version Control System
Steps

•   Install Git
•   Setup Git
•   Initialize your first local repository
•   Commit, commit and commit!


                                             Git Introduction
                                             Version Control System
Install Git


•   In Linux, it is just a piece of cake
•   In Windows, google it




                                           Git Introduction
                                           Version Control System
Using Git on ghost

•   For using the latest version of git:
    `export	
  PATH=”/opt/csw/bin:$PATH”`
•   Write it down in your ~/.profile
•   And login again


                                        Git Introduction
                                        Version Control System
Setup Git

•   Username
    git config --global user.name “LittleQ”
•   Email
    git config --global user.email “your email”


                                        Git Introduction
                                        Version Control System
Repo init

•   Get into your project’s root directory
•   `git init`
•   `git add .`
•   `git commit -m “first commit”`


                                        Git Introduction
                                        Version Control System
Commit

•   the basic unit of modified records
•   changes can be on single file or multiple
    files
•   can be deleting files or adding files


                                            Git Introduction
                                            Version Control System
Make a commit

•   Make the modifications
•   `git status`
•   `git add <modified-files>`
•   `git commit -m “message”`


                                 Git Introduction
                                 Version Control System
Push & Pull

•   Push: send your modifications to the
    server
•   Pull: receive the modifications from others
•   `git pull`
•   `git push origin master`

                                       Git Introduction
                                       Version Control System
Clone a Repo


•   git clone <git-repo-url>




                               Git Introduction
                               Version Control System
Github

•   A social website of engineers
    (Engineering version Facebook)
•   Easy to manage your git repo
•   Socialize your work


                                     Git Introduction
                                     Version Control System
Exercise

•   Here we are going to create a repo and
    build a simple Hello World program on it
•   We won’t do much programming stuff, so
    please concentrate
•   Now pick up 3 members (Included
    yourself ) to form a group

    goo.gl/C2vFG                      Git Introduction
                                      Version Control System
Sign Up

•   Just go to sign up an account on Github
•   Find out the profile page of your
    teammates and follow them on github
•   Choose one as the leader and the one
    need to create a repo and add others
    members as the repo members

                                      Git Introduction
                                      Version Control System
Create a Repo and
      Push to Server
•   mkdir teamXX; cd teamXX;
•   git init
•   git remote add origin <url-of-repo>
•   git add .
•   git commit -m “first commit”
•   git push origin master
                                      Git Introduction
                                      Version Control System
Prototype of HW
        cp	
  /usr/local/class/mathcp/materials/git	
  ~/TeamXX

#	
  comments
#	
  teamXX
#	
  99XXXXXX,	
  99XXXXXX,	
  99XXXXXX

function	
  hello1()	
  {
  print(“hello,	
  member1’s	
  name”);
}

function	
  hello2()	
  {
  print(“hello,	
  member2’s	
  name”);
}

function	
  hello3()	
  {
	
  	
  print(“hello,	
  member2’s	
  name”);
}

function	
  main()	
  {
	
  	
  hello1();
	
  	
  hello2();
	
  	
  hello3();
}                                                      Git Introduction
                                                       Version Control System
Notice

•   Each function can only be completed by
    one and different from others
•   Need to push onto github
•   If someone got stuck, help each other


                                      Git Introduction
                                      Version Control System
And More...

•   Branch
•   Merge
•   Remote



                           Git Introduction
                           Version Control System
Repository Hosting

•   Google Code (free)
•   Github (free)
•   Bitbucket (free, private repo)
•   unfuddle
•   repositoryhosting

                                     Git Introduction
                                     Version Control System
Resource

•   Git
    http://git-scm.com/
•   Github help
    http://help.github.com/
•   iHower blog
    http://ihower.tw/blog/posts > Git category

                                      Git Introduction
                                      Version Control System
The End


          Git Introduction
          Version Control System

More Related Content

What's hot

Git for beginners
Git for beginnersGit for beginners
Git for beginners
Arulmurugan Rajaraman
 
Learning git
Learning gitLearning git
Learning git
Sid Anand
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notes
glen_a_smith
 
Git - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash Course
Nilay Binjola
 
Git and Github Session
Git and Github SessionGit and Github Session
Git and Github Session
GoogleDevelopersStud1
 
Git and Github slides.pdf
Git and Github slides.pdfGit and Github slides.pdf
Git and Github slides.pdf
Tilton2
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
Venkat Malladi
 
Git 101 for Beginners
Git 101 for Beginners Git 101 for Beginners
Git 101 for Beginners
Anurag Upadhaya
 
Basic Git Intro
Basic Git IntroBasic Git Intro
Basic Git Intro
Yoad Snapir
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
Senthilkumar Gopal
 
Introduction to Gitlab
Introduction to GitlabIntroduction to Gitlab
Introduction to GitlabJulien Pivotto
 
Github
GithubGithub
Github
MeetPatel710
 
Git and git flow
Git and git flowGit and git flow
Git and git flow
Fran García
 
Git basics
Git basicsGit basics
Git basics
GHARSALLAH Mohamed
 
Git & GitHub WorkShop
Git & GitHub WorkShopGit & GitHub WorkShop
Git & GitHub WorkShop
SheilaJimenezMorejon
 
Git & GitHub for Beginners
Git & GitHub for BeginnersGit & GitHub for Beginners
Git & GitHub for Beginners
Sébastien Saunier
 
GIT | Distributed Version Control System
GIT | Distributed Version Control SystemGIT | Distributed Version Control System
GIT | Distributed Version Control System
Mohammad Imam Hossain
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An Introduction
Behzad Altaf
 
Git and git workflow best practice
Git and git workflow best practiceGit and git workflow best practice
Git and git workflow best practice
Majid Hosseini
 

What's hot (20)

Git for beginners
Git for beginnersGit for beginners
Git for beginners
 
Learning git
Learning gitLearning git
Learning git
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notes
 
Git - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash Course
 
Git and Github Session
Git and Github SessionGit and Github Session
Git and Github Session
 
Git and Github slides.pdf
Git and Github slides.pdfGit and Github slides.pdf
Git and Github slides.pdf
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
 
Git 101 for Beginners
Git 101 for Beginners Git 101 for Beginners
Git 101 for Beginners
 
Basic Git Intro
Basic Git IntroBasic Git Intro
Basic Git Intro
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
 
Introduction to Gitlab
Introduction to GitlabIntroduction to Gitlab
Introduction to Gitlab
 
Github
GithubGithub
Github
 
Git and git flow
Git and git flowGit and git flow
Git and git flow
 
Git basics
Git basicsGit basics
Git basics
 
Git & GitHub WorkShop
Git & GitHub WorkShopGit & GitHub WorkShop
Git & GitHub WorkShop
 
Git & GitHub for Beginners
Git & GitHub for BeginnersGit & GitHub for Beginners
Git & GitHub for Beginners
 
Git real slides
Git real slidesGit real slides
Git real slides
 
GIT | Distributed Version Control System
GIT | Distributed Version Control SystemGIT | Distributed Version Control System
GIT | Distributed Version Control System
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An Introduction
 
Git and git workflow best practice
Git and git workflow best practiceGit and git workflow best practice
Git and git workflow best practice
 

Viewers also liked

Git in 10 minutes
Git in 10 minutesGit in 10 minutes
Git in 10 minutes
Safique Ahmed Faruque
 
CraftCamp for Students - Introduction to git
CraftCamp for Students - Introduction to gitCraftCamp for Students - Introduction to git
CraftCamp for Students - Introduction to git
craftworkz
 
Git techtalk
Git techtalkGit techtalk
Git techtalk
joren de groof
 
Git for the win!
Git for the win!Git for the win!
Git for the win!
Denver Sessink
 
Git - The Incomplete Introduction
Git - The Incomplete IntroductionGit - The Incomplete Introduction
Git - The Incomplete Introduction
rschwietzke
 
An introduction to git
An introduction to gitAn introduction to git
An introduction to git
olberger
 
Securing the Socks Shop
Securing the Socks ShopSecuring the Socks Shop
Securing the Socks Shop
Jason Smith
 
Git Hogent
Git HogentGit Hogent
Git Hogent
Thomas Nys
 
Git 101
Git 101Git 101
Git 101
jayrparro
 
Harvard ABCD-WWW Git presentation
Harvard ABCD-WWW Git presentationHarvard ABCD-WWW Git presentation
Harvard ABCD-WWW Git presentationJeff Byrnes
 
Git Introduction
Git IntroductionGit Introduction
Git Introduction
Gareth Hall
 

Viewers also liked (11)

Git in 10 minutes
Git in 10 minutesGit in 10 minutes
Git in 10 minutes
 
CraftCamp for Students - Introduction to git
CraftCamp for Students - Introduction to gitCraftCamp for Students - Introduction to git
CraftCamp for Students - Introduction to git
 
Git techtalk
Git techtalkGit techtalk
Git techtalk
 
Git for the win!
Git for the win!Git for the win!
Git for the win!
 
Git - The Incomplete Introduction
Git - The Incomplete IntroductionGit - The Incomplete Introduction
Git - The Incomplete Introduction
 
An introduction to git
An introduction to gitAn introduction to git
An introduction to git
 
Securing the Socks Shop
Securing the Socks ShopSecuring the Socks Shop
Securing the Socks Shop
 
Git Hogent
Git HogentGit Hogent
Git Hogent
 
Git 101
Git 101Git 101
Git 101
 
Harvard ABCD-WWW Git presentation
Harvard ABCD-WWW Git presentationHarvard ABCD-WWW Git presentation
Harvard ABCD-WWW Git presentation
 
Git Introduction
Git IntroductionGit Introduction
Git Introduction
 

Similar to Introduction to Git

Git installation and configuration
Git installation and configurationGit installation and configuration
Git installation and configuration
Kishor Kumar
 
Let's Git this Party Started: An Introduction to Git and GitHub
Let's Git this Party Started: An Introduction to Git and GitHubLet's Git this Party Started: An Introduction to Git and GitHub
Let's Git this Party Started: An Introduction to Git and GitHub
Kim Moir
 
Introduction to Git.pptx
Introduction to Git.pptxIntroduction to Git.pptx
Introduction to Git.pptx
gdscuds
 
git and github-1.pptx
git and github-1.pptxgit and github-1.pptx
git and github-1.pptx
tnscharishma
 
Git Tutorial I
Git Tutorial IGit Tutorial I
Git Tutorial I
Jim Yeh
 
Introduction to git and githhub with practicals.pptx
Introduction to git and githhub with practicals.pptxIntroduction to git and githhub with practicals.pptx
Introduction to git and githhub with practicals.pptx
Abdul Salam
 
Github
GithubGithub
Git-r-Done
Git-r-DoneGit-r-Done
Git-r-Done
Cesar Martinez
 
Git, GitHub and Open Source
Git, GitHub and Open SourceGit, GitHub and Open Source
Git, GitHub and Open Source
Lorna Mitchell
 
Demo
DemoDemo
Git extension-training
Git extension-trainingGit extension-training
Git extension-training
Eric Guo
 
Git Basics
Git BasicsGit Basics
Git Basics
Vipul Bajaj
 
Git
GitGit
Learn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levelsLearn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levels
Gorav Singal
 
Intro to Git, GitHub, and Devpost
Intro to Git, GitHub, and DevpostIntro to Git, GitHub, and Devpost
Intro to Git, GitHub, and Devpost
Andrew Kerr
 
Git简介
Git简介Git简介
Git简介
clvrobj
 
Github basics
Github basicsGithub basics
Github basics
Radoslav Georgiev
 
Git'in on Windows
Git'in on WindowsGit'in on Windows
Git'in on Windows
Stacy Vicknair
 
git KT .pptx
git KT .pptxgit KT .pptx
git KT .pptx
sumit583388
 

Similar to Introduction to Git (20)

Git installation and configuration
Git installation and configurationGit installation and configuration
Git installation and configuration
 
Let's Git this Party Started: An Introduction to Git and GitHub
Let's Git this Party Started: An Introduction to Git and GitHubLet's Git this Party Started: An Introduction to Git and GitHub
Let's Git this Party Started: An Introduction to Git and GitHub
 
Introduction to Git.pptx
Introduction to Git.pptxIntroduction to Git.pptx
Introduction to Git.pptx
 
git and github-1.pptx
git and github-1.pptxgit and github-1.pptx
git and github-1.pptx
 
Git Tutorial I
Git Tutorial IGit Tutorial I
Git Tutorial I
 
Introduction to git and githhub with practicals.pptx
Introduction to git and githhub with practicals.pptxIntroduction to git and githhub with practicals.pptx
Introduction to git and githhub with practicals.pptx
 
Github
GithubGithub
Github
 
Git-r-Done
Git-r-DoneGit-r-Done
Git-r-Done
 
Git, GitHub and Open Source
Git, GitHub and Open SourceGit, GitHub and Open Source
Git, GitHub and Open Source
 
Demo
DemoDemo
Demo
 
Git extension-training
Git extension-trainingGit extension-training
Git extension-training
 
Git Basics
Git BasicsGit Basics
Git Basics
 
Git
GitGit
Git
 
Learn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levelsLearn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levels
 
Intro to Git, GitHub, and Devpost
Intro to Git, GitHub, and DevpostIntro to Git, GitHub, and Devpost
Intro to Git, GitHub, and Devpost
 
Git简介
Git简介Git简介
Git简介
 
Github basics
Github basicsGithub basics
Github basics
 
Git 101 for_tarad_dev
Git 101 for_tarad_devGit 101 for_tarad_dev
Git 101 for_tarad_dev
 
Git'in on Windows
Git'in on WindowsGit'in on Windows
Git'in on Windows
 
git KT .pptx
git KT .pptxgit KT .pptx
git KT .pptx
 

More from Colin Su

Introduction to Google Compute Engine
Introduction to Google Compute EngineIntroduction to Google Compute Engine
Introduction to Google Compute EngineColin Su
 
Introduction to Google Cloud Endpoints: Speed Up Your API Development
Introduction to Google Cloud Endpoints: Speed Up Your API DevelopmentIntroduction to Google Cloud Endpoints: Speed Up Your API Development
Introduction to Google Cloud Endpoints: Speed Up Your API Development
Colin Su
 
Functional programming in Python
Functional programming in PythonFunctional programming in Python
Functional programming in PythonColin Su
 
Web2py Code Lab
Web2py Code LabWeb2py Code Lab
Web2py Code LabColin Su
 
A Tour of Google Cloud Platform
A Tour of Google Cloud PlatformA Tour of Google Cloud Platform
A Tour of Google Cloud Platform
Colin Su
 
Introduction to Facebook JavaScript & Python SDK
Introduction to Facebook JavaScript & Python SDKIntroduction to Facebook JavaScript & Python SDK
Introduction to Facebook JavaScript & Python SDK
Colin Su
 
Introduction to MapReduce & hadoop
Introduction to MapReduce & hadoopIntroduction to MapReduce & hadoop
Introduction to MapReduce & hadoop
Colin Su
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
Colin Su
 
Django Deployer
Django DeployerDjango Deployer
Django Deployer
Colin Su
 
Introduction to Google - the most natural way to learn English (English Speech)
Introduction to Google - the most natural way to learn English (English Speech)Introduction to Google - the most natural way to learn English (English Speech)
Introduction to Google - the most natural way to learn English (English Speech)
Colin Su
 
How to Speak Charms Like a Wizard
How to Speak Charms Like a WizardHow to Speak Charms Like a Wizard
How to Speak Charms Like a WizardColin Su
 
房地產報告
房地產報告房地產報告
房地產報告Colin Su
 
Introduction to Facebook Javascript SDK (NEW)
Introduction to Facebook Javascript SDK (NEW)Introduction to Facebook Javascript SDK (NEW)
Introduction to Facebook Javascript SDK (NEW)
Colin Su
 
Introduction to Facebook Python API
Introduction to Facebook Python APIIntroduction to Facebook Python API
Introduction to Facebook Python API
Colin Su
 
Facebook Python SDK - Introduction
Facebook Python SDK - IntroductionFacebook Python SDK - Introduction
Facebook Python SDK - Introduction
Colin Su
 
Web Programming - 1st TA Session
Web Programming - 1st TA SessionWeb Programming - 1st TA Session
Web Programming - 1st TA Session
Colin Su
 
Nested List Comprehension and Binary Search
Nested List Comprehension and Binary SearchNested List Comprehension and Binary Search
Nested List Comprehension and Binary Search
Colin Su
 
Python-List comprehension
Python-List comprehensionPython-List comprehension
Python-List comprehension
Colin Su
 
Python-FileIO
Python-FileIOPython-FileIO
Python-FileIO
Colin Su
 
Python Dictionary
Python DictionaryPython Dictionary
Python Dictionary
Colin Su
 

More from Colin Su (20)

Introduction to Google Compute Engine
Introduction to Google Compute EngineIntroduction to Google Compute Engine
Introduction to Google Compute Engine
 
Introduction to Google Cloud Endpoints: Speed Up Your API Development
Introduction to Google Cloud Endpoints: Speed Up Your API DevelopmentIntroduction to Google Cloud Endpoints: Speed Up Your API Development
Introduction to Google Cloud Endpoints: Speed Up Your API Development
 
Functional programming in Python
Functional programming in PythonFunctional programming in Python
Functional programming in Python
 
Web2py Code Lab
Web2py Code LabWeb2py Code Lab
Web2py Code Lab
 
A Tour of Google Cloud Platform
A Tour of Google Cloud PlatformA Tour of Google Cloud Platform
A Tour of Google Cloud Platform
 
Introduction to Facebook JavaScript & Python SDK
Introduction to Facebook JavaScript & Python SDKIntroduction to Facebook JavaScript & Python SDK
Introduction to Facebook JavaScript & Python SDK
 
Introduction to MapReduce & hadoop
Introduction to MapReduce & hadoopIntroduction to MapReduce & hadoop
Introduction to MapReduce & hadoop
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Django Deployer
Django DeployerDjango Deployer
Django Deployer
 
Introduction to Google - the most natural way to learn English (English Speech)
Introduction to Google - the most natural way to learn English (English Speech)Introduction to Google - the most natural way to learn English (English Speech)
Introduction to Google - the most natural way to learn English (English Speech)
 
How to Speak Charms Like a Wizard
How to Speak Charms Like a WizardHow to Speak Charms Like a Wizard
How to Speak Charms Like a Wizard
 
房地產報告
房地產報告房地產報告
房地產報告
 
Introduction to Facebook Javascript SDK (NEW)
Introduction to Facebook Javascript SDK (NEW)Introduction to Facebook Javascript SDK (NEW)
Introduction to Facebook Javascript SDK (NEW)
 
Introduction to Facebook Python API
Introduction to Facebook Python APIIntroduction to Facebook Python API
Introduction to Facebook Python API
 
Facebook Python SDK - Introduction
Facebook Python SDK - IntroductionFacebook Python SDK - Introduction
Facebook Python SDK - Introduction
 
Web Programming - 1st TA Session
Web Programming - 1st TA SessionWeb Programming - 1st TA Session
Web Programming - 1st TA Session
 
Nested List Comprehension and Binary Search
Nested List Comprehension and Binary SearchNested List Comprehension and Binary Search
Nested List Comprehension and Binary Search
 
Python-List comprehension
Python-List comprehensionPython-List comprehension
Python-List comprehension
 
Python-FileIO
Python-FileIOPython-FileIO
Python-FileIO
 
Python Dictionary
Python DictionaryPython Dictionary
Python Dictionary
 

Recently uploaded

Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 

Recently uploaded (20)

Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 

Introduction to Git

  • 1. Introduction to Git Version Control System
  • 2. Who am I • LittleQ, junior student@ NCCUCS • Software engineer @ Genie Capital • Co-organizer @ Taipei Google Tech User Group • Instructor @ Geego system, Inc • http://about.me/littleq • Python, Linux and everything geeky! Git Introduction Version Control System
  • 3. What is Git • Version control system • Coding history • Distributed version control Git Introduction Version Control System
  • 4. Version False True commit  296fad37b4e3e78bd952d419625d87f52a3d52d4 Diablo I Merge:  e5fb1da  fe68f70 Author:  Jacob  Thornton  <jacobthornton@gmail.com> Date:      Thu  Nov  24  11:13:33  2011  -­‐0800 Diablo II        新增⼀一行很重要的code,把bug給修好了! Diablo III (5/15) commit  fe68f708ce723cef640c1cf784cb29da513bca22 Starcraft I Author:  Martin  Bean  <martin@mcbwebdesign.co.uk> Date:      Thu  Nov  24  19:06:00  2011  +0000 Starcraft II        樓上對不起!我不小心把你code給砍了=  = Git Introduction Version Control System
  • 5. Why Git • Maintenance • Debug • Responsibility Git Introduction Version Control System
  • 6. History • Developed by Linus Torvalds • Born for improving the development of Linux Kernel Git Introduction Version Control System
  • 7. Who need Git • Real Engineer • Engineers who is working with thousands of thousands of lines of code • Wanna being a contributor of open source projects Git Introduction Version Control System
  • 8. Requirement Git Introduction Version Control System
  • 9. Scenario • Team work • Code management Git Introduction Version Control System
  • 10. Terminology • commit • stage • repository Git Introduction Version Control System
  • 11. Commit commit bf74427f03bc80927f97755772d87e579604cf35 commit 72da1eb5da5596432b0b36534169756f44bae70f commit a9718b877b45f987502357204fdbe0ec7599b46c Git Introduction Version Control System
  • 12. Commit commit inside: diff  -­‐-­‐git  a/omgtt/configs/staging/settings.py  b/omgtt/configs/ staging/settings.py index  a17ad10..932c66a  100644 -­‐-­‐-­‐  a/omgtt/configs/staging/settings.py +++  b/omgtt/configs/staging/settings.py @@  -­‐10,7  +10,7  @@  ADMIN_MEDIA_PREFIX  =  '/static/admin/'  DOWNLOAD_DIRECTORY  =  '/tmp/'    SITE_DOMAIN  =  'omg.demo.gd:3377' +SITE_ID  =  '4ef4509316d5ad652a00001c' -­‐SITE_ID  =  ''      INTERNAL_IPS  =  () Git Introduction Version Control System
  • 13. Let’s rock! Git Introduction Version Control System
  • 14. Steps • Install Git • Setup Git • Initialize your first local repository • Commit, commit and commit! Git Introduction Version Control System
  • 15. Install Git • In Linux, it is just a piece of cake • In Windows, google it Git Introduction Version Control System
  • 16. Using Git on ghost • For using the latest version of git: `export  PATH=”/opt/csw/bin:$PATH”` • Write it down in your ~/.profile • And login again Git Introduction Version Control System
  • 17. Setup Git • Username git config --global user.name “LittleQ” • Email git config --global user.email “your email” Git Introduction Version Control System
  • 18. Repo init • Get into your project’s root directory • `git init` • `git add .` • `git commit -m “first commit”` Git Introduction Version Control System
  • 19. Commit • the basic unit of modified records • changes can be on single file or multiple files • can be deleting files or adding files Git Introduction Version Control System
  • 20. Make a commit • Make the modifications • `git status` • `git add <modified-files>` • `git commit -m “message”` Git Introduction Version Control System
  • 21. Push & Pull • Push: send your modifications to the server • Pull: receive the modifications from others • `git pull` • `git push origin master` Git Introduction Version Control System
  • 22. Clone a Repo • git clone <git-repo-url> Git Introduction Version Control System
  • 23. Github • A social website of engineers (Engineering version Facebook) • Easy to manage your git repo • Socialize your work Git Introduction Version Control System
  • 24. Exercise • Here we are going to create a repo and build a simple Hello World program on it • We won’t do much programming stuff, so please concentrate • Now pick up 3 members (Included yourself ) to form a group goo.gl/C2vFG Git Introduction Version Control System
  • 25. Sign Up • Just go to sign up an account on Github • Find out the profile page of your teammates and follow them on github • Choose one as the leader and the one need to create a repo and add others members as the repo members Git Introduction Version Control System
  • 26. Create a Repo and Push to Server • mkdir teamXX; cd teamXX; • git init • git remote add origin <url-of-repo> • git add . • git commit -m “first commit” • git push origin master Git Introduction Version Control System
  • 27. Prototype of HW cp  /usr/local/class/mathcp/materials/git  ~/TeamXX #  comments #  teamXX #  99XXXXXX,  99XXXXXX,  99XXXXXX function  hello1()  { print(“hello,  member1’s  name”); } function  hello2()  { print(“hello,  member2’s  name”); } function  hello3()  {    print(“hello,  member2’s  name”); } function  main()  {    hello1();    hello2();    hello3(); } Git Introduction Version Control System
  • 28. Notice • Each function can only be completed by one and different from others • Need to push onto github • If someone got stuck, help each other Git Introduction Version Control System
  • 29. And More... • Branch • Merge • Remote Git Introduction Version Control System
  • 30. Repository Hosting • Google Code (free) • Github (free) • Bitbucket (free, private repo) • unfuddle • repositoryhosting Git Introduction Version Control System
  • 31. Resource • Git http://git-scm.com/ • Github help http://help.github.com/ • iHower blog http://ihower.tw/blog/posts > Git category Git Introduction Version Control System
  • 32. The End Git Introduction Version Control System