Successfully reported this slideshow.
Your SlideShare is downloading. ×

Git hub for designers

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 49 Ad

Git hub for designers

Download to read offline

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.

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.

Advertisement
Advertisement

More Related Content

Viewers also liked (20)

Advertisement

Similar to Git hub for designers (20)

More from FITC (20)

Advertisement

Recently uploaded (20)

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!

×