Githug is an interactive game that teaches "git" in the terminal. This is a classroom concept.
255
Git Your Game On
Githug is designed to give you a practical way of learning git. It has a series of levels, each requiring you to use git commands to arrive at a correct answer.
This containerized application attempts to leverage Githug for the classroom.
For the standard levels from the original githug repository on github (currently 54 as of this writing, and targetted at professional developers), your students can pull the container directly from docker hub using the standard docker pull command as follows:
docker pull orwa84/githug
If, on the other hand, new level sets are available at alternative repository, or an alternative branch of the github repositry, then you can build your own images as follows:
git pull <your forked githug repo here>
git checkout <your desired branch>
docker build --tag orwa84/githug .
After pulling or building the docker image, your students should be instructed on how to start the interactive application, while binding the submition folder to a local directory on their machine:
cd <local folder for submission files>
docker run -it --name githug -v $(pwd):/data orwa84/githug
Note that in PowerShell on Windows, $(pwd) should be replaced with ${pwd}.
In case of multiple students sharing the same computer, different containers can be ran from the same image with their own state representing the progress of each student (e.g. by passing --name githug-michael, --name githug-sara, and using different folders for the <local folder for submission files> part).
After solving a number of levels, the student should "exit" the container by pressing CTRL+D or typing exit. This will save their progress automatically in the /data volume inside the continer, whose contents will appear in the designated folder.
For your students to pick up from where they left off. They will have to re-start the container from the same computer to retain their progress. This is done using the following command:
docker start -ai githug
... where, in the case of multiple users sharing the same computer, the name of the container might contain the name of the student (e.g. githug-michael, githug-sara, etc.).
At the end of the course, the students should be instructed on how to send the contents of the /data folder, which is mapped to a local folder. The contents of this folder can hence be compressed and submitted using th LMS of the school (e.g. Moodle).
In the /data volume, the following files are found:
.profile.yml file used by Githug to track the current levelhistory.txt) that can help teachers understand the students methodology and troubleshooting strategygitconfig fileContent type
Image
Digest
Size
119 MB
Last updated
almost 4 years ago
docker pull orwa84/githug