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

GitHub for Designers

Avatar for Ash Furrow 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.

Avatar for Ash Furrow

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