Using Git in Academia# A seminar for the casual git user… About About this Seminar 1. Syllabus Working with Git - A Brief Introduction What is ? Main Features Limitations - Basic Elements - Writing History - Elementary commands The Update Cycle Collaboration Principles Healthy Reference Separate Changes Meaningful Steps Flag States ✨Feature✨ Branch Approach Versioning Semantic Versioning Useful Commands Exercise Git and its Remotes Remote Services Non-Exhaustive Overview of Hosting Services Popular Remotes Remote Services in Detail GitHub GitLab Remote Services at the University of Zurich I-MATH GitLab Server UZH GitLab Server UZH GitHub GitHub Education Remote Features Universal Features Web Interface Collaboration Tools Access Control Continuous Integration & Continuous Deployment (CI/CD) Project Management + Remote Tools Interactions Feature Branch Approach - reloaded Organizing Projects Challenges Research Groupy May Encounter GitHub’s Organization Structure GitLab’s Organization Structure Differences Between GitHub and GitLab Contributing to 🔓 Open Source Repositories Step-by-Step Further Topics Not Covered Exercise Weekend out on GitHub - Part 2 CI/CD Workflows Why 🤖 Automation? Harnessing the Power of Automation in GitLab, GitHub, and Similar Platforms The Benefits of Automation for Non-Software Developers Navigating the Challenges of Automation Creating CI/CD Scripts A YAML Primer Understanding Variable Substitution From YAML to Automation GitHub Workflows GitLab Pipelines Workflows vs. Pipelines - Overview Workflows vs. Pipelines - by Example Runners What Are Runners in CI/CD? Types of Runners Configuring Runners Communication with Remote Service 🤗 Embrace automation 🤗 Recap Feature Branch Approach - with Automation Some considerations Exercise LaTeX Article CI/CD Pipeline Git and Science in Science A Historical Perspective Project Management Tools Key Features and Benefits Advanced & Features for Project Management Example: Paper Review on or Large File Storage (LFS) Why Use LFS? vs. LFS: A Comparison Data Model How to use LFS LFS Availability at UZH Submodules What are Submodules ? Features of Submodules Benefits of Submodules for Reproducibility Use Cases for Submodules Essential Commands for Submodules Working with Submodules Gotchas for Submodules Handling Submodules in CI/CD Pipelines Versioning ⚡️Reproducibility Reproducibility Where and its Remote Services Can Help How Can Enhance Reproducibility Can Do More! … and More! How Remote Services Can Enhance Reproducibility Exercise