my picture

Assignments
Final Project
Student Agreement

Assignment Two: Project Management with Git

Fab Academy encourages the use of Git and GitLab, and I will be using both to manage the stages of my work in this course.

Git is an open source distributed version control software that keeps tracks of changes to a file. It is compatible with Linux, Mac OS and Windows operating systems. Distributed version control allows different users (or team of users) maintain their own repositories, instead of working from a central repository. It tracks changes, not versions. The advantage of Git is it allows developers to work individually and submit new work in increments.

GitLab is a Git-based repository manager that helps to develop the entire software with concurrent development environments within one single powerful application.

Using both for Fab Academy would enable me to keep track of my weekly projects, but also help me manage it better. In our first class, Neil spoke about spiral development as a way of managing projects - it would be interesting to see how this works with Git.

Thankfully, I had installed Git Bash (which is the Git environment for Windows) previously for another course I took last year so I didn't need to reinstall it. However, I had never used an SSH Key before. An SSH key is what helps to establish a connection between a git repository manager and a local folder. When installing Git Bash, an ssh-keygen is also installed. So what I had to do first was create an SSH key using the keygen.

creating an SSH key

Next, I had to add the public key to GitLab.

adding key to GitLab

With these two done, all that was remaining to do was clone to the repo to my local drive. My instructor, Francois, showed me the ropes for this.

cloning the repo

With that done, I can now write files on my local drive directly to the GitLab account when I commit to the repo using Git Bash. This will be immensely useful for version control.

As I have some experience writing basic HTML and CSS code, I decided to make my course site with just those two - no template. I seriously considered Jekyll but I think it might just be easier this way. Basic websites can still be a little pretty by using careful punctuation and text colour. As I am very comfortable using Microsoft Visual Studio, I will be using that as my code editor.

Visual Studio ScreenShot

As shown above, Visual Studio allows for using different tabs and with the new features, I can even push commits directly from the editor.

Adding Commits with Visual Studio

Another benefit of writing direct HTML and CSS is that I reduce the difficulty of anyone reading my project with any browser, it helps me also add alt text to pictures quite simply. Last, it helps me continously practice my HTML and CSS throughout the course.

Then, I created my home page using CSS to create a small menu on the left side and keeping the text fixed on the right. I also used Segoe for the font as it's available on most browsers, easy to read, and sans serif.

My Fab Academy Homepage

After coding the website to a level that I wanted, I decided to add it to the Git repo. As it was my first time, I used some of the Git tutorials described here such as importing a new project and making changes.

First, I checked the used git status command to see if there were outstanding commits.

git status

Then, I added the files using git add.

new commits

After this, I used the git commit and git push origin master coomands to send the HTML and CSS files to the master repository on GitLab.

commits