Week 1: Project Management and Git Tutorials
Git Tutorial
I worked through the Git tutorial to understand how version control works. Here's a brief breakdown of what I learned:
I was completely new in this kind of project management which was about documenting and tracking all progress of my work in Fab Academy. I started reading and reasearching about code editors and how to build a web page. I came to realise that there are several code editors that i could choose from but that I have to choose one that can meet the demands of digital fabrication with its use of enginering tools, software update extentions and can easily work with github. Below is a list of them:
- VS-Code - Visual Studio Code, often referred to as VS Code, has become a staple in the developer community. Its extensive extension marketplace allows for high customizability, making it a favorite among developers. Whether you're into web development, data science, or even game development, VS Code has something for everyone.
- Sublime Text - It’s known for its speed and simplicity. The editor's minimalist design and lightning-fast performance make it a popular choice for developers who prefer a no-frills coding experience. One of its most beloved features is the multiple selection tool, which allows you to make the same changes to multiple parts of your code simultaneously.
- Atom - Atom, developed by GitHub, is often praised for its hackability. The editor is built on web technologies, allowing developers to customize and extend its functionality using JavaScript, HTML, and CSS. This makes Atom highly flexible and adaptable to different workflows. [Source: https://toxigon.com/code-editor-feature-comparison]

Click here for comparison of code editors
Screen short showing a comparison table for code editors and the final recommendation
I finally chose vscode as the code editor of choice and I downloaded it as follows:
- Search and download VS-Code
- Open vscode


- Git is a tool that helps manage and track changes to files, especially for collaborative projects.
- The basic workflow involves creating a repository, adding files, committing changes, and pushing them to a remote server (like GitLab).
- I first downloaded github
- I then installed it
- Track Contributions: Git commits are associated with the email address configured in your Git settings. This ensures your work is tracked and contributions are attributed to you in the project repository.
- Collaboration: In a collaborative environment like a Fab Lab, the repository may be shared by multiple users. Proper email configuration helps distinguish between different contributors.
- Consistency: If you're pushing your changes to a public repository (such as GitLab or GitHub), your commits will show the correct identity, making it easier for instructors or teammates to review your progress.
- Instead of typing your password every time, use a public/private key pair to authenticate, which is much more secure.
- The SSH key pair consists of a private key (which you keep securely on your machine) and a public key (which you share with the remote server).
- Open your terminal and enter the following command:
ssh-keygen -t rsa -b 4096 -C "cat ~/.ssh/fablab_key.pub"
- When prompted, specify a file to save the key (press Enter to accept the default location).
- Enter a passphrase for added security (or press Enter to skip).
- Then add the SSH keys which allows me to establish a secure connection between my computer and GitLab. SSH fingerprints verify that the client is connecting to the correct host.
- The commands I used:
git init
to initialize a new repository.git add
to stage files for commit.git commit -m "message"
to commit changes.git push
to upload changes to a remote repository.


Configuring Git and SSH Keys
Configuring Email for Git
Configuring your email in Git is essential for several reasons:
To configure your email, use the following commands:
git config --global user.email "keipopelet@biust.ac.bw"


SSH Key Generation
SSH keys are used to authenticate yourself securely to a remote server or service, such as a Git repository (GitHub, GitLab, etc.) or a web server, without using a password.
To generate an SSH key, follow these steps:


Cloning a Repository
Cloning a repository allows you to create a local copy of a remote repository on your machine. This enables you to work on the project locally and push changes back to the remote repository.
To clone a repository, use the following command:
git clone <repository-url>
Replace <repository-url>
with the URL of the repository you want to clone.
