Git and GitHub:Small team basics     Carl Brown
What is this talk        about?Non-branching "straight-line" workflow for errorrecoveryBasic GUI tools (tiny bit of copy&pa...
What is this talk NOT       about?Git internalsBranchingLarge or uncoordinated teams
No substitutes for coordinationhttp://www.flickr.com/photos/chainsawpanda/3590745/sizes/o/in/photostream/
Why?                                                      Lets agree that                                                 ...
...with forks... http://www.flickr.com/photos/simonsterg/4194538607/sizes/l/in/photostream/
...and dead endshttp://www.flickr.com/photos/inside-south-africa/2504355339/sizes/z/in/photostream/
and that it can benice to be able tofind your way back
Raise your hand ifyouve fixed a bugwith multiple ⌘Zs?      Be Honest...
Are you people insane?
So why git?       These days, its       literally MORE       EFFORT to NOT use       git.
Why github?This means thatmost of the 3rd-partysource libraries liveon github.So learn it once, andleverage it.http://wiki...
But...$$Not that expensiveMost single-shopcode might as wellbe open-sourcedanywayFeel free to skip thispart
Theres more:Github has built asimple to use GUI*Greatly* simplifies githttp://mac.github.com
Theres more:  They have good  tutorials
DemoCreate new project  Add to Github
Using git in Xcode
Committing
Modifications?
Commit changes
Enter Message
Source Control View
Click Here:
File Revisions
Changes
Blame
Log/History
Sync with GitHub
Demo Make changesSync to GitHub
3rd Party Repos       Incorporating Code only -Multiple static library dependencies is awhole other talk (and HARD in Xcode)
Git SubmodulesIncorporate codeyou dont want toown(ships with Xcode)
Git subtree                                   As if the code was                                   always yours           ...
git submodule       commandsSee Also: http://git-scm.com/book/en/Git-            Tools-Submodules
Find your repo
Copy URL
Add to Project
Heres that againcd ${YOUR PROJECT}git submodule initgit submodule add ${library_url}External/{lib_name}
Now, Add to Xcode
Add New Group
Pick Add Files
Add the lib source
CommitLets you see all files
Getting updatesAdd External/{Library} to Github appsync (one way) as normalCommit your repo after
Local ModsEither make yourown forkOr copy file tochange to newfolder and moveXcode refDepends on ifchanges useful toother p...
DemoAdd new repo to project
Further information
Other GUIshttp://git-tower.com             http://sourcetreeapp.com              http://gitx.laullon.com
WWDC 2012 Video
Bookhttp://git-scm.com/book/
Upcoming SlideShare
Loading in …5
×

Git single branch

1,347 views

Published on

Presentation from the Austin CocoaCoder.org meeting about working with git and github in Xcode for solo developers or small teams.

Published in: Technology
  • Be the first to comment

Git single branch

  1. 1. Git and GitHub:Small team basics Carl Brown
  2. 2. What is this talk about?Non-branching "straight-line" workflow for errorrecoveryBasic GUI tools (tiny bit of copy&paste commandline)Incorporating 3rd-party sources in a sane way
  3. 3. What is this talk NOT about?Git internalsBranchingLarge or uncoordinated teams
  4. 4. No substitutes for coordinationhttp://www.flickr.com/photos/chainsawpanda/3590745/sizes/o/in/photostream/
  5. 5. Why? Lets agree that building software is like a journey...http://www.flickr.com/photos/ghazzog/2607501537/sizes/l/in/photostream/
  6. 6. ...with forks... http://www.flickr.com/photos/simonsterg/4194538607/sizes/l/in/photostream/
  7. 7. ...and dead endshttp://www.flickr.com/photos/inside-south-africa/2504355339/sizes/z/in/photostream/
  8. 8. and that it can benice to be able tofind your way back
  9. 9. Raise your hand ifyouve fixed a bugwith multiple ⌘Zs? Be Honest...
  10. 10. Are you people insane?
  11. 11. So why git? These days, its literally MORE EFFORT to NOT use git.
  12. 12. Why github?This means thatmost of the 3rd-partysource libraries liveon github.So learn it once, andleverage it.http://wiki.dandascalescu.com/essays/pita-threshold
  13. 13. But...$$Not that expensiveMost single-shopcode might as wellbe open-sourcedanywayFeel free to skip thispart
  14. 14. Theres more:Github has built asimple to use GUI*Greatly* simplifies githttp://mac.github.com
  15. 15. Theres more: They have good tutorials
  16. 16. DemoCreate new project Add to Github
  17. 17. Using git in Xcode
  18. 18. Committing
  19. 19. Modifications?
  20. 20. Commit changes
  21. 21. Enter Message
  22. 22. Source Control View
  23. 23. Click Here:
  24. 24. File Revisions
  25. 25. Changes
  26. 26. Blame
  27. 27. Log/History
  28. 28. Sync with GitHub
  29. 29. Demo Make changesSync to GitHub
  30. 30. 3rd Party Repos Incorporating Code only -Multiple static library dependencies is awhole other talk (and HARD in Xcode)
  31. 31. Git SubmodulesIncorporate codeyou dont want toown(ships with Xcode)
  32. 32. Git subtree As if the code was always yours (doesnt ship with Xcode)http://www.flickr.com/photos/nate/284184160/sizes/l/in/photostream/
  33. 33. git submodule commandsSee Also: http://git-scm.com/book/en/Git- Tools-Submodules
  34. 34. Find your repo
  35. 35. Copy URL
  36. 36. Add to Project
  37. 37. Heres that againcd ${YOUR PROJECT}git submodule initgit submodule add ${library_url}External/{lib_name}
  38. 38. Now, Add to Xcode
  39. 39. Add New Group
  40. 40. Pick Add Files
  41. 41. Add the lib source
  42. 42. CommitLets you see all files
  43. 43. Getting updatesAdd External/{Library} to Github appsync (one way) as normalCommit your repo after
  44. 44. Local ModsEither make yourown forkOr copy file tochange to newfolder and moveXcode refDepends on ifchanges useful toother people or not
  45. 45. DemoAdd new repo to project
  46. 46. Further information
  47. 47. Other GUIshttp://git-tower.com http://sourcetreeapp.com http://gitx.laullon.com
  48. 48. WWDC 2012 Video
  49. 49. Bookhttp://git-scm.com/book/

×