Git hub for designers

639 views

Published on

In this talk, Teehan+Lax developer Ash Furrow will guide designers through the basics of GitHub. He’ll discuss why GitHub is important and teach you the high-level concepts that will get you started with GitHub today.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
639
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
13
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Git hub for designers

  1. 1. GitHub for Designers Ash Furrow, Teehan+Lax @ashfurrow
  2. 2. Learn the fundamentals of git and GitHub in order to better collaborate with teams.
  3. 3. Agenda • Git & GitHub • Git is a Tool for Managing Files • The Fundamentals • Using Git doesn’t Mean Using the Command Line 4
  4. 4. Git & GitHub
  5. 5. Git & GitHub • Git is a tool for managing files (more on that later) • GitHub is a website for using git 6
  6. 6. Git & GitHub • Git can be used independently of GitHub • Even offline! • This talk is about using Git & GitHub together 7
  7. 7. Git is a Tool for Managing Files
  8. 8. Git is a Tool for Managing Files • Git manages simple files • Text and flat graphics, not PSDs • CSS, HTML, PNG • PSDs are too complex for git to manage • Use LayerVault, instead 9
  9. 9. Git is a Tool for Managing Files • What does “manage” mean? • History (who did what, and when?) • Conflicts (multiple people modifying the same file) 10
  10. 10. The Fundamentals (More like FUNdamentals, amirite?)
  11. 11. Pulling Down from Remote 12 Your Branch master master remote local Your Branch Pull Request PushPull Pull
  12. 12. A Repose About Repos • A repository – or “repo” – is a home for git to put all its files • Repos can exist locally (on your computer) or remotely (on GitHub) – more on this later 13
  13. 13. Branches • Hard to define • Branches are used to isolate changes to files • Branches are cheap • Create lots of ‘em • Ideally one for each new feature/bug fix 14
  14. 14. Branching • Creating a new branch is called “branching” • Branch to create new features • Create new branches off of “master” branch • Master is the canonical branch • “Latest and Greatest” 15
  15. 15. Branching • File system metaphor 16
  16. 16. Branching 17 Your Branch master Creating a new branch
  17. 17. Commits • When you’ve completed a feature or a fix, make a commit • Commits are snapshots of the staged changes you made • Not all changes need to be committed 18
  18. 18. Committing • Branches are just a series of commits • Committing enters that commit into the git log • You can see who changed what, and when 19
  19. 19. Committing • Commits include a “commit message” describing the changes 20
  20. 20. Committing 1. Stage changes 2. Commit staged changes 21
  21. 21. Committing 22 Your Branch master commit 1 commit 2
  22. 22. Local vs. Remote • The master branch exists locally (on your computer) and remotely (on GitHub) • Your new branch exists only locally 23
  23. 23. Local vs. Remote • File server metaphor 24
  24. 24. Local vs. Remote • All work is done locally on local branches • When ready, you “push” a branch to the remote • More on pushing shortly 25
  25. 25. Local vs. Remote • Where did “master” come from? • The remote 26
  26. 26. Pulling & Pushing 27 Your Branch master master remote local Pull
  27. 27. Pulling & Pushing • Transitive verbs • Pushing/pulling depends on context 28
  28. 28. Pulling & Pushing 1. Pull master from GitHub 2. Branch 3. Make commits 4. Push branch to GitHub 29
  29. 29. Pulling & Pushing 30 Your Branch master master remote local Your Branch PushPull
  30. 30. Pull Requests • Pull requests are requests to have changes “pulled” into another branch, usually master • Pull requests exist only on GitHub • “Request” because someone else is looking it over for mistakes • Not that you ever make those 31
  31. 31. Pull Requests • Designate someone on your team as a “Gatekeeper” 32
  32. 32. Pull Requests 33 Your Branch master master remote local Your Branch Pull Request PushPull
  33. 33. Pull Requests • Now all of your changes exist on master • Only the remote master • You need to “pull” master down again 34
  34. 34. Pulling Down from Remote 35 Your Branch master master remote local Your Branch Pull Request PushPull Pull
  35. 35. Cloning
  36. 36. Cloning • Copies the remote repo to your local • Only done once per repo • “Initial Setup” 37
  37. 37. Pulling & Pushing 1. Clone 2. Pull master from GitHub 3. Branch 4. Make commits 5. Push branch to GitHub 6. Pull Request 38
  38. 38. Issues • GitHub has “Issues” • Issues are conversations about the code • Bugs, features, improvements, etc... • You can reference issues in commit messages 39
  39. 39. Issues 40
  40. 40. Conflicts
  41. 41. Conflicts • Sometimes files conflict • Git will usually sort it out • Sometimes it can’t 42
  42. 42. Conflicts <<<<<<< HEAD Hello world ======= Goodbye >>>>>>> some_other_branch_name 43
  43. 43. Using Git doesn’t Mean Using the Command Line
  44. 44. Using Git doesn’t Mean Using the Command Line • There are powerful, GUI tools for using git • Git Tower • GitHub for Mac • SourceTree 45
  45. 45. Using Git doesn’t Mean Using the Command Line • Important: all these tools rely on the fundamentals we learnt earlier 46
  46. 46. Demo
  47. 47. Recap • Git & GitHub • Git is a Tool for Managing Files • The Fundamentals • Using Git doesn’t Mean Using the Command Line 48
  48. 48. Ash Furrow October 3, 2013 Thanks!

×