Heads up! To view this whole video, sign in with your Courses Plus account or enroll in your free 7-day trial. Sign In Enroll
Well done!
You have completed Design and Development!
You have completed Design and Development!
Preview
In this video, we create our git repository, and upload it to Github so we can both work on the project. We see how to create a new repository, create a commit, and get set up on Github.
This video doesn't have any notes.
Related Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign upRelated Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign up
[Master Class] [Designer and Developer Workflow] [Setting up the Git Repository]
0:00
So now, we have our Ruby on Rails application generated.
0:06
So, the next step I want to take is to go ahead and create the git repository
0:09
that we'll be working with.
0:14
Now, this master class is really more about the workflow.
0:16
This project is not something that Nick and I have already created
0:19
and are simply going over again.
0:22
We're doing this in real time, so you may see mistakes appear as we go along,
0:24
and you may see us just sort of go down the wrong path, but the beauty of this is
0:28
it's the development process, so we always have the opportunity to go back
0:32
and change something.
0:35
We're really not deploying the application, so we're really flexible in what we do.
0:37
So, let's go ahead and create the git repository.
0:42
So, I'm inside my easyjobs folder here.
0:45
I'll go ahead and do "git init."
0:48
And now we have a new git repository, and now I'll do "git add."
0:51
And if we take a look at our git status here, we can see we have all of our new files
0:57
added to it and even a git ignore file.
1:02
If we want to see what's in the default git ignore file that Rails created,
1:05
we can just open it up in TextMate.
1:09
And we can see that the default git ignore file for a Rails application
1:13
excludes the bundle directory, the database, the logs and the temp directory.
1:16
So, that looks pretty good for us.
1:21
So now, we want to go ahead and commit, but before we do that, I want to configure
1:24
my git so my name is attached to it and my email's attached when I commit.
1:28
So, the way we can do that is to type "git config" and we want to configure
1:34
the value "user.name," and I'll set it to Jim Hoskins.
1:40
This is going to set the name for our current project that we're in by default.
1:48
If we wanted to set up git to have a name for our computer in every project,
1:52
we could pass "--global," but this is a shared computer that we're using right now,
1:57
so I want to go ahead and just say this directory I'm going to go ahead and say
2:02
I only want to configure for this project.
2:06
So, I'm going to leave off the global that you would typically use.
2:09
And then I also want to configure the email address.
2:13
And I'll just put in my email address, and we are set up.
2:21
So now what I'm going to do is go ahead and commit,
2:30
and I'll just pass it the message of "Rails init."
2:34
So, we've created the first commit in our git repository,
2:41
and we can take a look at it just by typing "git log," and we can see that
2:45
my name and email address was attached properly to this commit,
2:49
which is good because there are going to be multiple people working on this project.
2:52
So, we want to make sure the information looks right.
2:56
So now, we want to set up our GitHub project.
3:02
The project is going to be hosted under the GitHub user Team Treehouse,
3:06
and this is going to be sort of the owner of our application,
3:09
and then we'll go ahead and set up Nick and myself as collaborators on this project
3:13
since we both have our own GitHub accounts.
3:17
So, let's go ahead and create a new repository.
3:20
I'm going to call it "Easy Jobs," and we'll say "The job board for the worlds easiest jobs."
3:23
We don't have a home page yet, and I'm going to mark this as private
3:39
so only Nick and I can work together on it.
3:44
Now, in order to create a private repository, you do need to pay for GitHub.
3:47
If you want to develop it as an open source project, you can use GitHub free.
3:51
So, let's go ahead and create the repository, and now it's giving us our empty project.
3:55
So now, it's going to give us some details on how to set up the remote origin
4:04
for GitHub so we can push to it, and what I'm going to do is
4:08
we've already done these steps, we're inside and we've initialized.
4:13
So, I'm just going to go ahead and select this line here.
4:17
This is going to add the remote of TeamTreehouseEasyJobs to our list
4:21
so we can push to it.
4:27
So, I'm just going to copy this, and if I paste it in and we run it,
4:29
if we take a look at git remote, we can see we now have a remote called origin,
4:33
which is hooked up to our GitHub.
4:39
Now, if we try to push it right now, it won't work.
4:41
So, let's try "git push origin master."
4:45
Now, we're going to verify the authenticity key for our first time,
4:49
and now we get a permission denied error, and this is because we haven't set up
4:55
our private key for this computer to interface with GitHub to authenticate us.
4:59
So, what I'm actually going to do is set up collaborators for Nick and myself
5:11
on the project, and then I'll create a key and add it to my personal account.
5:14
So, what I'm going to do is in my project here, I'm going to click on "admin."
5:19
And we have some information here, and let's click on "collaborators."
5:24
So, I'm going to add my GitHub account, which is Jim R. Hoskins.
5:28
And we'll go ahead and add Nick's as well.
5:33
Cool, so we're both set up.
5:38
Now, I'm actually going to log out of the Team Treehouse account,
5:40
and I'll log into mine.
5:43
So now, I'm logged in as Jim R. Hoskins, my personal account.
5:48
And we can see that I've been added to the private repository of teamtreehouse/easyjobs.
5:51
Now, this is a new computer for me to work on, so I do need to go ahead
5:57
and create my SSH key and add it to my personal list of keys
6:01
so when I use this computer, GitHub knows that it's me,
6:06
and that I'm authenticated to commit to easy jobs.
6:09
So, on our computer, we're going to go back to our terminal,
6:13
and I'm going to go ahead and create my key.
6:16
So, we can do this by using the program called "ssh-keygen,"
6:20
and we'll do an rsa key by doing "-t rsa."
6:24
We'll associate it with the email Jim at Carsonified.
6:29
Let's go ahead and run this, and we're going to save it into our default location,
6:34
so I'll just click through enter, and let's enter a pass phrase
6:39
in order to protect our ssh key.
6:44
So, it's gone ahead and created our ssh keys, and we can see them in the
6:52
home/.ssh directory.
6:58
So, we have our id rsa which is our private key which we want to keep a secret.
7:02
And the id rsa.pub is the public key, and this is what we're going to give to GitHub
7:06
so we can identify that our private key is authenticated to work on GitHub.
7:13
So, let's actually open up our idrsa.pub.
7:20
So, we'll open up mate.home/.ssh/idrsa.pub.
7:23
So here, we can see this is the public key that we're going to be passing
7:32
to the GitHub page.
7:35
So, let's go back to GitHub.
7:38
We're signed in under my account, and we'll go to account settings,
7:40
ssh public keys, and add another public key.
7:44
And we'll go ahead and say our easy jobs machine.
7:51
And I'm going to go and copy all of this, and we'll paste it in.
7:58
And if we add the key, we can see we've now added it.
8:03
So now, our computer should be authenticated with GitHub to identify
8:07
that this computer is the user Jim R. Hoskins, and the user Jim R. Hoskins
8:11
is allowed to commit to the easy jobs repository.
8:16
So now, if we try to do "git push origin master," we should have
8:19
all the authentication we need to go ahead and push it.
8:24
Now, OS X has opened up a password dialog, and this is because
8:31
we have our ssh key protected by a pass phrase,
8:35
which I'm going to enter here to unlock it.
8:38
And let's go ahead and remember this so we don't have to keep typing it in every time.
8:41
And so now, we can see that the push has worked.
8:49
So, if we go back to the easy jobs page,
8:52
we can see that our commit has now shown up.
8:55
We see our first commit here for Rails init, and we can see everything's been pushed,
8:58
and we have a default Rails project.
9:03
So now, I'm going to go ahead and send a mesage saying that the project
9:06
is now in GitHub, and he can go ahead and set himself up and pull the project.
9:08
"Hey Nick, I set up the GitHub repository for our project."
9:14
"It's at TeamTreehouse/EasyJobs."
9:18
"So, I've added you as a collaborator, if you want to go ahead and pull it,
9:21
you can start working on it."
9:25
You need to sign up for Treehouse in order to download course files.
Sign upYou need to sign up for Treehouse in order to set up Workspace
Sign up