BEGIN:VCALENDAR
VERSION:2.0
PRODID:icalendar-ruby
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20260615T034252Z
UID:09d9f345-a9fc-484d-9923-0c5245f7caa8
DTSTART:20231011T090000Z
DTEND:20231013T170000Z
DESCRIPTION:This course is coordinated with the doctoral program [Staromics
 ](https://biologie.cuso.ch/staromics/welcome) of CUSO\, whose members have
  the priority.\n\n\n\n\n# Overview\nGit is an open source\, distributed\, 
 version control system for tracking changes in source code and\nother type
 s of text documents. Created by Linus Torvald and first released in 2005\,
  Git has become\nthe de-facto standard for project source code management\
 , and is extensively used both in open\nsource and commercial software dev
 elopment. The usage of Git is not limited to code development\,\nbut can a
 lso be used to keep track of data analysis scripts and pipelines.\nThis 2.
 5 day course gives a very comprehensive introduction to Git and its most u
 seful commands\, as well as an introduction to collaborative workflows and
  to using GitHub. The last half-day of the course is optional.\n\n# Audien
 ce\nThis course is aimed at people with no or little knowledge of Git\, wh
 o are interested in using a version control system for collaborative work\
 , or simply to keep track of modifications in their\nscripts/code base/fil
 es.\nThis includes people working on code development\, but also scientist
 s interested in improving the\nreproducibility of their data analyses by k
 eeping track of their scripts using version control.\n\n# Learning objecti
 ves\nAt the end of the course\, the participants are expected to have unde
 rstood and practiced the following:\n\n* Introduction to Version Control S
 ystems.\n* Basic Git concepts: commits\, the HEAD pointer and the Git inde
 x.\n* Git branches: introduction to branched workflows and collaborative w
 orkflow examples.\n* Branch management: merge\, rebase and cherry-pick.\n*
  Retrieving data from the Git database: git checkout.\n* Working with remo
 tes: share your work and collaborate.\n* Basics of GitHub and GitLab.\n\n#
  Prerequisites\n### Knowledge/competencies:\nThe course is focused on usin
 g Git in command line mode (no graphical user interface). It is therefore 
 necessary to have some basic knowledge of UNIX command line\, e.g. how to 
 change directory or how to edit a file in a command line editor such as vi
 m/nano.\nIf you are not familiar with these UNIX fundamentals\, we strongl
 y recommend you complete the following [e-learning module](https://edu.sib
 .swiss/pluginfile.php/2878/mod_resource/content/4/couselab-html/content.ht
 ml) before the start of the course.\n\n### Technical\n* Your computer must
  be instllaed with a recent version of Git. Git is available on all major 
 platforms (https://git-scm.com/download).\n* For online classes\, you shou
 ld also have a working microphone as some exercises involve\ncollaboration
 /communication with other participants.\n\n# Schedule\n### Day 1:\n* Intro
 duction to version control systems and Git.\n* Git basics: your first comm
 it.\n* Git concepts: commits\, the HEAD pointer and the Git index.\n* Git 
 branches: introduction to branched workflows and collaborative workflow ex
 amples.\n* Branch management: merge\, rebase and cherry-pick.\n* Retrievin
 g data from the Git database: git checkout.\n* Working with remotes: colla
 borating with Git.\n* GitHub: a brief overview.\n\n### Day 2:\n* Rewriting
  history: interactive rebase\, git reset and commit amending.\n* The detac
 hed HEAD state explained.\n* The Git stash: Git’s “cut and paste” fu
 nctionality.\n* Git tags: label important commits.\n* GitHub: creating a n
 ew project\, adding new users and collaborating wit them.\n\n### Day 3 (ha
 lf-day):\nThe last half-day of the course is optional and covers two Git e
 xtensions that can be useful in\ncertain scenarios:\n\n* Git LFS: versioni
 ng large files with Git.\n* Git submodules: embed a Git repository as a su
 bdirectory of another Git repo.\n\n# Application\n\n\nRegistration fees fo
 r academics are **200 CHF**.\n\nDeadline for free-of-charge cancellation i
 s set is set to *02/10/2023*. Cancellation after this date will not be rei
 mbursed. Please note that participation to SIB courses is subject to our [
 general conditions](https://www.sib.swiss/training/terms-and-conditions).\
 n\nYou will be informed by email of your registration confirmation.\n\n# V
 enue and Time\n\n\nThe course will take place at the University of Lausann
 e.\n\nOur courses usually start at 9:00 and end around 17:00. Precise info
 rmation about location and time will be provided to the participants on du
 e time.\n\n\n#  Additional information\nCoordination: Grégoire Rossier\n\
 nWe will recommend 0.5 ECTS credits for this course (given a passed exam a
 t the end of the course).\n\nYou are welcome to register to the SIB course
 s mailing list to be informed of all future courses and workshops\, as wel
 l as all important deadlines using the form [here](https://lists.sib.swiss
 /mailman/listinfo/courses).\n\nFor more information\, please contact [trai
 ning@sib.swiss](mailto://training@sib.swiss).
SUMMARY:Version Control with Git
URL;VALUE=URI:https://www.sib.swiss/training/course/20231011_GIT
END:VEVENT
END:VCALENDAR
