Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to fix "Your branch is ahead of 'origin/master' by 1 commit."?

Tags:

git

github

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...

like image 243
Alex Avatar asked May 01 '18 06:05

Alex


People also ask

How do I fix my branch is ahead of origin master by three commits?

There is nothing to fix. You simply have made 3 commits and haven't moved them to the remote branch yet. There are several options, depending on what you want to do: git push : move your changes to the remote (this might get rejected if there are already other changes on the remote)

How do I fix git push origin master?

If git push origin master not working , all you need to do is edit that file with your favourite editor and change the URL = setting to your new location. Assuming the new repository is correctly set up and you have your URL right, you'll easily be able to push and pull to and from your new remote location.


3 Answers

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

like image 186
VonC Avatar answered Sep 22 '22 11:09

VonC


Use the command below :

git reset --hard HEAD

like image 31
Deepak Avatar answered Sep 23 '22 11:09

Deepak


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)

  • e.g. "Your branch is ahead of 'origin/dev' by 2 commits."
  1. git reset HEAD^:
  • This removes one committed file at a time (I think)
  • There will be a bunch of (red) staged/untracked files. Don't panic.
  1. "Your branch and 'origin/dev' have diverged, and have 1 and 5 different commits each, respectively."
  • Repeat step 1. until git status "Your branch is behind 'origin/dev' by 5 commits"
  • Now we want to remove all those changes so we can later pull origin back in.
  1. git restore *
  • Removes all the staged changes
  • Now there may just be some Untracked files. Manually go delete them in the folder.
  1. git pull origin dev.
  • This should be the latest dev pulled from origin.
like image 45
Etienne Redelinghuys Avatar answered Sep 25 '22 11:09

Etienne Redelinghuys