BEGIN:VCALENDAR
VERSION:2.0
PRODID:icalendar-ruby
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20260808T235343Z
UID:1398a4a0-3951-499d-a040-fec4b8c930c8
DTSTART:20231002T000000Z
DTEND:20231004T000000Z
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 to take the following [online tutorial](https://edu.sib.sw
 iss/course/view.php?name=UNIX_I) before the start of the course.\n.\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 should also have a working microphone as some 
 exercises involve\ncollaboration/communication with other participants.\n\
 n# Schedule\n### Day 1:\n* Introduction to version control systems and Git
 .\n* Git basics: your first commit.\n* Git concepts: commits\, the HEAD po
 inter and the Git index.\n* Git branches: introduction to branched workflo
 ws and collaborative workflow examples.\n* Branch management: merge\, reba
 se and cherry-pick.\n* Retrieving data from the Git database: git checkout
 .\n* Working with remotes: collaborating with Git.\n* GitHub: a brief over
 view.\n\n### Day 2:\n* Rewriting history: interactive rebase\, git reset a
 nd commit amending.\n* The detached HEAD state explained.\n* The Git stash
 : Git’s “cut and paste” functionality.\n* Git tags: label important 
 commits.\n* GitHub: creating a new project\, adding new users and collabor
 ating wit them.\n\n### Day 3 (half-day):\nThe last half-day of the course 
 is optional and covers two Git extensions that can be useful in\ncertain s
 cenarios:\n\n* Git LFS: versioning large files with Git.\n* Git submodules
 : embed a Git repository as a subdirectory of another Git repo.\n\n# Appli
 cation\n\n\nRegistration fees for academics are **200 CHF**.\n\nDeadline f
 or free-of-charge cancellation is set is set to *24/09/2023*. Cancellation
  after this date will not be reimbursed. Please note that participation to
  SIB courses is subject to our [general conditions](http://www.sib.swiss/t
 raining/terms-and-conditions).\n\nYou will be informed by email of your re
 gistration confirmation.\n\n# Venue and Time\n\n\nUniversity of Lausanne\n
 \nOur courses usually start at 9:00 and end around 17:00. Precise informat
 ion about location and time will be provided to the participants on due ti
 me.\n\n\n#  Additional information\nCoordination: Grégoire Rossier\n\nWe 
 will recommend 0.5 ECTS credits for this course (given a passed exam at th
 e end of the course).\n\nYou are welcome to register to the SIB courses ma
 iling list to be informed of all future courses and workshops\, as well as
  all important deadlines using the form [here](https://lists.sib.swiss/mai
 lman/listinfo/courses).\n\nFor more information\, please contact [training
 @sib.swiss](mailto://training@sib.swiss).
SUMMARY:Version Control with Git
URL;VALUE=URI:https://www.sib.swiss/training/course/20231002_GIT
END:VEVENT
END:VCALENDAR
