I have a repository called Generic
, which is a generic application. I have forked it into a repository called Acme
, which just builds upon the application stored Generic
repository and adds Acme Co branding to it.
If I make changes to the core functionality in Generic
, I want to update the Acme
repository with the latest changes I have made to the core functionality in Generic
. How would I do that?
As far as I can tell, I am essentially trying to merge the changes made in an upstream repository into the current fork.
If it means anything, I'm trying to do this because I have a generic application that I then build upon and brand for individual clients (like Acme
in this example). If there is a cleaner way of doing this, let me know.
Issue the following command in your
Acme
repo. It adds a new remote repository namedupstream
that points to theGeneric
repo.You can then merge any changes made to
Generic
into the current branch inAcme
with the following command:If you just want it to download the changes without automatically merging, use
git fetch
instead ofgit pull
.If you want to disable pushing to that repository, set the push URL to an invalid URL using something like
Git will now yell at you about not being able to find a repo if you try to push to
upstream
(and sorry about the Rickroll, but it was the first random string that popped into my head).