# Fork & Pull Request Workflow — GitHub

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

> How open-source contributions work when you don't have write access.

## 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.
