Git basic stanley hsiao 2010_12_15

373 views
248 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
373
On SlideShare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Git basic stanley hsiao 2010_12_15

  1. 1. Git Basic2 Stanley Hsiao 2010.12.15
  2. 2. Caution!!• Note that this is not a step-by-step tutorial• Contains only some concepts and illustrations
  3. 3. 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.
  4. 4. 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
  5. 5. 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
  6. 6. Single user version control
  7. 7. Outline• Basic Command of revision control software• Review Branch in git – Understanding git log – Detached Head State• Merge VS. Rebase
  8. 8. 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]
  9. 9. Git Basics• Nearly Every Operation Is Local
  10. 10. REVIEW BRANCH IN GIT
  11. 11. Head
  12. 12. Review of Branch
  13. 13. 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.
  14. 14. Git overviewhttps://github.com/swem/training-for-using-git/
  15. 15. git log
  16. 16. git log –decorate=full
  17. 17. git log –decorate=full
  18. 18. 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
  19. 19. “Detached head” state
  20. 20. “Detached head” state• git checkout – Branchhead Example: git checkout my_bch – Arbitrary commit Example: git checkout 48eeb5 • “Detached head” state
  21. 21. “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.
  22. 22. “Detached head” stateit means the HEAD file points directly to acommit, not to a symbolic reference.
  23. 23. “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.
  24. 24. MERGE VS. REBASE
  25. 25. Merge BranchBEFORE AFTER
  26. 26. Rebase BranchBEFORE AFTER
  27. 27. Rebase Branch• Do not rebase commits that you have pushed to a public repository. – http://progit.org/book/ch3-6.html
  28. 28. Multi-user version control
  29. 29. Remote• open source software hosting facilities: – http://en.wikipedia.org/wiki/Comparison_of_ope n_source_software_hosting_facilities• One of these – GitHub
  30. 30. github• SSH channel – Get help with generating ssh keys http://help.github.com/
  31. 31. github
  32. 32. github
  33. 33. 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.
  34. 34. 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.
  35. 35. References• http://progit.org/book/• http://www.kernel.org/pub/software/scm/git/ docs/user-manual.html

×