GitHub

Web-based platform for hosting and collaborating on Git repositories

Open Science & Data Sharing Essential Core Tool Explore Provisional Teaching

Our View

Explore Provisional Teaching

GitHub is the de facto standard for sharing and collaborating on code. It provides excellent tools for code review, issue tracking, and project management. Most scientific software is hosted on GitHub, making it essential for reproducible research.

Provisional positions are editorial proposals awaiting group review.

Teaching — Recorded in topic offerings; consult the dated event links for availability.

5 topics with recorded teaching · 18 past offerings · 0 upcoming offerings

Related themes: Scientific Computing

Related topics: AI-Assisted Software DevelopmentArrays and Numerical ComputingAutomating Research WorkflowsDeveloper EnvironmentRobust and Reusable SoftwareWebsite Development

Common use cases

  • Host and share research code publicly
  • Collaborate with other researchers on code
  • Track issues and manage project tasks
  • Publish code associated with papers

Getting started

GitHub is a web-based platform built around Git that provides hosting for software development and version control. It’s the world’s largest code hosting platform and essential for modern collaborative research.

Why GitHub?

  • Collaboration: Work with researchers worldwide on shared projects
  • Visibility: Make your research code discoverable and citable
  • Integration: Connect with CI/CD, documentation, and project management tools
  • Community: Access to millions of open-source projects and libraries
  • Free for Research: Unlimited public and private repositories

Getting Started

  1. Create a free account at github.com
  2. Set up Git on your local machine
  3. Configure Git with your GitHub credentials
  4. Create your first repository or clone an existing one

Essential Features

Repositories

  • Host your code with full version history
  • README files for documentation
  • Issues for tracking bugs and features
  • Pull requests for code review

Collaboration

  • Fork projects to contribute
  • Star repositories to bookmark them
  • Follow researchers working in your field
  • Use GitHub Pages for project websites

Tips for Researchers

  • Include a LICENSE file to clarify how others can use your code
  • Write a clear README explaining what your code does
  • Create a CITATION.cff file for proper attribution
  • Use releases to mark versions associated with publications
  • Add topics to make your repository discoverable

Best Practices

  • Commit often with meaningful messages
  • Use branches for new features
  • Write clear documentation
  • Add a DOI through Zenodo integration for permanent archiving