2. Project management

Week 02: Feeling like Alice after she fell down the rabbit hole…I have entered a strange new world of GitLab.

Extremely intimidating and overwhelming at first…I honestly didn’t know where to start with this week’s assignment. Huge thanks to FabAcademy Kamakura’s amazing instructors (Rabbit, Mad Hatter, Caterpillar senseis…:)) for being such great guides in the fantastical FabWorld. Overall, after the work session and kind guidance, I feel as though I have enough of a grasp of the rationale and workflow techniques necessary to document my work over the next six months. Lots more to learn to make my online presence more pretty (time permitting)…but for now I am satisfied that I can actually make rudimentary pages that looks tidy and, more importantly, can communicate my thoughts reasonably well. Notes of the workshop session as follows…

Student Agreement document is here

Assignment Tasks

  1. Setup and get familiar with cloud-based, website accessible, GitLab pages to document my FabAcademy learnings and projects
  2. Install and use GitBash as the Command Line Interface terminal to Push/Pull changes to documents in repositories
  3. Use GitBash to make a Public/Private encryption key to secure Push/Pull actions to/from GitLab
  4. Use GitBash create a local repository clone of the cloud repository
  5. Install and use Atom as the markdown editor of documents in the local repository
  6. Use GitBash to ‘push’ Atom edited documents from the local repository to the cloud repository

Today’s Activities

GitLab

  • Successfully logged into my GitLab account…noted that I have access to a personal student project “dashboard” page, a FabAcademy 2019 class page, and now a Kamakura node 2019 class page
  • I am using Two-Factor Authentication to log into GitLab…a bit troublesome, but I want to contribute to security
  • Changed the setting on the FabAcademay 2019 page from “Global” to “Watch”…partially understood that this allows me to see notifications from the global FabAcademy network…to allow me to ask questions of the FabWorld or establish collaborations

GitBash

  • Installed GitBash. Ahhhhh, Command Line Interface really brings me back! Feel like I am dusting off an old part of my brain that I had forgotten about!

Generating an Encryption key

Full instructions to generate SSH Encryption Key for GitLab here

  • SSH Encryption Key generated using GitBash…decided to use a passphrase…(a bit cumbersome in actual use…)
    • Command: ssh-keygen -t rsa -C “(email address associated with the encryption key)”
    • Made mistake in keygen…”too many arguments error”…probably because I didn’t capitalize ‘c’ or had ‘$’ in front of my email address

  1. The Private key is saved in the root directory in a folder invisible to Windows Explorer…but can be searched for using commands in the Gitbash interface (using command line interface is so nostalgic!). Used the command ‘ssh-keygen -t rsa -C “your.email@example.com” -b 4096’ in GitBash terminal.
  2. The Public key was uploaded to Gitlab in the cloud. Used ‘cat ~/.ssh/id_rsa.pub | clip’ command in GitBash terminal to copy the Public Key. In GitLab website…in User Settings, SSH Keys…pasted the Public Key.
  3. Used GitBash to clone my personal cloud repository (cloud repo) to my local PC…”Git Clone” command used. Specification of the repository to clone was done by copying the URL from the Cloud Repo webpage
  4. Instructed to make edits to my website using documents residing in the local repository (local repo) not the cloud repository
  5. Instructed that in the future, I will need to pull from the cloud before making edits to local repo documents. This to ensure that I am working on the latest version of the repo in case someone had edited my cloud repo (need to confirm with senseis…are there other commands other than just “pull” that needs to be done to stage and prepare for pulling??)

Pushing to the Cloud

  • Edited the Student Agreement and used GitBash to push the changed document to the GitLab cloud repository…success (I think)

  • Commands used in sequence to push to the cloud as follows…
  • “Git Add .” to prepare Gitbash for push action;
  • “Git Status” to see what changes has been recorded to the local repo;
  • “Git Commit -m (some message)” to commit to upload and add a message describing the purpose of the upload;
  • “Git Push” to replace the cloud repo with the edits in the local repo…a prompt pops up to enter the encryption passphrase

Other Commands I learned in my first foray into GitBash…

  • “cd” command
  • “dir” command
  • …using the arrow keys to edit or find previously typed commands (arigatoh Mad Hatter sensei!)

Git tutorial done!!! Woo hoo!!

Now time to work on my webpage…

  • I can make edits on files existing on my git page in the ‘docs’ folder of the local repo
  • Sub folder “about/index.md” is the place to edit my own personal information page
  • Sub folder “assignments/week*.md” is the place to edit assignment notes pages

Atom

  • Uploaded and installed ‘Atom Text Editor’ to edit “.md” files on local repo
  • Noted…images to upload to cloud repo should be around 100kb in size …max 380mb for the whole website at the end of the program. Current size of cloud storage usage can be seen on the GitLab dashboard (thank you Mad Hatter sensei!)

  • Atom is a markdown editor that makes it possible for me to edit webpages without having to be proficient at HTML…whew! It is a very user friendly program that reminds me of a simple word processor program like MS Word.

Some learning outcomes from using Atom… - “Packages” are useful plugins that add functionality to Atom - Using # to emphasize text (make bold and large) - Using bullet points to organize - Inserting images to clarify and make a visual impact

…that’s the extent of website beauty for me right now. So much more I could learn and do, but I should manage my time…focus on quality content that communicates effectively.

  • Will have to see what other useful “packages” can be useful to enhance the appearance of my website…
  • Had an issue where cloud repo and local repo not in sync (Mad Hatter sensei made changes there to help me with Atom-to-GitLub issues…photos not appearing…turned out I was spelling the image files incorrectly using caps…Atom didn’t care but GitLab didn’t like it.). Had to resync by overwriting local repo with cloud repo.