{"id":17513001,"url":"https://github.com/t4d-gmbh/using-git-in-academia","last_synced_at":"2026-01-28T06:04:54.308Z","repository":{"id":258542544,"uuid":"848847869","full_name":"t4d-gmbh/using-git-in-academia","owner":"t4d-gmbh","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-25T14:09:15.000Z","size":122,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-28T04:34:39.489Z","etag":null,"topics":["academia","git","github","gitlab","science-research"],"latest_commit_sha":null,"homepage":"https://t4d-gmbh.github.io/using-git-in-academia/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/t4d-gmbh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["t4d-gmbh"]}},"created_at":"2024-08-28T14:12:34.000Z","updated_at":"2024-10-25T09:38:06.000Z","dependencies_parsed_at":"2024-11-04T10:35:34.472Z","dependency_job_id":null,"html_url":"https://github.com/t4d-gmbh/using-git-in-academia","commit_stats":{"total_commits":46,"total_committers":2,"mean_commits":23.0,"dds":"0.021739130434782594","last_synced_commit":"74c02c17cea79c6d359c424a4ff819ccb730a2e7"},"previous_names":["t4d-gmbh/using-git-in-academia"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/t4d-gmbh/using-git-in-academia","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t4d-gmbh%2Fusing-git-in-academia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t4d-gmbh%2Fusing-git-in-academia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t4d-gmbh%2Fusing-git-in-academia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t4d-gmbh%2Fusing-git-in-academia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/t4d-gmbh","download_url":"https://codeload.github.com/t4d-gmbh/using-git-in-academia/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t4d-gmbh%2Fusing-git-in-academia/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271579449,"owners_count":24784252,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-22T02:00:08.480Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["academia","git","github","gitlab","science-research"],"created_at":"2024-10-20T06:06:34.910Z","updated_at":"2026-01-28T06:04:54.296Z","avatar_url":"https://github.com/t4d-gmbh.png","language":"Python","funding_links":["https://github.com/sponsors/t4d-gmbh"],"categories":[],"sub_categories":[],"readme":"# Using Git in Academia\n\nA seminar for the casual git user...\n\n \u003c!-- readme-include --\u003e\n\n---\n\n_If you find this course useful, please share it with others! Show your support by giving it a 🌟 using the ⭐-button at the top right of the page._\n\n_By starring the repository, you help increase its visibility, making it easier for others to 🔍 discover and 👩‍🎓 learn how to use Git and its remote services with confidence!_\n\n---\n\n \n## Content\n\n \u003c!-- syllabus-include --\u003e\n\n### 1. Part: [Working with Git](https://github.com/t4d-gmbh/working-with-git)\n\n#### Introduction to git\n- Know the basic building blocks of Git (Commits, Branches, Tags) and their relation\n- High-level understanding of how commits build up a history\n\n#### The basic workflow with git\n- Relate git operations (pull, push, etc.) to the typical workflow when developing a project\n- Understand how local changes integrate into the remote version and vice-versa\n\n#### Some useful commands\n- Know some commands beyond commit/pull/push and specific command options that facilitate the integration of git into the personal workflow\n\n#### Collaboration with git\n- Become familiar with the idea of maintaining a healthy reference and how it benefits collaboration\n- Understand how git operations and use patterns are designed to facilitate the maintenance of a healthy reference\n- Learn some best practices that facilitate the maintenance of a healthy branch and thus collaboration\n- Get acquainted with the \"feature branch\" workflow - A simple collaboration approach suitable for most cases\n- Recognise the benefits of using git even when working alone in a project\n\n#### A word on versioning\n- Grasp the difference between tags and commits and how tags facilitate navigation in the history of a repository\n- become acquainted with the [semver](semver.org) versioning standard and how versioning relates to tags.\n\n#### Examples and learning by doing\n- Resolve some issues (merge conflicts, etc.) on your own with the [Weekend Out](https://github.com/t4d-gmbh/Weekend-Out) project\n\n_That would be the end of part 1_\n\n\n\n---\n\n### 2. Part: [Git and its Remotes](https://github.com/t4d-gmbh/git-and-its-remotes)\n\n#### Git features vs remote services\n- Be able to tell what features and tools belong to git and what belong to remote services\n\n#### Most popular remotes\n- Come to know the most popular remote services (GitLab, GitHub, ...)\n- Learn what remote services are used at the university and what are good approaches to set up a collaborative project (for internal and external collaborations).\n\n#### Organizing projects and more\n- Discover how remote services can be used to organize collaboration across repositories\n- Basic understanding of GitHub's organisational structure (user, organizations, teams, projects, ...)\n- Basic understanding of GitLab's organisational structure ([sub-]groups)\n\n#### Project management with remotes\n- Know the elementary building blocks for project management\n- Understand how these building blocks integrate into a \"feature branch\" development approach introduced in part 1\n\n#### Contributing to OpenSource projects\n- Become acquainted with the standard workflow for contributions to pubic GitHub/GitLab projects\n\n#### Examples and learning by doing\n- Step through a \"feature branch\" development cycle by means of the project management tolls provided by the remote services\n- Identify and resolve some conflicts directly on the remote service\n\n\n---\n\n\n### 3. Part: [CI/CD Workflows](https://github.com/t4d-gmbh/ci-cd-workflows)\n\n#### Why remotes offer automation\n- Get an idea about the vast application possibilities of automation\n- Discover use cases of automation for non-software developer\n- Develop an idea how automation can help to maintain a healthy reference, facilitate collaboration and reduce errors\n\n#### Basic structure of an automation workflow\n- Become familiar with the principal elements that define a workflow and how workflows are defined on GitHub and GitLab\n\n#### About runners\n- Understand the purpose of runners and how they interact with remote services\n- Become aware of the security implications the usage of runners might entail\n- Learn about the possibility to setup and use dedicated runners\n- Understand how runners can be used to create reproducible environments\n\n#### How to integrate automation in a project\n- Get familiarized with how automation workflows are triggered\n- Learn how automated workflows integrate with project management tools\n- Be able to safely use sensitive information (credentials, etc.) in an automation workflow\n\n#### Examples and learning by doing\n- Create your own workflow to render and publish a LaTeX document\n\n\n---\n\n### 4. Part: [Git and Science](https://github.com/t4d-gmbh/git-and-science)\n\n#### Versioning as basis for reproducibility\n- Embrace how the commit based git history allows to recreate specific states and configurations\n- Apprehend the gap between versioning and reproducibility\n\n#### git LFS\n- Learn to version data and larger (binary) files with git\n\n#### git submodules\n- Become familiar with the approach to recreate environments with multiple git repositories\n\n#### Remotes project management tools\n- See how project management tools can facilitate to adhere to best practices and scientific integrity\n\n#### CI/CD for reproducibility\n- Be able to configure runners with completely reproducible environments\n- Get familiar with conducting an analysis or simulation via an automation workflow\n- Appreciate how automation workflows can bride the gap between versioning and reproducibility\n\n#### Examples and learning by doing\n- Complete, use and verify the reproducibility of an exemplary analysis automated with workflows\n\n\u003c!-- syllabus-exclude--\u003e\n\n## Contributing 🤝🎉\n\nWe welcome contributions to this project!\nWhether you're fixing bugs 🐛 or typos, adding new features ✨, or improving readability 📚, your help is greatly appreciated!\n\nBefore you start, please take a moment to read our [CONTRIBUTING.md](CONTRIBUTING.md) file.\nIt contains some details and guidelines 📋 on how to structure new content and best practices to help you get started and ensure that your contributions aligned with the project's goals. 🚀\n\nThank you for considering contributing to this course! You're awesome! 🌟\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft4d-gmbh%2Fusing-git-in-academia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ft4d-gmbh%2Fusing-git-in-academia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft4d-gmbh%2Fusing-git-in-academia/lists"}