Become a Git Master
In Class
- Version control: the big picture (slides)
- Git commands and metaphors (slides)
- Exercise Creating a Personal Git Repository
- Under the Hood (slides)
- Exercise Smashing Git Repositories Into Each Other
- Team Workflow, Rebasing, and Good Behavior (Slides)
- Working over Github
- Exercise Pull Requests and Rebasing
- Exercise Adding Custom Hooks
The last exercise is pretty do-it-yourself. If we don't have time in class, hooks are a very cool feature: take the 10 minutes yourself to try it out!
See Also
- The Git Website
- Pro Git An excellent book that is free online.
- Github
- Awesome Git Visualization
Geek Cred
hash bang slash bin slash bash
Defined on Everything2 as:
The "accepted" pronunciation of invoking the Bourne Again SHell, or Bash. #!/bin/bash
You used that incantation in the git hooks exercise. In general, when you
want a file in a *nix system to be executable, change it's permissions to +x
(aka chmod u+x
or chmod a+x
) and then add a special
line at the top that tells the shell how to invoke the necessary interpreter.
#!
means "run" and the rest of the line is the absolute path to
the program that will interpret the rest of the file.
So a bash script traditionally uses hash bang slash bin slash bash or
#!/bin/bash
, whereas a python script might use
#!/usr/bin/python
You can typically find out what the absolute path for a command is by
running which CMD
(as in, which python
)
Class List
- Introduction (W 2/6)
- Bootup (M 2/11)
- Become a Git Master (W 2/13)
- Everything you ever wanted to know about Web Requests (T 2/19)
- Design Studio (W 2/20)
- Debugging (M 2/25)
- Design Studio (W 2/27)
- Open Source Business Models (M 3/3)
- Design Studio (W 3/6)
- Work Day (W 3/11)
- Design Studio (W 3/13)
- Quantifying Code (M 3/18)
- Design Studio (W 3/20)
- Spring Break (M 3/25 & 27)
- Quantifying Users (M 4/1)
- Work day (W 4/3)
- Remote Collaboration (M 4/8)
- Design Studio (W 4/10)
- No class - Patriot's Day (M 4/15)
- Design Studio (W 4/17)
- Work Day (M 4/22)
- Design Studio (W 4/24)
- No class - CHI (M 4/29 and W 5/1)
- Final Presentations (M 5/6)
- Final Presentations (W 5/8)
- No class - WWW (M 5/13 and W 5/15)
- *Note: Report due W 5/15*