Instiq
Chapter 3 · Collaboration Features·v1.1.0·Updated 6/15/2026·~8 min

What's changed: Expanded content (added diagrams)

3.2Forking and the Contribution Flow

The standard way to contribute to someone’s project you cannot write to is forking.

■ Fork vs clone • fork = copy the repository into your own account on GitHub (server-side). • clone = copy a repository to your machine (local). They differ in target and place: fork is on GitHub, clone is local.

■ The standard contribution flow (see the diagram) 1. Fork the upstream repository. 2. git clone your fork to your machine. 3. Create a working branch, make changes, and commit. 4. git push to your fork. 5. Open a Pull Request to the upstream (a cross-fork PR). Add the original repo as the conventional remote upstream, and sync your fork via git fetch upstream to reduce conflicts at PR time.

■ Tips for a smooth process • Enabling "Allow edits by maintainers" when opening a PR lets upstream maintainers commit to the PR branch to make small fixes and speed up merging. • For large changes, discuss the approach in an Issue first rather than opening a PR cold. • Follow the project’s CONTRIBUTING.md (how to contribute) and CODE_OF_CONDUCT.md. • First-time contributors can start with approachable tasks labeled "good first issue".

Diagram

Sign in to track progress — Log in.

Quick check

(just a quick review)

Q1. Which correctly contrasts clone and fork?

Q2. Conventional remote name for the original repo?

Check your understandingPractice questions for Chapter 3: Collaboration Features