GitHub for Designers

0ebf471a3ae8df42a84f93a7efbbdbd0?s=47 Ash Furrow
October 03, 2013

GitHub for Designers

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.

0ebf471a3ae8df42a84f93a7efbbdbd0?s=128

Ash Furrow

October 03, 2013
Tweet

Transcript

  1. 2.
  2. 3.
  3. 4.

    Agenda • Git & GitHub • Git is a Tool

    for Managing Files • The Fundamentals • Using Git doesn’t Mean Using the Command Line 4
  4. 6.

    Git & GitHub • Git is a tool for managing

    files (more on that later) • GitHub is a website for using git 6
  5. 7.

    Git & GitHub • Git can be used independently of

    GitHub • Even offline! • This talk is about using Git & GitHub together 7
  6. 9.

    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
  7. 10.

    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
  8. 12.

    Pulling Down from Remote 12 Your Branch master master remote

    local Your Branch Pull Request Push Pull Pull
  9. 13.

    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
  10. 14.

    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
  11. 15.

    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
  12. 18.

    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
  13. 19.

    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
  14. 23.

    Local vs. Remote • The master branch exists locally (on

    your computer) and remotely (on GitHub) • Your new branch exists only locally 23
  15. 25.

    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
  16. 29.

    Pulling & Pushing 1. Pull master from GitHub 2. Branch

    3. Make commits 4. Push branch to GitHub 29
  17. 31.

    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
  18. 34.

    Pull Requests • Now all of your changes exist on

    master • Only the remote master • You need to “pull” master down again 34
  19. 35.

    Pulling Down from Remote 35 Your Branch master master remote

    local Your Branch Pull Request Push Pull Pull
  20. 36.
  21. 37.

    Cloning • Copies the remote repo to your local •

    Only done once per repo • “Initial Setup” 37
  22. 38.

    Pulling & Pushing 1. Clone 2. Pull master from GitHub

    3. Branch 4. Make commits 5. Push branch to GitHub 6. Pull Request 38
  23. 39.

    Issues • GitHub has “Issues” • Issues are conversations about

    the code • Bugs, features, improvements, etc... • You can reference issues in commit messages 39
  24. 40.
  25. 45.

    Using Git doesn’t Mean Using the Command Line • There

    are powerful, GUI tools for using git • Git Tower • GitHub for Mac • SourceTree 45
  26. 46.

    Using Git doesn’t Mean Using the Command Line • Important:

    all these tools rely on the fundamentals we learnt earlier 46
  27. 47.
  28. 48.

    Recap • Git & GitHub • Git is a Tool

    for Managing Files • The Fundamentals • Using Git doesn’t Mean Using the Command Line 48