Introduction to Git
Upcoming SlideShare
Loading in...5
×
 

Introduction to Git

on

  • 929 views

Git - Introduction and Exercises

Git - Introduction and Exercises
National Chengchi University
LittleQ

Statistics

Views

Total Views
929
Views on SlideShare
927
Embed Views
2

Actions

Likes
0
Downloads
16
Comments
0

2 Embeds 2

http://www.linkedin.com 1
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Introduction to Git Introduction to Git Presentation Transcript

  • 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
  • Commitcommit bf74427f03bc80927f97755772d87e579604cf35 commit 72da1eb5da5596432b0b36534169756f44bae70f commit a9718b877b45f987502357204fdbe0ec7599b46c Git Introduction Version Control System
  • Commitcommit 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,  99XXXXXXfunction  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