# Git version control ja Gitlab project management environment - TT00CD61 - 2 ECTS On this course we study how Git version control and Gitlab project/repository management environment are used. Git has become the 'de facto' tool for source code version control and these practices can be used on any field of education. **Note!** This material has mostly been made in 2018 with slight updates in the August of 2020. Video's have been renewed for the english language implementation in 2021. In 2023, the web gui of Gitlab was updated causing the renewal of texts and screenshots, but not the videos (as basically the buttons just changed places). The update work will continue in the fall of 2024. :movie_camera: [Course Introduction video](https://panopto.jamk.fi/Panopto/Pages/Viewer.aspx?id=80bc5aa0-20a9-4642-af31-ad890040aaa4) :movie_camera: 1. [Generally](#generally) 3. [Timetable](#timetable) 2. [Material](#material) 2. [Literature](#literature) 2. [Evaluation](#evaluation) 4. [Other](#other) ## Generally  | - | JAMK, Unit of Technology, Institute of Information Technology | |:--------|:----------:| | Teacher | Juho Pekki - juho.pekki@jamk.fi | | Semester | Nonstop | | Group | Any degree programme | The objectives and pre-requisites for the course you can read from [the course description in Peppi](https://opetussuunnitelmat.peppi.jamk.fi/48/fi/59/5290/1129/0/53846?lang=en). Recognition of Prior Learning (RPL) process can be done according to [JAMK's instructions](https://www.jamk.fi/en/for-students/degree-student/recognition-of-prior-learning-and-experience). ## Timetable The recommended order of studying is presented below. | Week | Material | Assignments | |:--------|:----------:|---------| | 01 | [Generally Git & Gitlab, Issues ja Milestones](src/vko/vko01.md) | [Assignment 1](src/vko/vko01_harj.md) | | 02 | [Git installation, Git basics & Markdown file formatting](src/vko/vko02.md) | [Assignment 2](src/vko/vko02_harj.md) | | 03 | [Git HTTPS/SSH, Revision history, Diff -info, Statistics & Wiki](src/vko/vko03.md) | [Assignment 3](src/vko/vko03_harj.md) | | 04 | [Pandoc, binary files, .gitignore, draw.io and CI/CD pipelines](src/vko/vko04.md) | [Assignment 4](src/vko/vko04_harj.md) | | 05 | [Branches, Merge Requests, Merge Conflicts and finally repository settings](src/vko/vko05.md) | [Assignment 5](src/vko/vko05_harj.md) | ### Students of JAMK The course can be found from the study plan of Information and Communications Technology (TIC) students as a elective course. The course is ran as an nonstop implementation, which means you can start the course immediately by enrolling in [Peppi](https://peppi.jamk.fi) for the course: :scroll: [https://peppi.jamk.fi](https://peppi.jamk.fi) -> Studies -> PLP -> Enrollments -> Search for courses -> Write: "gitlab" and press Search -> Enroll :scroll: If necessary you can resort to [Peppi student guide.](https://help.jamk.fi/peppi/fi/opintoni/ilmoittautumiset-opintojaksojen-toteutuksille/) ### Students of CampusOnline The course is opened separately for autumn and spring semesters. Enroll according to CampusOnline instructions. ## Material The study material is distributed through: - Gitlab repository export file, which can be downloaded from the [Moodle -workspace](https://moodle.jamk.fi). The file includes used material and source references. Discussions and virtual support: - Login with your @student.jamk.fi -account to [Microsoft Teams](https://teams.microsoft.com) and join a open team `Git version control and GitLab project management environment` - You can also send email, if necessary to juho.pekki@jamk.fi ### Instructions for starting the course The study material is distributed through: - Gitlab repository export file, which can be downloaded from the [Moodle -workspace](https://moodle.jamk.fi). The file includes used material and source references. The course can be done either in: 1. https://gitlab.labranet.jamk.fi -server (JAMK LabraNet student/account), :movie_camera: [video of the login](https://panopto.jamk.fi/Panopto/Pages/Viewer.aspx?id=59a00c6d-66b7-47a2-821f-ad890040ab07) :movie_camera: 2. https://gitlab.com -server, :movie_camera: [video of the login](https://panopto.jamk.fi/Panopto/Pages/Viewer.aspx?id=a611e2ca-7ecc-4bb6-8028-ad8700716635) :movie_camera: :exclamation: After the login/register you have to bring/import the exported repository file into Gitlab. I won't be sending this file as an email as the link is in [Moodle](https://moodle.jamk.fi). Look at the instruction :movie_camera: [video](https://panopto.jamk.fi/Panopto/Pages/Viewer.aspx?id=59a00c6d-66b7-47a2-821f-ad890040ab07). :movie_camera: ## Literature [Chacon, S. & Straub, B. 2014. Pro Git.](https://github.com/progit/progit2/releases/download/2.1.241/progit.pdf) ## Evaluation On the course the student returns: - **2 ECTS:** Student does all the necessary assignments and afterwards adds @pekkju as a member of the repository (with Maintainer rights). This is the last part of the last assignment. The returned repositories are evaluated as Passed / Not Passed. ## Other There is no mandatory attendance requirements. Course feedback is asked in the last assignment. ## License This course and its materials are written by [Karo Saharinen](https://www.linkedin.com/in/karo-saharinen/) and licenced by [Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) ](http://creativecommons.org/licenses/by-nc-nd/4.0/) -license. [](http://creativecommons.org/licenses/by-nc-nd/4.0/)