Project Management (week 02)
Group Assignment: (None for this week)
Individual Assignment (work through a git tutorial, build a personal site in the class archive describing you and your final project)
Here the learning curve began fast, no space for procrastination: in parallel, learn git AND decide on a web page template that’s going to hold traces and evidences of my leanings!
A webpage to collect my thoughts
I went on shopping for free webpage templates on sites such as colorlib.com. It took me a lot of trials before I was satisfied by the look of it. I never had coded before in HTML nor was I familiar with CSS environment and uses. One template finally got my attention and I started to fill pages using strategy themes from colorlib. It became rapidly obvious I was not going to keep working with it: too much features renders the pages reading heavy to load and read, so I decided to go for a plain, basic, no fuss and slick html presentation of my data. To achieve such skim format, I opt in the end, working with Micrososft Word. I’ve been around text software for nearly all my adult life, from Corel -Word Perfect era to actual Microsoft Office -Word. Using it to generate webpage is straightforward, you type text, organize paragraph, paste in picture and associate hyperlink directly into the document (in my case, individual weeks) and then make sure to save in Html format into a designated folder. Following recommendation of my colleague Chuma on the font to retain, I too opted for Sergeo and the result is into the format you are reading here.
Now Let’s “Git going”
First task, acquire Git for the Windows environment and deploy it, our journey started by visiting the Git Wiki Homepage installation site and found there a plethora of information!
Pretty straight forward, the Git Windows Installer version we're using can be found from the git wiki repository at the following address: https://gitforwindows.org/. Again, no major problems to reported here, only pay attention to username and most of all to email address used: I initially was using a different email address then the one retained by the FabAcademy organization and that caused me logging problems. See later with ssh key generation and use.
But what is Git really? Git is a version control system meant to do exactly that: Maintaining and tracking changes made over time by software developer over time. More elegantly put: Version control systems are a category of software tools that help a software team manage changes to source code over time. Version control software keeps track of every modification to the code in a special kind of database. If a mistake is made, developers can turn back the clock and compare earlier versions of the code to help fix the mistake while minimizing disruption to all team members. (Exert from https://www.atlassian.com/git/tutorials/what-is-version-control).
I followed, mostly, www.atlassian.com interactive Git tutorial here to get acquainted with this new way of handling my stuff. Without any worth mentioning problems, I learned to:
Initializing a new repository: git init
This command is essential to literally create the Master branch of the repository.
Within a given project, this command should not be needed anymore (the repository is created, and files can now be committed from the working folder to the cloud-based Git repository).
In order to link a working version on one’s local machine to the repository on the cloud is to “authorize” binding between both entities. This is done by generating an SSH key on the local machine and link it to the cloud side. I used Git-Lab solution to do so, there you can find a detail, easy to understand tutorial on how to generate such key. You will need for this and quite often to maintain your repository Git-bash application as an interface terminal within local machine folders and git repository.
Committing a modified version of a file to the repo
With the command Git Commit, one sends the entire content of the folder you’re working on the local machine gets packaged, historically tracked and traced until the Push command is issued so that files are essentially pushed to the cloud-based repository.
Having changed a few times my webpage templates resulted, when files on local machine are committed to the GitHub repository, any changes in files content are basically reflected directly onto the server. This means for instance that following git commit command, all files and folders deleted and/or modified will be updated and reflected into the repository.
Here’s one example of such:
Git push command:
Once committed files are then pushed onto the server with the use of the command push. This will permit to keep track of changes made onto local machine and literally mirror them onto repository.
Such display will occur:
And git status command will serve to confirm push command as worked: