Exercise 01 Principles and practices, project management


Requirement

  1. Do a Git tutorial. Git tutorial
  2. Build a personal site describing you and your final project and upload to Git repository.
  3. Plan and sketch a potential final project and add it to your website.

Exploring the various Command line software options for GIT

After Prof Neil lecture, I began to do some exploring on the various command line terminal options available in Windows and Android platform. For the simplest reason- I am using a MS Windows10 laptop and a 6.44 inches mobile phone in android 6 Platform.


Git on MS Windows 10

On my Windows 10 Laptop I had installed the windows version of Git which can be found here.

From the windows git installation, I have configured command prompt- cmd to be the command line terminal for using git. Following closely on the help for git setup.

I also went on to download and install GitHub Desktop for windows from this link:
To my surprise, during my installation of GUI GITHUB for windows, another terminal- Git Shell came along which the enable me to use "ls" to list the content of the folder; just like Git Bash. So I went to spend some times to play with three terminals on Windows platform as shown in my snapshot.


Playing with Git Bash, MS Windows command prompt, and Github POSH.

As a quick reference, I found that this simplified guide and this cheat sheet to be most helpful.

After the Git installation, I went on to setup the git environment in my laptop where the following steps are being carried out.

Setting up my git account:
	$ git config --global user.name "username"
	$ git config --global user.email "yourname@youremail.com"
	
Generating my ssh key:
	$ ssh-keygen -t rsa -C "yourname@youremail.com"
	

At the same time also I setup my user account at Gitlab and synchronised my local account and this Gitlab user account; using the SSH key created earlier.

The howto create and add your SSH key to Gitlab can be found in the screencast listed in the url here; after you login using the Gitlab user account.

Upon setup, I then proceed to clone the fabacademy repo from (git@git.fabacademy.org:fabacademy2017/fablabsingapore.git) to my local drive.

Cloning the repository to my local drive:
	$ git clone git@git.fabacademy.org:fabacademy2017/fablabsingapore.git
	

I then went on to create my index.html page and proceed with the upload to the repo and the subsequent updating using the following git command:

To push updated files back to the repository involves these commands in the following order:
	
	$ git pull

	$ git add .    

	$ git commit -m "updated files"

	$ git push
	

It is important to note when using terminal that you must be in your local working directory before executing the commands.


Git on Android platform - Termux

In my mobile phone, I downloaded Termux Apps from Google Apps Store and after installed; I had generated my public key, list the public key generated using the following command:

	$ cat ~/.ssh/id_rsa.pub
	
Copied and paste the SSH key generated to my Gitlab Profile as shown in my screen captures below.

Playing with Android Mobile Phone with Termux

Altough it is fun to explore with Termux on my mobile phone, but I also finding it rather akward to working on the tinny touch screen- keying character by character and have to be familiarized with another set of keyboard command for the touchscreen. The Termux-Help pages can be found here. I was hoping I can at least clone my fabacademy repo on my mobile and able to do the documentation updating if there is a need.

Further to that, I attempted to clone the repo down to my mobile phone using the following command in Termux terminal:
	$ git clone git@git.fabacademy.org:fabacademy2017/fablabsingapore.git
	


After successfully cloned the repo locally, I noticed that there is an additional local folder- fablabsingapore being created. This folder is no-where to be found from my windows10 Explorer over the USB connection. So I went on to Google about it and found that it is because of right issue in Android 6 platform. Now I knew it is possible to clone and update the repo over my mobile phone, but I am not ready to edit my webpage on it. So I reverted to using my MS Windows 10 Laptop for the rest of my documentation. Hopefully when time permitted, I would explore further on using Termux.


HTML Editing Tool

There are many editing tools for html coding, we were introduced Notepad, Notepad++, Bracket, Sublime Text, and so on. In fact the git enviroment default tool is set to Notepad++. The tool I used to edit my webpages and update the content is Sublime Text. I like the fact it is able to predict the commands as I type and I was able to change the color scheme to my preference. And it is free. Sublime Text can be used in Windows, Mac and Linux platform.

Screenshot of my webpage being edited using sublime Text 3

To speed thing up, I have utilized the standard FabAcademy template and references to previous year archive to modify and created my personal webpages.


Learning points

The time frame permitted is rather too short for detail exploration of the every topic. For instance, after my unfinish business with Termux and ending up with some torubleshooting by recreating my SSH key in Gitlab and performed a profile update; it was already day-3, 28 January 2017. I would not have enough time to learn to edit my html in termux using "vim" editor. It will be too time consuming to use a touch screen keyboard and unfamiliar html editor. Not to mention I also ran into trouble to copy those files and photo I edited in my laptop over to my fablabsingapore folder in my mobile phone. For I can't locate the folder using GUI- Eplorer from windows 10 directly.

I would take it as, after creating a new SSH Key and add it to the my profile in Gitlab, a profile update is essential to establish the "right" between the mobile phone and Gitlab. Further exploration is required to understand the android platform in order to perform the git function in Termux.


Project Management

Prof. Neil mentioned a few project management tips to help turn in our work on time. I have found that Trello to be a good reminder's tool to keep track of things that I need to do for the week. Singapore Polytechnic as long term Microsoft Campus License Supporter are usually offers to use MS Project/ Excel for charting of timeline in project management with online training available. I found that Trello sort of compliment MS softwares with attractive graphical GUI and it is free.

My To-do list, Done list and followup list



References

  • Install Git on windows platform
  • Install Git on Android
  • Termux Help pages
  • Creating of ssh key
  • Basic Git commands
  • Git Cheat Sheet
  • Git tutorial
  • HTML Editor
  • HTML Coding Tutorial
  • Bootstrap 3 Tutorial
  •  |  Back to Page Top