Reputation: 44295
I have a local checkout of a repository of a fork on my computer (from github). So on github I created a fork, and checked that out.
Now I want the local checkout to be the same as the original github repository (the one I created the fork from). I added that original repo to my local repo (with the name 'orig') and did the following:
git pull orig master
However, git status
shows me
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
nothing to commit, working directory clean
Also git diff
or git diff origin/master
shows nothing.
Is there a way to make the local checkout equal to what is in the original master branch (without removing the local repo, the github fork, forking anew, checking out anew...)?
I do not care if there any uncommited changes or anything. I want the local checkout to be equal to the original repo...
Upvotes: 22
Views: 68151
Reputation: 1323343
You can reset your local branch to the one in orig, then push to your fork
git checkout master
git reset --hard origin/master
git push --force origin master
Your local repo and fork master branch will be the same as the original repo.
If need clean: git clean -f -d
Upvotes: 40
Reputation: 91
I have had the same issue a couple of times now and the below is the solution I wrote down for myself. I don't know all the details but I know it got me out of trouble :).
Rolling back on Commits. (run "git status" between each step)
Upvotes: 3