We focus on the most important workflows for collaborating with others on text files. Learn about:
- Creating an issue
- Commenting on an issue
- Suggesting a new change
- Commenting on a suggested change
- Approving a suggested change
- Accepting a suggested change
There are a few terms and concepts which we will use a lot and which also show up in the user interface. Here is what they mean:
Project: Central container for everything related to a project
This includes files (in the repository), issues (for comments and other info), pull requests (suggested changes), and other mostly programming related artifacts such as releases or automation.
Repository: Collection of files for a project
This is the actual content. For software this is mostly program code, but it can be anything which can be represented as files.
Issue: Generic item for discussion
An issue can be anything, a ticket, a bug report, a task, a comment, a question. You can comment on it, and it can be closed, so it goes away. An issue only exists in the GitHub UI. It's not represented in any files in the repository.
Pull Request: A suggested change
The term pull request comes from the workflow programmers use to exchange code changes.
Commit: Record of a change
A commit contains the change to a file or set of files together with data when the change was done and by whom. A repository has a history of all changes ever be done to it as a series of commits. Pull Requests are also made of one or more commits which constitute the suggested change.
There is a lot of material available for learning and helping with using GitHub. Here is a selection:
- GitHub for non-technical roles: Brief guide to GitHub for non-technical roles: https://ben.balter.com/2023/03/02/github-for-non-technical-roles/
- Introduction to Git and GitHub for Poets: A nice introduction to git and GitHub: https://www.youtube.com/watch?v=BCQHnlnPusY
- GitHub Skills: Learn how to use GitHub with interactive courses designed for beginners and experts: https://skills.github.com/
- Hello World: Get started with GitHub: https://docs.github.com/en/get-started/quickstart/hello-world
- GitHub Documentation: The official GitHub documentation: https://docs.github.com
- GitHub Help Pages: The official GitHub help pages: https://help.github.com
- Interactive Git Tutorial: An interactive tutorial to learn git in the browser: https://learngitbranching.js.org
- Pro Git Book: A comprehensive guide to Git, available for free online: https://git-scm.com/book/en/v2
- Git-it: An app that teaches you how to use Git and GitHub on the real GitHub: https://github.com/jlord/git-it-electron
- Git Visualizer: A tool to visualize the effect of Git commands in real-time: http://git-school.github.io/visualizing-git/