This post is a continuation off of this post on Up and Running with Git and Visual Studio, if you have no idea what Git is, or how to setup git and git-extensions on windows I recommend you start there.
So you’ve installed git and git extensions, written a sweet hello world application, made some commits, split some branches and merged features in and out here and there, and now your looking to share that code with the world or you’ve decided that just having a local copy of your code isn’t good enough for a backup and don’t want or can’t go out and purchase another machine or setup remote hard drive. For whatever reason, you’ve decided to use GitHub to push a copy of your source code up to, either to share with the world, keep a local backup, or to share with a team.
First, you’ll need to create a GitHub account, which is free for public/shared repositories (example: Open Source Projects), and from $7-22 a month for private repositories, and $25+ for organizations and companies. Assuming you decide to go with a free account to try things out, you’ll land at a page that will look like this:
Pick a username, an e-mail address, and a password, click the signup button, and bam! You’re now a member of the GitHub community. You can now go explore, setup your profile, write a bio (Your picture is based on your e-mail address from the Gravatar service, the homepage explains it well enough)
Now, on GitHub your going to create a new repository, it’ll ask you for a project name, optional description and homepage. Enter all the details and click Create Repository (Note that Project Name doesn’t have to be unique in all of GitHub, just unique to the repositories and forks that you have on your user account)
Now obviously, if you have a paid account you’d have the option to create a private repositories that only you (and people you invite to see) can see, fork and access. Once you’ve created your repository, you’ll be greeted with instructions on how to set it up. If you’ve followed my previous post you should have already setup your e-mail address (assuming that it’s the e-mail address you used to sign up to GitHub) and name, and so any commits will automatically be associated to this account based on the e-mail address. Now, once you’ve created your account your going to have to add your public key. What the heck?
Ok, without getting into too much detail (You can read way more about transport layer security and public – private key encryption if you find it as interesting as I do…) GitHub is providing two way authentication by using an SSL key. Normally when you connect to a secure server over SSL the server identifies itself with the server name, certificate authority, and a public key, however, your computer remains anonymous and it wouldn’t matter what computer your using. By providing an SSL certificate, your telling the GitHub server “Not only do I trust that you are who you say you are, I’m also providing a strong encryption grade authentication method that proves who I am when I’m connecting to you.”
Details aside, the long and short of it is that you have to generate an SSL certificate and give the public key token to GitHub (obviously keeping the private key secret). Browse to your repository in GitExtensions and open “Generate or import key”.
Which will allow you to generate a key (You will need to save both the public and private key somewhere), by default I believe it generates an SSH-2 RSA 1024bit key which is what you need for GitHub as of this writing.
If you’ve already done this you can just use an existing key. Once you’ve saved it (optionally supplying a pass-phrase for the private key file), it’s time to tell GitHub what your public key is.
Log into GitHub, go to account settings, and go down into the SSH Public Keys section, in there, give your public key a title, and paste in the public key from putty. The text should look something like this:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAkn1Hp72xRMjYtfmaHRbtwTrNBEt2oPVKyGh8uU1b8BPw
CjrtCzOGHF66YzBAitpHqaGOkLPyLXHHk1BrAKaWE06W2aVooNdqAEUYBwe0gJGR/bmf73Qhey2xW9
PBE5ocsEpVnW5HtEoMTpiKaPDqSTY6ogH/dt4FSclubb/5DKE=
And after saving it, you should have a new key:
These SSH keys uniquely identify you as a user.
Now that you’ve added your public key into Git, you need to add the remote repository to your local repository and setup PuTTY with your SSH key. Open up Git Extensions, browse to your repository, open up the Remotes folder, and you should see the following:
From here, enter a name for the remote repository, and pull the URL from the repository startup page, it should look like this: git@github.com:yourusername/Test-Project.git
Brows to wherever you’ve saved your private SSH key file for PuTTY, and click the Load SSH Key. If you saved it with a password, you’ll be prompted to enter the passphrase you protected the public key file with:
Enter your passphrase and click ok.
Once done, click the Test connection. If this is the first time you’ve connected to GitHub, you’ll be notified that this server’s RSA fingerprint isn’t in the registry:
Check to make sure it’s the same as the one shown on the GitHub website, and hit yest to cache the GitHub server host key.
And you should then see that you can authenticate:
Save your configuration, close out of the dialog and select the up arrow icon (or go into the menu and select push) and push all or some of your branches to GitHub:
And there you go! Remote repository pushing and pulling. Just like that.
And now that you’ve pushed your repository up to GitHub, you can also pull other changes:
And that’s all for now, if you’ve got questions or comments, leave them in the comments for this post and I’ll respond to them as soon as I can.
Finally! I’ve been waiting for like-ever man! Now get back to work.
Oh my goodness! Impressive article dude! Thank you
so much, However I am going through problems with your RSS.
I don’t know the reason why I am unable to join it. Is there anybody else getting similar RSS
problems? Anyone who knows the solution can you kindly respond?
Thanx!!
Good post. I learn something new and challenging on websites I stumbleupon on a
daily basis. It’s always helpful to read through
content from other writers and practice a little something
from other sites.
Helpful information. Fortunate me I found your web site by accident,
and I’m stunned why this coincidence didn’t took place earlier!
I bookmarked it.
Wow, superb weblog format! How lengthy have you been blogging
for? you make blogging glance easy. The total glance of your website is
magnificent, as neatly as the content material!
Hi, always i used to check weblog posts here in the early hours in the dawn,
for the reason that i like to gain knowledge of more and more.
Hi! I’m at work browsing your blog from my new apple iphone!
Just wanted to say I love reading through your blog and look forward to all
your posts! Carry on the fantastic work!
I’m impressed, I have to admit. Seldom do I encounter a blog that’s both equally
educative and amusing, and without a doubt, you’ve hit the nail
on the head. The issue is something not enough people are speaking intelligently about.
I’m very happy I found this during my search for something concerning this.
Hi, always i used to check blog posts here in the early hours in the daylight, since
i like to learn more and more.
Hi there everyone, it’s my first pay a visit at this website, and post is actually fruitful for me, keep up
posting these articles or reviews.
It’s impressive that you are getting ideas from this paragraph as well as from our discussion made here.
Thanks for some other informative website. The place
else may I am getting that type of info written in such a perfect means?
I have a project that I am simply now operating on, and I’ve been on the look out for such info.
What a information of un-ambiguity and preserveness of precious knowledge
concerning unexpected emotions.
I’m amazed, I have to admit. Seldom do I encounter a blog that’s both educative and amusing, and without a doubt,
you have hit the nail on the head. The issue is something not enough men and women are speaking intelligently about.
Now i’m very happy that I stumbled across this during my hunt for something regarding
this.
whoah this blog is magnificent i love reading your articles.
Keep up the great work! You realize, many people are hunting around for this
info, you can help them greatly.
I am really grateful to the owner of this web site who has shared this enormous paragraph at at this place.
Helpful information. Fortunate me I found your website
by accident, and I’m shocked why this accident didn’t happened earlier!
I bookmarked it.
Every weekend i used to visit this site, for the reason that i want enjoyment, for the reason that this this web site conations really pleasant funny data too.
Hello, of course this post is actually nice and I have learned lot of
things from it regarding blogging. thanks.
Hello friends, its great article regarding tutoringand fully explained,
keep it up all the time.
Useful information. Fortunate me I found your web site unintentionally, and I’m surprised why this accident didn’t
took place earlier! I bookmarked it.
When someone writes an paragraph he/she keeps the thought of a user in his/her mind
that how a user can know it. Therefore that’s why this paragraph is perfect.
Thanks!
What’s up, this weekend is good for me, because this occasion i am reading this great informative article
here at my home.
I think that what you posted made a lot of sense. However,
what about this? what if you were to create a awesome headline?
I am not suggesting your content is not solid., but suppose you added something
that grabbed people’s attention? I mean GitHub 101 on Windows | Paul Rohde is a little
boring. You should look at Yahoo’s front page and watch how
they create article headlines to grab viewers to click. You might add a video or a pic or two to grab people interested about what you’ve written. In my opinion, it could make your blog a little bit more interesting.
That is a very good tip especially to those new to the blogosphere.
Brief but very accurate information… Thanks for
sharing this one. A must read post!
Helpful information. Lucky me I found your website by accident,
and I’m surprised why this coincidence didn’t came about in advance!
I bookmarked it.
Hi there friends, how is everything, and what you wish for
to say regarding this article, in my view its actually awesome in support of me.
Awesome! Its truly remarkable paragraph, I have got much clear idea regarding from
this article.
Hi there to every single one, it’s in fact a good for me to visit this web site, it includes useful
Information.
Wah bagus buat ditiru info seperti ini. Saya jatang menemukan artikel yang membuat
info bermanfaat seperti ini min.
Quality articles is the secret to be a focus
for the users to visit the web site, that’s what this website is providing.
Woa?! I’m really enjoying the template/theme of this blog.
It’s simple, yet effective. A llot of times it’s challenging to get
t?at “perfect balance” between s??e?b uusability and
appearance. I must say that you’ve d?ne a excellentt job with
this. A?ditionally, the blog loads extrwmel? fast for me oon Safa?i.
Superb Blog! http://celkeltia.com
Do you have any video of that? I’d like to find out
more details.
I think that everything typed made a great deal of sense.
However, think on this, suppose you were to write a killer headline?
I am not saying your content isn’t solid., however
suppose you added a title to maybe get folk’s attention? I mean GitHub 101 on Windows | Paul Rohde is kinda plain. You should
peek at Yahoo’s front page and watch how they write
news headlines to grab people to click. You might add a video or a related
pic or two to grab readers excited about everything’ve written. Just my opinion,
it might bring your website a little livelier.
This is a good tip especially to those fresh to the blogosphere.
Short but very accurate info… Many thanks for sharing this one.
A must read post!
Can you tell us more about this? I’d love to find out some additional
information.
It’s going to be finish of mine day, except before finish I am reading this
wonderful post to improve my know-how.
It’s going to be finish of mine day, except before finish I am reading this
wonderful post to improve my know-how.
It’s going to be finish of mine day, except before finish I am reading this
wonderful post to improve my know-how.
I visited mu?tiple sites b?t the a?dio feature for ?u?io songs
curr?nt aat this wweb page is really superb. https://potch-no-omise.blogspot.com/
Thanks , I have just been searching for information about this topic for a while
and yours is the best I have came upon till now. However, what about the conclusion? Are you certain concerning the source?
Hello ever?one, it’s my f?rst visit ?t this ?eb page, and post is r?ally fruitful for me,
keep up posting such content.
M? relatives always say t?at I am killing my time here at web, except I know I am getting know-how all the time
by reading such nic? articles or reviews.