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.
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
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
12. Pulling Down from Remote
12
Your Branch
master
master
remote
local
Your Branch
Pull Request
PushPull Pull
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
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
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
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
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
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
37. Cloning
• Copies the remote repo to your local
• Only done once per repo
• “Initial Setup”
37
38. Pulling & Pushing
1. Clone
2. Pull master from GitHub
3. Branch
4. Make commits
5. Push branch to GitHub
6. Pull Request
38
39. Issues
• GitHub has “Issues”
• Issues are conversations about the code
• Bugs, features, improvements, etc...
• You can reference issues in commit messages
39