Answer the question
In order to leave comments, you need to log in
How to fork a project for the basis of your own?
Good afternoon.
There is a turnip on github (someone else's). On the basis of this project, I want to make something similar to it, but with a seriously changed logic. These changes cannot be sent back as a pull request. they conflict with the original logic. This project will also be a separate package for the composer.
What is the right way to fork this project so that while working with this fork, I can continue to contribute to the original project through another one? You can stupidly copy the code and upload it as a separate (new) turnip, but out of respect for the author, I want it to be clear that my project is based on it.
How is this generally accepted / done on github?
UPD:
I guess I didn't describe the problem clearly. I need two forks of the original repository: the first for my project, the second for the ability to contribute to the original and help in its development. You won't be able to contribute from the first one. it is very different from the original. And two forks of githiab does not allow to do.
I can stupidly clone a turnip twice on a computer. The question is how to organize it on github?
Answer the question
In order to leave comments, you need to log in
Instructions for the only correct method:
1. Press the Fork button:
2. You have successfully and correctly forked the project. End of instruction.
I think that if the code is already so different, then you need to fill in the turnip as a new one, and indicate in the README what it is based on.
PS: also, forks don't show up in github searches, so it's not wise to fork in this case.
You make a fork, and work with it independently, keep the original in another copy. Switch via git checkout.
I don't quite understand what the question is...
Creating your own repository is justified in the case when the code is written from scratch . At the same time, the README indicates where the original idea was taken from.
In other cases, a clone is created and gradually brought to the desired state. In an intermediate state, old files and folders can be moved to a folder, say obsolete. And, if necessary, they are moved to their original place (by analogy with the Recycle Bin in the OS).
It is also called a port. You regularly sync (as far as possible) the local repo to the dev machine with the origin master so you don't miss out on commits from the original branch and push what merged into your repo. Your local development repo has two remote heads. Well, that is how I do it https://github.com/uvelichitel/plan9port
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question