• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Git basic stanley hsiao 2010_12_15
 

Git basic stanley hsiao 2010_12_15

on

  • 253 views

 

Statistics

Views

Total Views
253
Views on SlideShare
253
Embed Views
0

Actions

Likes
0
Downloads
2
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

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

    Git basic stanley hsiao 2010_12_15 Git basic stanley hsiao 2010_12_15 Presentation Transcript

    • Git Basic2 Stanley Hsiao 2010.12.15
    • Caution!!• Note that this is not a step-by-step tutorial• Contains only some concepts and illustrations
    • Resource• Books – Progit • Online book written by Scott Chacon – The Git Community Book • maintained by Scott Chacon• Interface Tools – http://git-scm.com/tools • TortoiseGit (Windows) – TortoiseGit is a port of the popular TortoiseSVN project to Git.
    • Pro git http://progit.org/book/• 1. Getting Started – 1.1 - About Version Control – 1.2 - A Short History of Git – 1.3 - Git Basics – 1.4 - Installing Git – 1.5 - First-Time Git Setup – 1.6 - Getting Help – 1.7 - Summary• 2. Git Basics – 2.1 - Getting a Git Repository – 2.2 - Recording Changes to the Repository – 2.3 - Viewing the Commit History – 2.4 - Option Description of Output – 2.5 - %s Subject – 2.6 - Option Description – 2.7 - Option Description – 2.8 - Undoing Things – 2.9 - Working with Remotes – 2.10 - Tagging – 2.11 - Tips and Tricks – 2.12 - Summary
    • Git Basics• Chapter 2• Git Basics• If you can read only one chapter to get going with Git, this is it. – 2.1 - Getting a Git Repository git init, git clone – 2.2 - Recording Changes to the Repository git status, git add, git commit – 2.3 - Viewing the Commit History git log, – 2.4 - Option Description of Output – 2.5 - %s Subject – 2.6 - Option Description – 2.7 - Option Description – 2.8 - Undoing Things git reset – 2.9 - Working with Remotes git remote, git fetch, git push – 2.10 - Tagging git tag, git show, – 2.11 - Tips and Tricks git …. – 2.12 - Summary
    • Single user version control
    • Outline• Basic Command of revision control software• Review Branch in git – Understanding git log – Detached Head State• Merge VS. Rebase
    • Basic Commands generateSoft repository local reba clone pull push checkout update lock add remove move copy merge commit revert bundleware init branches se file cp Unk [then init / init - fetch checko rebaGit clone push branch clone pull now add rm mv ] git merge commit bundle -bare [72] ut se n add[7 3]
    • Git Basics• Nearly Every Operation Is Local
    • REVIEW BRANCH IN GIT
    • Head
    • Review of Branch
    • What is the differencebetween a tag and a branch in git?• From the theoretical point of view: – tags are symbolic names for a given revision. – branches are symbolic names for line of development.
    • Git overviewhttps://github.com/swem/training-for-using-git/
    • git log
    • git log –decorate=full
    • git log –decorate=full
    • Understanding git log• refs/heads/master• refs/heads/new_branch• HEAD• refs/remotes/origin/master• refs/remotes/origin/new_branch• tag: refs/tags/v0.1• tag: refs/tags/v0.2 • Recommend reading especially http://progit.org/book/ch3-5.html
    • “Detached head” state
    • “Detached head” state• git checkout – Branchhead Example: git checkout my_bch – Arbitrary commit Example: git checkout 48eeb5 • “Detached head” state
    • “Detached head” state• Examining an old version without creating a new branch• it means the HEAD file points directly to a commit, not to a symbolic reference.
    • “Detached head” stateit means the HEAD file points directly to acommit, not to a symbolic reference.
    • “Detached head” statePros Cons• easy way to check out a • The issue is that you particular version without generally don’t want to having to make up a name work in a detached head for the new branch. environment, because it’s• You can still create a new easy to lose changes. branch (or tag) for this version later if you decide to.
    • MERGE VS. REBASE
    • Merge BranchBEFORE AFTER
    • Rebase BranchBEFORE AFTER
    • Rebase Branch• Do not rebase commits that you have pushed to a public repository. – http://progit.org/book/ch3-6.html
    • Multi-user version control
    • Remote• open source software hosting facilities: – http://en.wikipedia.org/wiki/Comparison_of_ope n_source_software_hosting_facilities• One of these – GitHub
    • github• SSH channel – Get help with generating ssh keys http://help.github.com/
    • github
    • github
    • git push• Example in http://www.kernel.org/pub/software/scm/git/ docs/git-push.html• git push (remote) (branch): – Example: git push origin my_branch• you have to explicitly push the branches you want to share.
    • git push• you have to explicitly push the branches you want to share. – That way, you can use private branches for work you don’t want to share, and push up only the topic branches you want to collaborate on.
    • References• http://progit.org/book/• http://www.kernel.org/pub/software/scm/git/ docs/user-manual.html