## Practical Intro to Git(Hub) #### and AncientMetagenomeDir By James A. Fellows Yates Slides: [https://hackmd.io/@jfy133/H19kmDalw](https://hackmd.io/@jfy133/H19kmDalw) --- ## Scope - Not technical - i.e. not for computer-scientists - Covers core functionality: max 3-5 ‘concepts’ - All you need to know! - Primarily through github website - No need for command-line shenanigans! --- ## Concepts - Navigation - Branches - Commit - Pull Request and Review - Merging --- ## What is Git? "Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency." - [Git Website](https://git-scm.com/) --- ## What is Git(Hub)? "GitHub, Inc. is a United States-based global company that provides hosting for software development and version control using Git. It has been a subsidiary of Microsoft since 2018. It offers the distributed version control and source code management functionality of Git, plus its own features." - [Wikipedia](https://en.wikipedia.org/wiki/GitHub) --- ## What it can look like <p> <img src="https://i.imgur.com/mRRoDle.png" width=75%></img> </p> > From [nf-core/eager](https://github.com/nf-core/eager/) --- ## What it essentially is ![](https://i.imgur.com/PCTPtU1.png) --- ## What this means - **Branch**: make a copy of 'main' code - work here at your own place in your own 'playground' - **Commit**: a 'saved' edit - Each has unique 'hash' for version control - **Pull Request**: - Via a 'pull request' on GitHub - Peer reviewed, to check edits makes sense! - **Merge**: - Integrating your edits in the 'main' code --- ### What is AncientMetagenomeDir? - Community-curated list of all published ancient metagenome samples - Contains basic metadata for summary statistics and pointers to data - Standardised, versioned and citable! --- ### What is AncientMetagenomeDir? - A set of TSV files with semi-standardised column fields - Covers: - Publication - Sample Name - Sample Type - Age - Geographic Location - Archive Accessions IDs (not data!) --- ### Where is AncientMetagenomeDir? <p> <a href="https://github.com/SPAAM-workshop/AncientMetagenomeDir/"> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/01-codetab.png?raw=true" width=75%></img> </a> </p> Click :point_up: --- ### Navigation: Code Tab and README <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/01-codetab.png?raw=true" width=75%></img> </p> --- ### Issue: Issues Tab <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/02a-issuestab.png?raw=true"></img> </p> --- ### Issue: Inside an Issue <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/02b-issue_example.png?raw=true"></img> </p> --- ### Pull Request: Pull Request Tab <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/03-prtab.png?raw=true"></img> </p> --- ### Branch: Accessing Branches <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/04-branches.png?raw=true"></img> </p> --- ### Branch: Making New Branch <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/05-makenewbranch.png?raw=true"></img> </p> --- ### Branch: New Branch Success <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/06-newbranchmade.png?raw=true"></img> </p> --- ### Navigation: Accessing Directory <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/07-accessdir.png?raw=true"></img> </p> --- ### Navigation: Inside Directory <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/08-insidedir.png?raw=true"></img> </p> --- ### Navigation: Internal README <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/09-insidedir_readme.png?raw=true"></img> </p> --- ### Navigation: Opening a File <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/10-insidedir_file.png?raw=true"></img> </p> --- ### Commit: Editing a File <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/11-editfile.png?raw=true"></img> </p> --- ### Commit: Prepare Data <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/12-prepdata.png?raw=true"></img> </p> --- ### Commit: Update File <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/13-adddata.png?raw=true"></img> </p> --- ### Commit: Commit Commit <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/14-message_and_commit.png?raw=true"></img> </p> --- ### Commit: Commit Committed <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/15-commit_made.png?raw=true"></img> </p> --- ### Commit: Check Commit <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/16-check_commit.png?raw=true"></img> </p> --- ### Pull Request: Pull Request Tab <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/17-pull_request.png?raw=true"></img> </p> --- ### Pull Request: Make PR <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/18-make_pr.png?raw=true"></img> </p> --- ### Pull Request: PR Information <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/19-link_issue.png?raw=true"></img> </p> --- ### Pull Request: PR Checklist <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/20-pr_checklist.png?raw=true"></img> </p> --- ### Pull Request: Submit PR <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/21-submit_pr.png?raw=true"></img> </p> --- ### Pull Request: Request Review <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/22-request_pr.png?raw=true"></img> </p> --- ### Pull Request: View PR <p> <img src="https://github.com/SPAAM-workshop/AncientMetagenomeDir/blob/master/assets/tutorials/intro-to-github-ancientmetagenomedir/23-doublecheck_pr.png?raw=true"></img> </p> --- ## You're done! Just rinse and repeat! Everything else: Just Ask (Google first :wink:) - [Atlassian git tutorials](https://www.atlassian.com/git/tutorials) - [GitHub tutorials](https://docs.github.com/en/github) --- ### Questions? --- #### Notes on AncientMetagenomeDir - Still 'under dev' - expect changes - Keep eye on slack channel and github issues - Help requested - definitions of fields for: - Pathogens - sedaDNA - Future - Add automatic checking of PRs - Creating review 'team' - Expansion to data? --- ## Remaining time * Assign your self an issue * Make a branch and start! --- ### Thank you! :sheep: You can find me on - GitHub (jfy133) - Slack - or email me
{"metaMigratedAt":"2023-06-15T11:09:38.549Z","metaMigratedFrom":"YAML","title":"Practical Intro to Git(Hub) and AncientMetagenomeDir","breaks":true,"description":"Practical introduction to Git(Hub) for AncientMetagenomeDir","slideOptions":"{\"transition\":\"slide\",\"allottedMinutes\":2,\"theme\":\"blood\"}","contributors":"[{\"id\":\"6357fb8d-b0f8-4b7d-9fbe-6d813ad67700\",\"add\":12740,\"del\":4058}]"}
    1114 views