Git installation and setup (ubuntu OS)

  • Git is a version control software. It keeps track of changes made to files in a directory, and synchronizes those changes between user's computer and the online repository.

  • Install git on the computer

    Getting started - first-time git setup

    Open a terminal window (Ctrl+Alt+T)

    sudo apt-get install git

    Configure git with gitlab account (replace user and email with the ones from the previous step)

    git config --global user.name"your-git-user"
    git config --global user.email "your git email"
  • Generate ssh key

    An ssh key is an identifier for the computer, to grant permissions to connect to a server, for uploading files to the git account. This key must be generated in the user's system (GitHub help).

    Generate ssh key (Filename: default | passphrase: empty)

    ssh-keygen -t rsa -b 4096 -C "your git email"

    Start ssh agent

    eval "$(ssh-agent -s)"

    Add ssh key

    ssh-add ~/.ssh/id_rsa

    Display ssh key

    cat~/.ssh/id_rsa.pub

    Select and copy (CTRL+SHIFT+C to copy)

    Sign in to gitlab fabcloud.

    Go to settings, then "SSH keys" option on the left and paste the key on the text area (CTRL+V to paste the key)


  • Upload to GitLab

  • Create an empty folder to clone the git repository to (let's suppose you created it inside the Documents folder).

    Open a terminal window (Ctrl+Alt+T)

    Navigate to that folder (on ubuntu terminal) (use cd command [change directory])

    cd Documents/"folder you just created"

    Note: This folder must be empty.

    Clone git repository to that new empty folder (when finished, this folder will contain a copy of the git repository).

    git clone git@gitlab.fabcloud.org:academany/fabacademy/##this_year##/labs/stjude/students/##your_name##.git

    Navigate to the new site folder (identified by your name).

    You can now start worling on your site, or empty the folder and start from zero.

    Go back to the terminal.

    git add .
    git commit -m "< message >"
    git push origin master
  • After this, go to a browser and check your webpage.
  • For the next commits, the commands are:

    Use "cd" command to go to the repository folder on your computer, and to the folder with your number.

    Update the files in your folder with the latest files of your site.

    git add .
    git commit -m "< message >"
    git fetch origin
    git rebase origin/master
    git push origin master
  • Fab Academy Agreement

    The Fab Academy is responsible for:

    Teaching principles and practices of digital fabrication.
    Arranging lectures, recitations, meetings, and events for the class.
    Evaluating and providing feedback on student work.
    Offering clear standards for completing assignments.
    Certifying and archiving student progress.
    Supervising class preparation.
    Reviewing prospective students, instructors, and labs.
    Providing central staff and infrastructure for students, instructors, and labs.
    Fund-raising for costs not covered by student tuition.
    Managing and reporting on the program's finances, results, and impacts.
    Publicizing the program.
    Promoting a respectful environment free of harassment and discrimination.

    FabAcademy agreement document

    Fab Academy Instructor Agreement

    I am a Fab Academy instructor, responsible for:

    Mastering and mentoring the skills taught in the class.
    Providing adequate availability to assist my students.
    Participating in class preparation.
    Planning ahead for my lab to be ready for class topics.
    Timely local review and reporting on my students' progress.
    Promoting a respectful environment free of harassment and discrimination.

    Signed by committing this file in my repository,
    Juan Carlos Miranda Castro

    Instructor agreement document

    Fab Academy Lab manager Agreement

    I am a Fab Academy lab manager, responsible for:

    Ensuring that all the machines and supplies required by the class are available and in good condition.
    Providing adequate lab access for the class.
    Selecting, supervising, and supporting the local instructors.
    Monitoring safe and responsible lab use.
    Promoting a respectful environment free of harassment and discrimination.

    Signed by committing this file in my repository,
    Juan Carlos Miranda Castro

    FabAcademy agreement document

    Fab Academy Student Agreement

    I am a Fab Academy student, responsible for:

    Attending class lectures and participating in reviews.
    Developing and documenting projects assigned to introduce and demonstrate skills.
    Honestly reporting on my work, and appropriately attributing the work of others.
    Working safely.
    Leaving workspaces in the same (or better) condition than I found them.
    Participating in the upkeep of my lab.
    Ensuring that my tuition to cover local and central class costs is covered.
    Promoting a respectful environment free of harassment and discrimination.

    Signed by committing this file in my repository,


    Student agreement document