mohammed-lvw644-IS1003_Lab-02

pdf

School

University of Texas, San Antonio *

*We aren’t endorsed by this school

Course

1003

Subject

Computer Science

Date

Apr 3, 2024

Type

pdf

Pages

13

Uploaded by BailiffGuanacoMaster519

Report
1 IS-1003-ON1-Spring-2022-Unlocking Cyber Lab 02 Versioning Your Work Author : Fiona Mohammed Course Section : IS-1003-ON1-Spring-2022-Unlocking Cyber Date : March 11, 2022 I NTRODUCTION The objective of this Lab is for me to learn about GitHub, and setup a GitHub account. I will also learn to set up git on my local machine and Sync my local git repository with my online GitHub account. I will learn and understand GitHub, which is a code hosting platform for version control and collaboration. The “git” in GitHub is a free, open -source, and distributed version control system designed to track changes and coordinating work among programmers during software development. Each version provides a snapshot of a system at a particular point in time. Version control is a critical practice for any system, and particularly important with evolving technologies. P ROCESS My GitHub Account with Username: Below is an image of my GitHub Account with Username. The website needed my student ID or an official document from the University in order to verify that I am a current student, before I was allowed to successfully complete setting up my account. (Breakpoint #1 GitHub Account with Username)
2 Definitions of Push, Pull, Fork, Commit, Clone, and Branch: Push: The git push command is a command that is used to add or upload contents in the local repository to a remote repositor. Files and changes will be visible to everyone with permission to the remote repository. Pull: The git pull command fetches and downloads files from the remote repository and then instantly updates the local repository to match that content. Fork: The fork command is an independent copy of repository that can be used as a c opy” to experiment on the project without affecting or messing with the actual project. Commit: The commit command in git is used to save changes to the local repository. Git will not make changes to the project unless you authorize it to. Clone: The clone command is used to create a synchronized linked copy of the online repository to your local machine using git. Branch: Creating a branch generates a new pointer to help you move around. The branch command is used for creating new branches, deleting branches, listing branches, and renaming them. (Breakpoint #2 Definitions of key git commands in my words)
3 Evidence of git configuration with output: Below is evidence of my git configuration with output. I followed the steps on the instruction carefully and watched the video by the instructor, to make sure I set up correctly. I was worried about my email address getting rejected or the configuration having an error since I initially used my personal email address for the setup but needed to provide and add my student email address on GitHub to verify that I am a current student. I was not sure which email to use on the terminal, but it accepted my personal email and successfully configured. (Breakpoint #3 Evidence of git configuration with output)
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
4 Setting Up a GitHub Repository: Below is an image of my very first repo. I had initially used two words to name it, but realized the instruction stated to use one word, no spaces. It seemed like the interface looked a little di fferent than the instructor’s interface, but I did not run into any challenges, and setting up my new repo was straight forward. I named it myfirstrepo. (Breakpoint #4 My new GitHub repo)
5 Committing my First Git Repo : Below are some images with all the commands/outputs that I used in Committing my First Git Repo. I used the command pwd to verify my path, and ls command to see what is in the directory. I used the cd command to change the directory to my “mohammed folder and verified the contents of this folder by typing the “ls” command again in this directory. I then created a new subfolder/subdirectory under “mohammed” folder with the mkdir command and named it test ”. I deleted the test directory with rmdir command and created another one with the same name as my repo folder and verified it was created, using the ls command. I switched to that directory using the “cd” command, and “ls” to verify it was empty. Next, I created a README File by using a simple echo command, I chose a quote, and redirected it to a README.md file using the redirecting symbol >>. I verified that the README.md file exists by typing ls which printed out the contents of the file and then ca t README.md” command to see my echo text. I initialized the local git repo I created by using the git init “command, I added the file to the staging area by using “git add README.md” command. I used the “git commit - m “first commit”” to verify that the file is Version Controlled, I then changed the name of the branch from master to main using the “git branch - m main” command , and my repo’s main branch automatically converts to main. I used the “git branch” command to verify that it had changed. (Breakpoint #5a My first Repo Commands and Outputs)
6 (Breakpoint #5b README.md file Commands and Outputs)
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
7 Create a Secure Connection: Below is an image of my local repo synched up with my remote repo on GitHub. I started this process by securing a method of communication using SSH key (the ed25519 protocol) at the command line. I left my Passphrase empty since I am the only one using my machine, I shared my public key with GitHub in order to complete the transfer. I did that by changing directory using “cd” command to where my ssh reside. I made sure I was in the right place by using the “ls - al” command on the terminal, and I Verified that my private and public key exists in the hidden .ssh file by using the “ cat command. Adding the SSH key to my GitHub account was complicated, I could not copy the link to paste into the SSH key box, I had to manually type it in. (Breakpoint #6a Generated an SSH key (the ed25519 protocol) at the command line.) (Breakpoint #6b Verifying that the key exists in the hidden .ssh file.)
8 (Breakpoint #6c Added SSH key to my GitHub account.) Sync Your Repos : I went back to my git console and used the “ cd” command to find my way back to the directory that I am using as a local repo. I used “ls” to confirm, then changed into my “mohammed ” directory, “ls ” to confirm my repo is in there, “cd” to myfirstrepo folder, another “ls” to confirm, and then I get the repo link from my GetHub and I sync them. (Breakpoint #7 git remote add origin git@github.com .) Pushing Changes on Your Local Repo to Your Remote Repo : I already had an error from the previous phase of this exercise, with no knowledge of how to fix it. I could not synch my local and remote repo, and my copy and paste function from the Virtual Machine to Github will not work. It took me over three hours to troubleshoot all the error messages I kept geting, I had to manually type in the repo link into Github, it took a few tries for it to be successful. (Breakpoint #8 Pushing Changes on Your Local Repo to Your Remote Repo.)
9 Make an Edit to Your Remote Repo: I went into my GitHub account and looked for the new README file that has been pushed to my repo, I made changes to the text by editing the README file in the user interface, I then commit the change by scrolling down, clicking on Commit changes to save the changes. (Breakpoint #9a making changes in remote repo on GitHub.) (Breakpoint #9b making changes in remote repo on GitHub.) Pulling Changes from my Remote Repo to my Local Repo: I went back to my git console and pulled the changes from my remote repo using the “git pull origin main” command. See below. (Breakpoint #10 git pull origin main.)
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
10 Forking and Cloning a GitHub Repo: Learning about collaboration on GitHub, I looked for the explore button on the website, then searched under Topic for an interesting topic to fork. I chose the topic three.js about 3D animation, I accessed the repo site, and fork it with my own repo using the Fork icon in the upper righthand corner. Now I have my own copy. Next, I clone the new repo to the local git repository. I did this by going to the green Code icon and copying the SSH URL . I then had to manually type it into my git console using the “git clone <remote-SSH- URL>” command, replacing the text with the link I grabbed from the Code button. (Breakpoint #11a exploring topics to fork.)
11 (Breakpoint #11b copy of my own repo that I fork) (Breakpoint #11c clone new repo to my local git repository) Branching a Repo: Below is an image of the new branch I created off my repo in git. I named it newbranch and used some help from instruction I found online, I also realized that I could figure out some of the git commands on my own base off the lab experience. I ran into a few errors as you can see below, before I got it right. I used the cd to find my repo so I can create the new branch off it, then I used the git branch command to create the new branch. (Breakpoint #12 New Branch off my repo)
12 L IMITATIONS /C ONCLUSION Just like the previous lab, this lab was tedious and complicated, and it took a lot longer than I expected to troubleshoot and figure out what was causing some of the errors, how I can fix the errors, or go around them. My biggest limitation is not being in a class where a teacher can easily point out where the problem is and show me how it can be fixed. Researching online got me more confused and frustrated with all the different information and suggestions everyone was throwing on how to troubleshoot or use commands properly. I understand that the goal of the lab is to help us navigate and troubleshoot problems on our own, which leads to a better understanding of the program, and I hope that the next time I try setting up my GitHub space, it will be a lot easier and more understandable than this first time . R EFERENCES University of San Antonio Library (Last updated: Feb 3 2021). Cite It Right APA Style 7 th Edition. https://libguides.utsa.edu/cite/APA Where the world builds software. GitHub. (n.d.). Retrieved March 11, 2022, from https://github.com/ Welcome to Virtualbox.org! Oracle VM VirtualBox. (n.d.). Retrieved March 11, 2022, from https://www.virtualbox.org/ Enterprise open source and linux. Ubuntu. (n.d.). Retrieved March 11, 2022, from https://ubuntu.com/ "Git create branch" - how to create branch in git [tutorial]. RSS. (n.d.). Retrieved March 11, 2022, from https://www.datree.io/resources/git-create-branch 3.1 git branching - branches in a Nutshell. Git. (n.d.). Retrieved March 11, 2022, from https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell VMware knowledge base. (n.d.). Retrieved March 11, 2022, from https://kb.vmware.com/s/article/57122 Wallen, J., Detwiler, B., Academy, T. R., & Eckel, E. (2021, January 21). How to view your SSH keys in linux, macos, and windows. TechRepublic. Retrieved March 11, 2022, from https://www.techrepublic.com/article/how-to-view-your-ssh-keys-in-linux-macos-and- windows/
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
13 Keygen is a tool for creating new authentication key pairs for SSH. this is a tutorial on its use, and covers several special use cases. Ssh. (n.d.). Retrieved March 11, 2022, from https://www.ssh.com/academy/ssh/keygen maertendMSFT. (n.d.). OpenSSH key management for Windows. for Windows | Microsoft Docs. Retrieved March 11, 2022, from https://docs.microsoft.com/en-us/windows- server/administration/openssh/openssh_keymanagement Stackabuse.com. Gumroad. (n.d.). Retrieved March 12, 2022, from https://stackabuse.gumroad.com/ C OLLABORATION NONE.