# Fork & Pull Request Workflow — GitHub Fundamentals: Collaboration, Pull Requests and Actions

Source: https://www.skillbyai.com/en/github/gh-fork-workflow

> Contribute to projects you cannot write to using forks, upstream remotes and pull requests.

## What forking does

A **fork** is your own copy of someone else's repo under your account — experiment freely without needing write access to the original.

## The contribution flow

Fork on GitHub, clone your fork, branch and commit, then open a PR back to the original repo. Add `upstream` to stay in sync.

```bash
git clone https://github.com/you/repo.git
git remote add upstream https://github.com/original-owner/repo.git
git fetch upstream
git merge upstream/main
```

## Borrowing vs owning

Forking is like photocopying someone's recipe book to scribble notes in — the original stays untouched until you propose your notes back via a PR.

## Keeping your fork updated

Regularly fetch and merge (or rebase) from `upstream/main` so your fork doesn't drift too far behind.
