Sprint 1
Command Line
There is quite a bit to remember and I get stuck wasting time on
little things that I want to learn how to do but can't clearly find
the answer. An example of this would be trying how to figure out how
to open a file form the command line (i.e. this reflections journal)
and I got stuck. It's important form me to move away from my need to
try and undersdantn everyting otherwise I will waste time fretting
about the small stuff. It's better to stick to the learning philosophy
of "just in time" as opposed the "just in case" that I seem to
gravitate too.
I would describe the Command Line as the bridge. Like how a ship
on the ocean has a bridge where the captain sits to act a central
point or hub to control the functions and operations of the vessel
(i.e. the engine and electrical rooms of ship).
8 Commands and what they do
- cd: stands for change directory and drills down to the named directory.
- ls: stands for list and names all the folders or files in a directory.
- mkdir: stands for make directory and creates a file or folder.
- cat: lists the contents of a file in the terminal.
- pwd: stands for print working directory and shows where you are in the terminal.
- rm(file) / rm -r(directory): stands for remove and deletes things from the directory.
- touch: creates files.
- mv: stands for move and you can use it to move where the files are and also to rename them.
I don't think I learnt anything unexpected here - this is all so new to me so everything is unexpected (and exciting). Actually some cool things I am picking up on is the general navigation of the computer by using the keyboard only. Tab and the windows key is great for navigating apps and controly and it is helpful for creating a new browswer tab in brave. Also I have found control/S to save work helpful.
Git and Github
The differnce between GIT and GITHUB is that GIT is a software (short for global information tracker) and GITHUB is a service that is built on GIT. An analogy to describe them is that GIT is electircity and that GITHUB is the heater that uses the electircity to warm a home. Another analogy would be that GIT is Gold and that GITHUB could be viewed as piece of jewllery. GIT is the form and GITHUB is a utilisation of that form. I think that I would remember the difference a week from now, particularly if I can remember that GIT stands for Global Information Tracker and is a software. I did not stick to the timebox suggestions as I felt that there was so much more I could have leart by spending more time in the learning and less time reflecting. This was because I took some notes that I could refer back to later. I did better than I would usually do (having a tendency to go down rabbit-holes) as I did stick to the overall time allocation for this section.
Version Control with Git
Git workflow is the process of creating, cloning, editing and submitting files and directories withing the GIT software. It works by using the termnial to do the and the commiting the work or changes to GIThub for the storage and accessibility for others. To be honest there was a lot of information to take in with this lesson and my brain is feeling well exercised. I was confused when there was the request to create an html file and I wasn't sure where or how to do this, althouts I stuck to the 20 minutes of trying to figure it out rule and got there in the end. I quite enjoy these processes and the small snippents of satisfaction when things works as they are meant to. Because of this I maybe took longer than I should have as I re-did some things and just practiced the some of the processes (like changing file names and moving files etc) for reps and familirisation. I just downloaded a cheat sheet for all of the commands as there was quite a few to recall. I'm not sure if I would do much differently if I had to do this again. I was thorough but did not waste time and feel everything I did was a help in building my fundamental programming skill-set.
Stage and Commit
If I was to describe what stage and commit was to my non-tech-savy friend, I would tell them that the stage (or index) in the analogy of a production factory has the stage being the despatch area when some goods are ready to be sent to a customer, and that the commit is the courier collecting the goods (i.e. when the leave the factory) and are now billable.
Branch, Pull and Merger
The main is the main trunk of a git repo - it is the most prisitine
and safe version that other versions (branches) are to be created
from. We create branches as it is important to have a safe space to
build new things (and make errors along the way) that doesn't cause
problems to the most up to date and prisitnie version (being the
Main).
These concepts do feel intuitive as they are just common sense. The
fact that I can visualise the concpet by imaginging the structure of
a tree and that the terminology is associated with the tree also
makes in extra common sense. It's a practical and logical
concept.
Github Clone and Fork
We would fork when we are wanting to develop a project that furthers
on from the code of another open-source repository. This
means that we have our own snaphot version of the code to develop
without hgaving to worry about the repercusions in making errors to
the original. Forking also means that we can debug problems without
needing certain levels of permissions within the source repo.
I felt that things clicked easier for me with the
forking part of the lesson. For me it feels more seemless to
have a copied version that is completely separate compared to the
branches and mergers of the previous lesson.