Git
A Simple Introduction to
Daniel Tai, 2013
References
1. Lars Vogel, Git Tutorial
http://www.vogella.com/articles/Git/article.html

2. Atlassian, Git Tutorial
https:...
What is version control system?
Distributed version control system
What is Git?
Simply put, Git is a distributed version control
system
Local Repository Operations
Git uses "Staging" workflow
Commonly Used Commands
● Initialize a repo
○ git init
○ git clone
● Add files to staging
area
○ git add
● Creating a snaps...
Check here for more detailed stuffs!
https://www.atlassian.com/git/tutorial/git-basics
Before start using git…...
Setup your name and email so others can know
who committed changes:
$ git config --global user....
Initializing a repo
● git init
○ Create a repo locally

● git clone <repo>
○ Clone another repo
○ More on this later
Staging files and Reverting changes
● git add <file>
○ Add <file> to staging area

● git reset <file>
○ Remove <file> from...
Creating a snapshot
● git commit -m '<comment>'
○ Create a snapshot of all files in staging area
○ Always add comments, so...
Checking Status
● git status
○ Check for status: staged files and new files

● git diff
○ Check for changes in files

● gi...
Hands on Time!
Head to http://try.github.io and finish to
challenge 9
Commonly Used Commands, cont.
● Viewing previous commits
○ git checkout
● Undo a commit
○ git revert
● Unstage or revert f...
Viewing previous commits
● git checkout <commit>
○ Checkout <commit>. You will be detached from
master branch.

● git chec...
Reverting old commits
● git revert <commit>
○ Revert to <commit> and make it as a new commit
Resetting commits
● git reset <file>
○ Remove <file> from staging area
○ Does not change file content

● git reset
○ Remov...
Working with Remote Repositories
Commands related to remote repos
● Assigning remote repository
○ git remote add <url>
● Upload local commits
○ git push
● ...
Working with Github
1. Apply a Github account here
(Optionally, you can upgrade to education
account here)
2. Make sure th...
Connect with remote repo
● Case 1: You’ve started a local repo. You
want to push to remote repo
○ git remote add origin <u...
Synchronizing changes
● git pull
○ Pull (download) remote commits and merge them
into working directory
○ Merging is usual...
Hands on Time!
Back to http://try.github.io and finish to
challenge 17
Open a repo on Github and try playing around
your s...
Branch and other stuff…...
Check out the references for more!
Upcoming SlideShare
Loading in …5
×

A Simple Introduction to Git

1,107 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

A Simple Introduction to Git

  1. 1. Git A Simple Introduction to Daniel Tai, 2013
  2. 2. References 1. Lars Vogel, Git Tutorial http://www.vogella.com/articles/Git/article.html 2. Atlassian, Git Tutorial https://www.atlassian.com/git/ 3. Github, Try Git yourself http://try.github.io/
  3. 3. What is version control system?
  4. 4. Distributed version control system
  5. 5. What is Git? Simply put, Git is a distributed version control system
  6. 6. Local Repository Operations
  7. 7. Git uses "Staging" workflow
  8. 8. Commonly Used Commands ● Initialize a repo ○ git init ○ git clone ● Add files to staging area ○ git add ● Creating a snapshot ○ git commit ● Un-track a file ○ git rm ● Configuring git ○ git config ● Checking status ○ git status ○ git diff ○ git log
  9. 9. Check here for more detailed stuffs! https://www.atlassian.com/git/tutorial/git-basics
  10. 10. Before start using git…... Setup your name and email so others can know who committed changes: $ git config --global user.name "<name>" $ git config --global user.email "<email>"
  11. 11. Initializing a repo ● git init ○ Create a repo locally ● git clone <repo> ○ Clone another repo ○ More on this later
  12. 12. Staging files and Reverting changes ● git add <file> ○ Add <file> to staging area ● git reset <file> ○ Remove <file> from staging area ○ See later slides for more about git reset ● Don’t get confused with: git rm <file> ○ Untrack and delete <file>
  13. 13. Creating a snapshot ● git commit -m '<comment>' ○ Create a snapshot of all files in staging area ○ Always add comments, so you and others can see what you’ve been doing
  14. 14. Checking Status ● git status ○ Check for status: staged files and new files ● git diff ○ Check for changes in files ● git log ○ Check commit log
  15. 15. Hands on Time! Head to http://try.github.io and finish to challenge 9
  16. 16. Commonly Used Commands, cont. ● Viewing previous commits ○ git checkout ● Undo a commit ○ git revert ● Unstage or revert files ○ git reset ● Delete all un-tracked files ○ git clean
  17. 17. Viewing previous commits ● git checkout <commit> ○ Checkout <commit>. You will be detached from master branch. ● git checkout <commit> <file> ○ Checkout <file> in <commit> and put it into stage area ○ Use this function to revive old version of file into new commits
  18. 18. Reverting old commits ● git revert <commit> ○ Revert to <commit> and make it as a new commit
  19. 19. Resetting commits ● git reset <file> ○ Remove <file> from staging area ○ Does not change file content ● git reset ○ Remove all files from staging area ○ Does not change file content ● git reset has some other dangerous functions, see here. Never use them if you don’t fully understand it.
  20. 20. Working with Remote Repositories
  21. 21. Commands related to remote repos ● Assigning remote repository ○ git remote add <url> ● Upload local commits ○ git push ● Download remote commits ○ git pull
  22. 22. Working with Github 1. Apply a Github account here (Optionally, you can upgrade to education account here) 2. Make sure that you’ve setup your name and email (see this slide) 3. Follow the instructions here
  23. 23. Connect with remote repo ● Case 1: You’ve started a local repo. You want to push to remote repo ○ git remote add origin <url> ■ The <url> can be obtained on Github page ○ git push -u origin master ● Case 2: You are cloning other’s remote repo ○ git clone <url>
  24. 24. Synchronizing changes ● git pull ○ Pull (download) remote commits and merge them into working directory ○ Merging is usually done automatically ● git push ○ Push (upload) your local commits
  25. 25. Hands on Time! Back to http://try.github.io and finish to challenge 17 Open a repo on Github and try playing around your self
  26. 26. Branch and other stuff…... Check out the references for more!

×