The readings and responses listed here should take you approximately 50 minutes total.
To start this assignment:
- Click the button in the upper right-hand corner that says Fork. This is now your copy of this document.
- Click the Edit button when you're ready to start adding your answers.
- To save your work, click the green button in the bottom right-hand corner. You can always come back and re-edit your gist.
Read David's article on Git and GitHub
-
Use the article and outside resources (Google!) to describe the general process of a collaborative git workflow in the space below.
Git is a tool used by many developers to track changes and save versions of the software/projects they work on. Github adds on another layer to Git by allowing teams to push their software/project code into a remote location that can be accessed anywhere. This freedom enables teams to work simultaneously on different branches of the project's repository ( collection of all the directories, files, and content that a project entails) and to merge their changes together, while working from anywhere in the world. To break it down further the collaborative git workflow would look like this:
A project your team hosts on Github has some changes made since you last worked on it. You pull the most recent version by issuing a pull request from Github. That loads the most recent version of the repository onto your local computer. You begin working on some tasks and decide that this chunk will be committed and saved to the remote repo. You add the changes, using git add, moving it into a staging area where you can confirm you want to make these changes and add an annotation describing what changes were made. This is completed by using the command git commit. Once the changes have been committed, you then push these changes to the remote repo by using the command git push. And now anyone on your team can receive your changes onto their versions. If by chance you and another teammate made changes to similar parts of the codebase git will have you review the changes. This is referred to as a merge conflict, and adds another layer of seamless collaboration when there are multiple "cooks in the kitchen".
-
Watch this video. Then choose your own real-world class and objects of that class. In the space below, define and name the attributes and methods for your class and the associated objects.
For my example I will be using the class: Phone
Objects of this class will be : Rotary phone, Iphone, Landline phone, Wireless phone, and Google Pixle
Attributes of this class will vary depending on the object: some will have a cord (Rotary, Landline) or will not have a cord (Iphone, Wireless Phone, Google Pixle). Other attributes might be the size of the phone. Some may have a camera. But all instances, if working properly, will be able to dial, answer, and end a call.
Attribute Camera : T/F
Attribute Cord : T/F
Attribute Size : int (width * height)
A method example could be dial, where you enter in the digits that correspond to a contact. For the most part this method would be the same for all the objects but may require additional steps depending on the instance of the class.
Same with a method of endCall() where you would hang up the phone to conclude your call; depending on the phone the method would need to have object/instance specific instructions. One way to partition a method, to avoid hiccups, would be to use boolean statements/ and if else statements to ensure the method is completed according to the attributes of the instance.
Skim this intro to Markdown. It's not necessary to memorize because you can always come back to it as a reference.
Next, create a new gist of your own by clicking the New Gist
button in the upper right-hand corner of the screen. Create a "Beginners Guide to Git" documenting your git knowledge so far using Markdown. Incorporate each of the following features into your Gist:
-
at least two headings of different sizes
-
at least one numbered list
-
at least one bullet point list
-
at least one bold word/phrase
-
at least one italic word/phrase
-
at least one code block
-
at least one inline code block (greyed text)
-
at least one image
-
Paste the link to your gist here: