A fork is a new repository that shares code with the original “upstream” repository
Add to or modify repository hosted on someone else’s account
“Sees” changes from parent repo - allows syncing with parent
Can be for personal purposes - doesn’t have to be pushed to original repo!
Allows users to contribute to projects they are not directly a part of
Allows faster development and bug fixes
Outside contributors are what make a project truly “open source”
Propose changes or fix bugs on a package or software
Add a feature to open source software
Use someone else’s repository as a basis for your own
People (generally) want your engagement, suggestions, ideas, and contributions
Look for a contributing guide (commonly a CONTRIBUTING.md
file) or wiki instructions for contributing
Be descriptive with your pull requests
Pull requests can be iterative conversations with the repo owner
Forks and forking are concepts that can be applied outside of the Git/GitHub realm
Slides
Documentation
Code/packages
Tutorials
Ideas
Movements
Many other examples
U.S. Department of Commerce | National Oceanic and Atmospheric Administration | National Marine Fisheries Service