mypages.valdosta.edu · web viewkeys. then, we will copy the public key to github. then, we will be...

8
Tutorial 7 Pushing to GitHub In this tutorial we will illustrate how to push our local repository to GitHub. Specifically: a. Create a GitHub account and create a repository. b. Create SSH keys locally and set them up in GitHub to enable secure transmission of changes. c. Use Git locally to push changes to the new repository on GitHub. This tutorial continues from Tutorial 6. Steps to Complete 1. Create a GitHub account at: https://github.com/ using a (gmail) email address. You will also create a username. My user name is “drgap” as you will see in the tutorials. 2. Follow these steps to create a new repository. a. Login to GitHub if necessary b. As shown in the figure on the right, select the drop-down beside the “+” sign in the upper right and choose, “New Repository”. c. As shown below, name the repository, “test” and then choose “Create repository” 1

Upload: others

Post on 09-Apr-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: mypages.valdosta.edu · Web viewkeys. Then, we will copy the public key to GitHub. Then, we will be able to push our local repository to GitHub. I’m assuming SSH is included with

Tutorial 7Pushing to GitHub

In this tutorial we will illustrate how to push our local repository to GitHub. Specifically:

a. Create a GitHub account and create a repository.b. Create SSH keys locally and set them up in GitHub to enable secure transmission of changes.c. Use Git locally to push changes to the new repository on GitHub.

This tutorial continues from Tutorial 6.

Steps to Complete

1. Create a GitHub account at: https://github.com/ using a (gmail) email address. You will also create a username. My user name is “drgap” as you will see in the tutorials.

2. Follow these steps to create a new repository.

a. Login to GitHub if necessary

b. As shown in the figure on the right, select the drop-down beside the “+” sign in the upper right and choose, “New Repository”.

c. As shown below, name the repository, “test” and then choose “Create repository”

1

Page 2: mypages.valdosta.edu · Web viewkeys. Then, we will copy the public key to GitHub. Then, we will be able to push our local repository to GitHub. I’m assuming SSH is included with

d. The result will look similar to what is shown below. Note the SSH address of the repository. We will use that when we push code from your local repository to this remote repository.

e. Press the Octocat logo in the upper-left corner to access your homepage on GitHub. In the upper-left, as shown below (as of summer 2019, github’s display is different than the figure below), you will see a list of your repositories. To access your repository (the page we were on previously), select the name of the repository. Do that now and then return to your homepage.

3. (Read, no action required) There are two ways to push your local repository to this new remote repository: HTTPS and SSH. We will use SSH. SSH is a secure way to communicate with a remote server over an unsecured network. For more information, see Wikipedia or this video.

We will use SSH on your local computer to generate public and private keys. Then, we will copy the public key to GitHub. Then, we will be able to push our local repository to GitHub.

I’m assuming SSH is included with Cmder or Git when you installed these and thus will be able to accomplish the following steps in the tutorial. However, I’ve read a little and am unsure if it is included or not. Further, I don’t believe it is natively on a Windows computer either. If the SSH command below is not recognized, try downloading SSH.

2

Page 3: mypages.valdosta.edu · Web viewkeys. Then, we will copy the public key to GitHub. Then, we will be able to push our local repository to GitHub. I’m assuming SSH is included with

4. Follow these steps to create the SSH keys:

a. In Cmder, execute this command using your gmail address:

λ ssh-keygen -t rsa -b 4096 -C "[email protected]"

b. As shown in the figure below, press <Enter> three times.

Note that in practice you would usually specify a passphrase. For more information, see "Working with SSH key passphrases".

5. Next, we will copy the public key into the clipboard. In Cmder (alternatively, these steps can be done in Windows Explorer):

a. Navigate to the folder where the keys are stored. Something like this (substituting your username on the computer where you are working):

λ c:λ cd c:\users\username\.ssh

b. Display the contents of the folder.

λ dir

The result is shown in the figure on the right.

3

Page 4: mypages.valdosta.edu · Web viewkeys. Then, we will copy the public key to GitHub. Then, we will be able to push our local repository to GitHub. I’m assuming SSH is included with

c. Display the contents of the public key to the console:

λ type id_rsa.pub

The result is shown on the right.

d. Select the key (as shown highlighted in gold on the right) and then Ctrl+c to copy it into the clipboard.

6. Next, we will copy the public key into GitHub. Open your GitHub account and follow steps 2-8 from these directions:

https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/

7. We will need the URL shown in the figure on the right (except that it will have your username where “drgap” is). Note, this “Quick setup” dialog may not be present, which is OK. If it is present, make sure SSH is selected and then copy the URL. If not, the URL is:

[email protected]:YOUR_USER_NAME/test.git

8. Open Cmder and navigate to the gitex folder where you should have a repository from the previous tutorial.

9. Issue this command substituting your GitHub username:

λ git remote add origin [email protected]:YOUR_USER_NAME/test.git

This command is creating an alias (“origin”) for the URL of the remote repository simply so that we don’t have to type the URL out every time we need it. There is nothing special about the name “origin”, it could be anything; however, “origin” is standard. For your information:

Command Meaningλ git remote -v Lists all remotes you have definedλ git remote rm remoteName

Deletes a remote.

λ git config -l Lists Git’s config file. Towards the bottom you will see, remote.origin.url=…

4

Page 5: mypages.valdosta.edu · Web viewkeys. Then, we will copy the public key to GitHub. Then, we will be able to push our local repository to GitHub. I’m assuming SSH is included with

10. Now, we are ready to push our local repository to the remote. Issue this command:

λ git push –u origin master

The result is shown on the right.

The standard of using “origin” as an alias for the remote URL is a bit counter-intuitive to me, but in the context of this statement, “origin” is the destination you are pushing to. Also counter-intuitive to me is the order of “origin” and “master”. “master” refers to local repository branch you are pushing to the remote “origin”; it seems more intuitive if the order were “master origin”.

11. Return to GitHub and refresh the page. You should see your files displayed as shown below. (Yours will probably show 3 commits and only one file, foo.txt)

12. Select the link that says, “7 commits” (your number could be different). Drill down into a commit that was made earlier and note how it is displayed. When done exploring, return to the previous page by using the back arrow or selecting the link in the upper left that has the name of your repository (i.e. test).

13. Select foo.txt and it will display the file. For now, DO NOT EDIT the file. We will do that in the next tutorial.

14. You can also drag files from your local computer into the view above in GitHub that shows the files in a branch. When you do this, GitHub provides a dialog to stage and commit the change. You can’t drag a single file from GitHub to your local computer. However, you can choose: Clone or Download and then Download ZIP, then open the zip file and drag the file(s) you want to the local folder.

Essentially, this is a different workflow, and I don’t know if it is acceptable in practice. Essentially, you are not utilizing a local repository.

5

Page 6: mypages.valdosta.edu · Web viewkeys. Then, we will copy the public key to GitHub. Then, we will be able to push our local repository to GitHub. I’m assuming SSH is included with

15. Do the following:

a. Make a screen shot similar to the one in Step 11 above. Make sure it shows your User ID.b. Place the image in the HW VCS document in the appropriate place.c. The image should easily readable without zooming in or out.

6