ESMARConf2023: Workshop 8 - Advanced Git & GitHub
Channel: ESMARConf
Date: 30/03/2023

Coordinators: Chris Pritchard and Liz Felton
Title: Advanced Git & GitHub
Abstract: In this advanced GitHub workshops, we’ll bring you on a journey from refreshing your knowledge of basic terms through to understanding some of the nuts and bolts of Git. You’ll learn how to use the command line to manipulate git repositories, and even get working on some continuous integration and delivery, so that your changes can be available to the world in real-time. We would need you to have a working knowledge of git and either GitHub, or another similar platform, alternatively, this workshop follows on from the “Introduction to Git and GitHub” workshop so feel free to sign up for both!

Learning objectives: 
- To define terminology relating to Git
- To discuss the structure of a Git repository
- To identify basic commands on windows, Linux, and mac OS
- To describe the use of Continuous Integration and Continuous Delivery in modern tool development
- To use the command line interface to Git to undertake basic repository related tasks, for example, create a new branch
- To use git hooks and github actions to automatically run actions at various stages in a git workflow
- To sign commits using GPG

Audience:
A working knowledge of git and github (or similar alternative such as gitlab, gitea, or forjeo) OR completion of the basic github workshop

Requirements: 
Git, a GitHub Account, GNUPG, GPG Tools (Mac) or GPG4WIN (Windows) (https://gnupg.org/ / https://gpgtools.org/ / https://www.gpg4win.org/) for mac users with homebrew GNPUG can be installed with “brew install gnupg” or by following instructions here: https://mikeross.xyz/gpg-without-gpgtools-on-mac/).

Links:
"We've created a GitHub Classroom Environment for you to practice with the following tasks: Clone the created repository. Add a new file or folder to the gitignore file. Create a valid CITATION.cff file including an author , project title, ORCID for an author and a URL. Create a license file (LICENSE or LICENSE.md). Create a branch called "newfeature". SIgn your latest commit with a PGP signature"
https://classroom.github.com/a/2eG8GAIH

https://citation-file-format.github.io/
https://citation-file-format.github.io/cff-initializer-javascript/#/
https://zenodo.org/record/7782348
https://www.atlassian.com/git/tutorials/using-branches/merge-conflicts