Project 1, Part 1

Jan 12, 2011

Objective

Get your development workstation and the software suite ready to go, and share a remote source code repository to keep track of your work.

Demonstrate your current understanding of creating a simple Web page.

Requirements

Create an account on github if you don't have one.

After you have created your account, create a new repository called csci446 and add ybakos (that's me) as a collaborator. Then, send me an email with the http URL for the remote repository on github. I should be able to visit http://github.com/YOURUSERNAME/csci446 and see the Web interface to your repository, even though it may be empty.

You will need to create an ssh key (instructions: windows | everyone else). Be sure to add your public key to your github profile per those instructions. (windows users, beware when copying from notepad. See this screenshot.)

Create a dedicated working directory for our projects called cs446. Where you put this directory is up to you (eg, "My Documents" or ~).

Create a subdirectory of cs446 called src. This is your dedicated working directory for our projects.

At this point your directory structure should look like this:

[DIR_OF_YOUR_CHOICE]/
  cs446/
    src/

Install git on your workstation.

Next, configure git so that it can add your full name to the commit log:

git config --global user.name "Tiger Woods"
git config --global user.email "performancedeliveredindeed@accenture.com"

Now create your repository:

cd cs446/src
git init
touch README
mkdir project01
touch project01/.gitignore
git add *
git commit -m 'first commit'

You should now have a repository in src. Edit the README file (add your full name and a one line description of what this repository is). Add your change and commit it.

git add README
git commit -m "Adding initial README file."

Now your change is committed... but you need to push your changes to the remote repository so I can see it.

git remote add origin git@github.com:YOUR_USERNAME/csci446.git
git push origin master

If successful, you should see something like the following on your screen:

Counting objects: 5, done.
Delta compression using 2 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 6.28 KiB, done.
Total 15 (delta 1), reused 0 (delta 0)
To git@github.com:ybakos/cs446.git
2e22aea..7fbdad6 master -> master

You should also be able to visit http://github.com/YOUR_USERNAME/csci446 and see your repository there. NOTE: You might not, depending on how heavily loaded github is. As long as you see the above output on your console, your changes were pushed correctly.

Optional: If you are unfamiliar with git, spend some time reading this stuff.

Grading Criteria (50 pts)

I must receive an email from you containing your github repository url by 9AM Saturday, Jan 15.

I must be a collaborator for your repository, which means that I can pull the remote.

Your cs446 directory structure must match the example given. I've also posted an example here on github. If yours doesn't look like mine, then you won't get full credit.

I must be able to visit http://github.com/YOUR_USERNAME/csci446 and see that you have pushed your README file and project01 subdirectory and therefore be able to clone your repository by 9AM on Saturday, January 15.

This is due by 9AM on Saturday, January 15.