class: title-slide count: false .title[ # 08 - Github ] .subtitle[ ## Open Science Tools ] .author[ ### Claudio Zandonella & Davide Massidda ] .institute[ ] --- class: center, middle, inverse # Step VII: GitHub --- # Git hosting services ## .pull-left-50[ {{content}} ] .pull-right-50[ ] -- <img src="images/08-github/GitHub-logo.png" width="60%" style="display: block; margin: auto;" /> --- # Git hosting services ## .pull-left-50[ <img src="images/08-github/GitHub-logo.png" width="60%" style="display: block; margin: auto;" /> ] .pull-right-50[ .move-up-50[ ### Other services <img src="images/08-github/GitLab_logo.png" width="70%" style="display: block; margin: auto;" /> <br> <img src="images/08-github/Bitbucket-Logo-blue.png" width="80%" style="display: block; margin: auto;" /> ] ] --- # Git hosting services ## .pull-left-50[ <img src="images/08-github/GitHub-logo.png" width="60%" style="display: block; margin: auto;" /> ] .pull-right-50[ <br> - Open-source projects - Online portfolio for developers .center[ {{content}} ] ] -- *GitHub vs OSF?* --- # Git hosting services ## .pull-left-50[ <img src="images/08-github/GitHub-logo.png" width="60%" style="display: block; margin: auto;" /> ] .pull-right-50[ <img src="images/08-github/github-meme.jpeg" width="100%" style="display: block; margin: auto;" /> ] --- # GitHub: Initial Set Up -- #### Create a GitHub Account <img src="images/08-github/github-sign-in.png" width="70%" style="display: block; margin: auto;" /> .center[https://github.com/] --- # GitHub: Initial Set Up #### Edit Profile <img src="images/08-github/github-profile-settings-2.png" width="70%" style="display: block; margin: auto;" /> --- # GitHub: Authentication -- #### <br> <img src="images/08-github/ssh-0.svg" width="70%" style="display: block; margin: auto;" /> --- # GitHub: Authentication #### SSH (Secure Shell) Protocol <br> <img src="images/08-github/ssh-1.svg" width="70%" style="display: block; margin: auto;" /> --- # GitHub: Authentication #### SSH (Secure Shell) Protocol <br> <img src="images/08-github/ssh-2.svg" width="70%" style="display: block; margin: auto;" /> --- # GitHub: Authentication #### SSH (Secure Shell) Protocol <br> <img src="images/08-github/ssh-3.svg" width="70%" style="display: block; margin: auto;" /> .move-left-130[ .li-small[ {{content}} ] ] -- - **Private Key** (`id_rsa`) keep it secret! - **Public Key** (`id_rsa.pub`) to be shared --- # GitHub: Authentication .pull-left-50[ .li-small[ - Generate SSH keys - Copy the Public Key ] {{content}} ] .pull-right-50[ ] -- <img src="images/08-github/git-settings-2.png" width="75%" style="display: block; margin: auto;" /> --- # GitHub: Authentication .pull-left-50[ .li-small[ - Generate SSH keys - Copy the Public Key ] <img src="images/08-github/git-settings-2.png" width="75%" style="display: block; margin: auto;" /> ] .pull-right-50[ .li-small[ - Share the Public Key ] {{content}} ] -- <img src="images/08-github/github-ssh-keys.png" width="95%" style="display: block; margin: auto;" /> {{content}} -- <img src="images/08-github/github-ssh-new.png" width="95%" style="display: block; margin: auto;" /> --- # GitHub: Create a Repository -- .pull-left-50[ #### New Repo <img src="images/08-github/github-new-repo.png" width="95%" style="display: block; margin: auto;" /> ] .pull-right-50[ {{content}} ] -- #### Repo Info <img src="images/08-github/github-create-new-repo.png" width="95%" style="display: block; margin: auto;" /> --- # GitHub: Create a Repository .pull-left-50[ #### Clone Repo <img src="images/08-github/github-empty-repo.png" width="100%" style="display: block; margin: auto;" /> ] .pull-right-50[ ] --- # GitHub: Create a Repository .pull-left-50[ #### Clone Repo <br> <img src="images/08-github/github-clone.png" width="95%" style="display: block; margin: auto;" /> ] .pull-right-50[ {{content}} ] -- #### Add Details <img src="images/08-github/github-repo-readme.png" width="100%" style="display: block; margin: auto;" /> --- # GitHub: Adding Collaborators <img src="images/08-github/github-add-collaborators.png" width="70%" style="display: block; margin: auto;" /> -- .center[Collaborators vs *Pull-Requests*] --- # GitHub: Main Features -- .pull-left-30[ <br> .li-small[ - License - Documentation - Commit History - Commit Diff - DOI ] ] .pull-right-70[ ] --- # GitHub: Main Features .pull-left-30[ <br> .li-small[ - License - .alpha[Documentation] - .alpha[Commit History] - .alpha[Commit Diff] - .alpha[DOI] ] ] .pull-right-70[ {{content}} ] -- <img src="images/08-github/github-new-file.png" width="70%" style="display: block; margin: auto;" /> {{content}} -- <img src="images/08-github/github-license-create.png" width="70%" style="display: block; margin: auto;" /> --- # GitHub: Main Features .pull-left-30[ <br> .li-small[ - License - .alpha[Documentation] - .alpha[Commit History] - .alpha[Commit Diff] - .alpha[DOI] ] ] .pull-right-70[ <img src="images/08-github/github-license-template.png" width="70%" style="display: block; margin: auto;" /> {{content}} ] -- <img src="images/08-github/github-license-commit.png" width="70%" style="display: block; margin: auto;" /> --- # GitHub: Main Features .pull-left-30[ <br> .li-small[ - .alpha[License] - Documentation - .alpha[Commit History] - .alpha[Commit Diff] - .alpha[DOI] ] ] .pull-right-70[ #### `README.md` <img src="images/08-github/github-readme-2.png" width="90%" style="display: block; margin: auto;" /> ] --- # GitHub: Main Features .pull-left-30[ <br> .li-small[ - .alpha[License] - .alpha[Documentation] - Commit History - .alpha[Commit Diff] - .alpha[DOI] ] ] .pull-right-70[ <br> <img src="images/08-github/github-repo-menu.png" width="90%" style="display: block; margin: auto;" /> ] --- # GitHub: Main Features .pull-left-30[ <br> .li-small[ - .alpha[License] - .alpha[Documentation] - Commit History - .alpha[Commit Diff] - .alpha[DOI] ] ] .pull-right-70[ <img src="images/08-github/github-history.png" width="95%" style="display: block; margin: auto;" /> ] --- # GitHub: Main Features .pull-left-30[ <br> .li-small[ - .alpha[License] - .alpha[Documentation] - .alpha[Commit History] - Commit Diff - .alpha[DOI] ] ] .pull-right-70[ <img src="images/08-github/github-diff.png" width="95%" style="display: block; margin: auto;" /> ] --- # GitHub: Main Features .pull-left-30[ <br> .li-small[ - .alpha[License] - .alpha[Documentation] - .alpha[Commit History] - .alpha[Commit Diff] - DOI ] ] .pull-right-70[ .move-down-140[ {{content}} ] ] -- <img src="images/08-github/zenodo-logo.png" width="25%" style="display: block; margin: auto;" /> https://docs.github.com/en/repositories/archiving-a-github-repository/referencing-and-citing-content --- # GitHub: Contributing -- #### Issues .pull-left-50[ <img src="images/08-github/github-repo-menu-issues.png" width="85%" style="display: block; margin: auto;" /> {{content}} ] .pull-right-50[ ] -- <img src="images/08-github/github-issues.png" width="95%" style="display: block; margin: auto;" /> --- # GitHub: Contributing #### Issues .pull-left-50[ <img src="images/08-github/github-repo-menu-issues.png" width="85%" style="display: block; margin: auto;" /> <img src="images/08-github/github-issues.png" width="95%" style="display: block; margin: auto;" /> ] .pull-right-50[ .move-down-140[ .li-small[ - Avoid creating duplicate issues - Provide all the details - *Minimal Working Example!* ] ] ] --- # GitHub: Contributing #### Pull Rrequest --- # GitHub: Contributing #### Pull Rrequest .pull-left-50[ .li-small[ - Fork ] <img src="images/08-github/github-fork.png" width="95%" style="display: block; margin: auto;" /> ] .pull-right-50[ ] --- # GitHub: Contributing #### Pull Rrequest .pull-left-50[ .li-small[ - Fork ] <img src="images/08-github/github-fork.png" width="95%" style="display: block; margin: auto;" /> .li-small[ - Fetch ] <img src="images/08-github/github-fork-fetch.png" width="95%" style="display: block; margin: auto;" /> ] .pull-right-50[ ] --- # GitHub: Contributing #### Pull Rrequest .pull-left-50[ .li-small[ - Fork ] <img src="images/08-github/github-fork.png" width="95%" style="display: block; margin: auto;" /> .li-small[ - Fetch ] <img src="images/08-github/github-fork-fetch.png" width="95%" style="display: block; margin: auto;" /> ] .pull-right-50[ .move-down-80[ .li-small[ - Create pull request ] ] <img src="images/08-github/github-pr-open-2.png" width="100%" style="display: block; margin: auto;" /> ] --- # GitHub: Contributing #### Pull Rrequest .pull-left-50[ .li-small[ - Fork ] <img src="images/08-github/github-fork.png" width="95%" style="display: block; margin: auto;" /> .li-small[ - Fetch ] <img src="images/08-github/github-fork-fetch.png" width="95%" style="display: block; margin: auto;" /> ] .pull-right-50[ .move-down-80[ .li-small[ - Create pull request ] ] <img src="images/08-github/github-pr-create.png" width="100%" style="display: block; margin: auto;" /> ] --- # GitHub: Advanced Features -- .pull-left-30[ .move-down-110[ - Github actions<br>(CD-CI) - Github pages - Join the open-source community ] ] .pull-right-70[ ] --- # GitHub: Advanced Features .pull-left-30[ .move-down-110[ - Github actions<br>(CD-CI) - .alpha[Github pages] - .alpha[Join the open-source community] ] ] .pull-right-70[ .move-down-80[ .center[ *Automate your workflow from idea to production* ] ] <img src="images/08-github/github-action.png" width="90%" style="display: block; margin: auto;" /> ] --- # GitHub: Advanced Features .pull-left-30[ .move-down-110[ - .alpha[Github actions<br>(CD-CI)] - Github pages - .alpha[Join the open-source community] ] ] .pull-right-70[ .move-down-50[ <img src="images/08-github/github-pages.png" width="100%" style="display: block; margin: auto;" /> ] ] --- # GitHub: Advanced Features .pull-left-30[ .move-down-110[ - .alpha[Github actions<br>(CD-CI)] - .alpha[Github pages] - Join the open-source community ] ] .pull-right-70[ .move-down-30[ <img src="images/08-github/github-sign.png" width="100%" style="display: block; margin: auto;" /> ] ] --- # GitHub: Advanced Features .pull-left-30[ .move-down-110[ - .alpha[Github actions<br>(CD-CI)] - .alpha[Github pages] - Join the open-source community ] ] .pull-right-70[ .move-down-50[ >_**"Free software"** means software that respects users' freedom and community._ > > _Roughly, it means that the users have the freedom to run, copy, distribute, study, change and improve the software._ > > _Thus, **"free software" is a matter of liberty, not price**. To understand the concept, you should **think of "free" as in "free speech," not as in "free beer"**._ > > — *The Free Software Foundation (Richard Stallman)* ] ] --- class: inverse, center, middle # Think free as in free speech, not free beer! ## Moving to the next step...