1. Principles and practices¶
Assignments for this week (Jan 22-28):¶
- Plan and sketch a potential final project
- Read and sign the student agreement and commit it to my repository
- Build a personal website in the class archive with profile and final project idea.
1. Potential final project¶
Documented over on the “Projects” section
2. Student Agreement¶
For this task, I referred to my node (FabLab Kamakura)’s Git Tutorial to follow below 4 steps:
1. Set up my Git Repository¶
What is Git?
Git is a free, open-source version control system that helps programmers track and manage code changes. It’s the most popular version control system in the world, and is considered the standard for software development. - Code Institute
This introductory video helped me get familiarised with its basic concepts.
- To set up Git, first I installed VS Code as my text editor and terminal app.
- I then installed Git Bash as my command line interface, which is a tool for my PC to talk to and execute commands on GitLab.
- Once installed, I checked git’s version and completed the configuration by typing below on Git Bash.
git --version<br>
git config --global user.name "Midori"<br>
git config --global user.email "my email"
2. Generated an SSH key¶
An SSH key in Git is a cryptographic key pair used to securely authenticate your local machine when connecting to a remote Git repository (like GitHub) without needing to enter your password each time, essentially acting as a secure login method for your computer to access the repository over the SSH protocol. - Atlassian
Steps for generating an SSH key
In order to generate an SSH key, first, I checked that I don't already have one, by typing below on my Git Bash.`cat ~/.ssh/id_rsa.pub`
Checking that I did not have any, I generated a key by typing below.
`ssh-keygen -t rsa -C “my email”`
Next, I was asked to enter a passphrase, which I entered (regretfully). Given the amount of pushing I will be doing in FabAcademy, I should have kept this step passphrase-free. Next, to retrieve the Public key (the .pub file) that was generated, I typed below.
`cat ~/.ssh/id_rsa.pub`
To delete the passphrase in the SSH key, type below in Git Bash:
ssh-keygen -f ~/.ssh/id_rsa.pub -p
Then Enter the old passphrase, followed by the new passphrase two times.
The SSH key will look like this (greyed out in the picture, as the key should never be made public)
I copied this key and copied it to my GitLab by pasting it onto my Gitlab User Settings -> SSH key.
3. Cloned the git repository onto my PC¶
First, I created a folder on my PC to use as my local repository.
Then on Git Bash, I navigated to the folder I made, using the “cd” command.
In order to clone my repository to this folder, I went to my GitLab repository and selected “Clone with SSH”.
git clone git@gitlab.fabcloud.org:academany/fabacademy/2025/labs/kamakura/students/midori-kurokawa.git
I pasted this onto Git Bash.
I opened my repositry over on VS code, and checked that all the contents are displayed correctly.
4. Committed the Agreement to repository¶
On my VS Code, I opened the “Agreement.md”, pasted the Agreement onto it, and signed my name.
At this point, for ease of use, I changed my VS Code’s terminal to Git Bash.
I then pushed the above change to GitLab by typing below commands:
・git pull #This updates my local repository with latest changes in remote repository (= GitLab)
・git add . #This addd the local changes to the staging area for pushing onto the remote repository
・git commit -m "message" #Registers the changes, with a message to explain what I changed
・git push #Sends the registered local changes to the remote repository
Remember that the git push limit for FabAcademy is 10MB per push!
3. My personal website¶
For my website, after trying both HTML and Markdown, I chose Markdown for its simplicity and speed.
What is Markdown?
Markdown is a lightweight markup language that you can use to add formatting elements to plaintext text documents. Created by John Gruber in 2004, Markdown is now one of the world’s most popular markup languages. - markdownguide.org
Setting up my VS Code for MKDocs
I used [MKDocs](https://www.mkdocs.org/) as my static site generator.I replaced all the contensts of my local repository with the above template, then pushed it onto GitLab.
I tested the website and confirmed that all the contents were displayed properly.
Finally, I updated my profile page.
I also added my initial project ideas to the Project section.
Reflection:¶
This week, I learnt about the basic steps for version control using git, and how to configure and execute tools such as GitLab, Git Bash, VS studio. I also learnt how to build a simple website using Markdown.
Assignment Checklists:¶
- [x] Sketched my final project ideas
- [ ] Described briefly what it will do and who will use it
- [x] Made a website and described how I did it
- [ ] Created a section about myself on that website
- [x] Added a page with my sketch and description of my final project ideas
- [x] Documented steps for setting up my Git repository and adding files to it
- [x] Pushed to my class GitLab repository
- [x] Signed and uploaded Student Agreement