this post was submitted on 29 Oct 2025
        
      
      61 points (98.4% liked)
      Programming
    23300 readers
  
      
      552 users here now
      Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
        founded 2 years ago
      
      MODERATORS
      
    you are viewing a single comment's thread
view the rest of the comments
    view the rest of the comments
I'd do a PR. Although I would understand forking if the project maintainers wouldn't merge a PR. (or create an issue (for the fix/ addition) if the README says that it's an option)
So while you're working on your PR, where do you push your commits? If you don't fork, you can't push them to Github. You don't have access to the repo you're making a PR for. That's exactly why people fork.
Of course you could just NOT push any commits, but then your commits only exist locally on your development machine, and if you have a hardware failure you've lost them, defeating the point of a distributed version control system. Or you could push them to another computer you have access to, but Github lets you push to your own free account for free, so most people would rather just do that. Which they do. By creating a fork.
Maybe it's okay if you're only creating a small PR with a single commit or two. But for more extensive development, anyone reasonable is going to create a fork so they have somewhere to store their work until it's ready. Once/If the PR is merged, the fork is abandoned as it's no longer needed. But that's why they exist.
A PR requires push access... That's why you create a fork... So you can create a PR from your fork.
You generally have to fork to create a PR...