<p>The most obvious difference is the permissions model. With forking, you don't have to grant someone access to your repository. In open source communities, this is a huge benefit. Within an organization, this becomes less of an issue.</p>
<p>With a branching model, keep in mind branches are still a part of your repository. Example, someone creates a branch, and pushes a large file to their branch, that can have performance impacts on your repo. If a secret is pushed to a branch, that is exposed in your repository.</p>

CC BY-SA 4.0
2023-08-03T19:31:38.593Z
2023-08-03T19:31:38.593Z
Preston Martin
<p>I am trying to understand what is the difference between the two.
The Shared repository model: uses ‘topic’ branches, which are reviewed, approved, and merged into the main branch.</p>
<p>Fork and pull model: a repo is forked, changes are made, a pull request is created, the request is reviewed, and if approved, merged into the main branch.</p>
<p>Can someone explain with example?</p>

<git><branch>
What is the difference between The Shared repository model and fork and pull model?
mishav
# What is the difference between The Shared repository model and fork and pull model?

(Asked by: username_0 on 2023-08-03)

I am trying to understand what is the difference between the two.
The Shared repository model: uses ‘topic’ branches, which are reviewed, approved, and merged into the main branch.

Fork and pull model: a repo is forked, changes are made, a pull request is created, the request is reviewed, and if approved, merged into the main branch.

Can someone explain with example?

**Tags:** git, branch


---

## 1 answers

### Answer by username_1 on 2023-08-03. Score: 2 | Accepted answer

The most obvious difference is the permissions model. With forking, you don't have to grant someone access to your repository. In open source communities, this is a huge benefit. Within an organization, this becomes less of an issue.

With a branching model, keep in mind branches are still a part of your repository. Example, someone creates a branch, and pushes a large file to their branch, that can have performance impacts on your repo. If a secret is pushed to a branch, that is exposed in your repository.


---

