Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GitHub for Designers

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.

Ash Furrow

October 03, 2013
Tweet

More Decks by Ash Furrow

Other Decks in Technology

Transcript

  1. Agenda • Git & GitHub • Git is a Tool

    for Managing Files • The Fundamentals • Using Git doesn’t Mean Using the Command Line 4
  2. Git & GitHub • Git is a tool for managing

    files (more on that later) • GitHub is a website for using git 6
  3. Git & GitHub • Git can be used independently of

    GitHub • Even offline! • This talk is about using Git & GitHub together 7
  4. 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
  5. 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
  6. Pulling Down from Remote 12 Your Branch master master remote

    local Your Branch Pull Request Push Pull Pull
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. Local vs. Remote • The master branch exists locally (on

    your computer) and remotely (on GitHub) • Your new branch exists only locally 23
  13. 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
  14. Pulling & Pushing 1. Pull master from GitHub 2. Branch

    3. Make commits 4. Push branch to GitHub 29
  15. 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
  16. Pull Requests • Now all of your changes exist on

    master • Only the remote master • You need to “pull” master down again 34
  17. Pulling Down from Remote 35 Your Branch master master remote

    local Your Branch Pull Request Push Pull Pull
  18. Cloning • Copies the remote repo to your local •

    Only done once per repo • “Initial Setup” 37
  19. Pulling & Pushing 1. Clone 2. Pull master from GitHub

    3. Branch 4. Make commits 5. Push branch to GitHub 6. Pull Request 38
  20. Issues • GitHub has “Issues” • Issues are conversations about

    the code • Bugs, features, improvements, etc... • You can reference issues in commit messages 39
  21. Using Git doesn’t Mean Using the Command Line • There

    are powerful, GUI tools for using git • Git Tower • GitHub for Mac • SourceTree 45
  22. Using Git doesn’t Mean Using the Command Line • Important:

    all these tools rely on the fundamentals we learnt earlier 46
  23. Recap • Git & GitHub • Git is a Tool

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