Thanks Wikipedia!
git clone <repo> <location>
git add [-u] <files>
git commit [-m <message>]
git push <reponame> <branchname>
git pull
git diff
git checkout -b <reponame>

get commit -m "adds feature x, closes #4"
Unit testing is really important.
Really.
I can't stress this enough.
require '{the_class_you_are_testing}'
require 'test/unit'
class TestEmailReader < Test::Unit::TestCaseend
assert( boolean, [message] )
assert_equal( expected, actual, [message] )
assert_not_equal( expected, actual, [message] )
assert_match( pattern, string, [message] )
assert_no_match( pattern, string, [message] )
assert_nil( object, [message] )
assert_not_nil( object, [message] )
assert_in_delta( expected_float, actual_float, delta, [message] )
assert_instance_of( class, object, [message] )
assert_kind_of( class, object, [message] )
assert_same( expected, actual, [message])
assert_not_same( expected, actual, [message] )
assert_raise( Exception,... ) {block}
assert_nothing_raised( Exception,...) {block}
assert_throws( expected_symbol, [message] ) {block}
assert_nothing_thrown( [message] ) {block}
assert_respond_to( object, method, [message] )
assert_throws( expected_symbol, [message] ) {block}
assert_nothing_thrown( [message] ) {block}
assert_send( send_array, [message] )
assert_operator( object1, operator, object2, [message] )