I created a fork (let's call it myrepo
) of another repository (let's call it orirepo
) on GitHub. Later, I cloned orirepo
.
git clone https://github.com/original/orirepo.git
I modified about 20 files, then I staged my change and made a commit
git add
git commit
However, when I tried to push
git push
I got this error:
remote: Permission to original/orirepo.git denied to mylogin.
fatal: unable to access 'https://github.com/original/orirepo.git/': The requested URL returned error: 403
I know I made a mistake: I should have cloned my fork rather than orirepo
, but it's too late for that now.
How could I push to my fork rather than to origin/orirepo
, which I don't have write access to?
Go to your fork, click on Fetch upstream , and then click on Fetch and merge to directly sync your fork with its parent repo. You may also click on the Compare button to compare the changes before merging.
After creating the repository, copy the repo URL. Now, add the URL to your repo. Now you can push/publish it to your own repository!
Sync Your Forked GitHub Repo Using A Reverse Pull RequestCreate a pull request on GitHub.com to update your fork of the repository from the original repository, and. Run the git pull command in the terminal to update your local clone.
By default, when you clone a repository
https://github.com/original/orirepo.git
,master
,then
origin
, which is associated with the URL of the repository you cloned;master
branch in your clone is set to track origin/master
.Therefore, if you don't modify the config of your clone, Git interprets
git push
as
git push origin master:origin/master
In other words, git push
attempts to push your local master
branch to the master
branch that resides on the remote repository (known by your clone as origin
). However, you're not allowed to do that, because you don't have write access to that remote repository.
You need to
either redefine the origin
remote to be associated with your fork, by running
git remote set-url origin https://github.com/RemiB/myrepo.git
or, if you want to preserve the original definition of the origin
remote, define a new remote (called myrepo
, here) that is associated to your fork:
git remote add myrepo https://github.com/RemiB/myrepo.git
Then you should be able to push your local master
branch to your fork by running
git push myrepo master
And if you want to tell Git that git push
should push to myrepo
instead of origin
from now on, you should run
git push -u myrepo master
instead.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With