GitHub
Web-based platform for hosting and collaborating on Git repositories
Our View
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
- Create a free account at github.com
- Set up Git on your local machine
- Configure Git with your GitHub credentials
- 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