Alex Rivera | Logout

How can I find the location of origin/master in git, and how do I change it?

Asked 2008-11-10T04:50:26.877
237

I recently moved a Rails project from Subversion to Git. I followed the tutorial here:
Cleanly Migrate Your Subversion Repository To a GIT Repository

I am also using unfuddle.com to store my code. I make changes on my Mac laptop on the train to/from work and then push them to unfuddle when I have a network connection using the following command:

git push unfuddle master

I use Capistrano for deployments and pull code from the unfuddle repository using the master branch.

Lately I've noticed the following message when I run "git status" on my laptop:

# On branch master
# Your branch is ahead of 'origin/master' by 11 commits.
#
nothing to commit (working directory clean)

And I'm confused as to why. I thought my laptop was the origin... but don't know if either the fact that I originally pulled from Subversion or push to Unfuddle is what's causing the message to show up. How can I:

  1. Find out where Git thinks 'origin/master' is?
  2. If it's somewhere else, how do I turn my laptop into the 'origin/master'?
  3. Get this message to go away. It makes me think Git is unhappy about something.

My mac is running Git version 1.6.0.1.


When I run git remote show origin as suggested by dbr, I get the following:

~/Projects/GeekFor/geekfor 10:47 AM $ git remote show origin
fatal: '/Users/brian/Projects/GeekFor/gf/.git': unable to chdir or not a git archive
fatal: The remote end hung up unexpectedly

When I run git remote -v as suggested by Aristotle Pagaltzis, I get the following:

~/Projects/GeekFor/geekfor 10:33 AM $ git remote -v
origin  /Users/brian/Projects/GeekFor/gf/.git
unf
Edit
Report

3 Answers

10

I thought my laptop was the origin…

That’s kind of nonsensical: origin refers to the default remote repository – the one you usually fetch/pull other people’s changes from.

How can I:

  1. git remote -v will show you what origin is; origin/master is your “bookmark” for the last known state of the master branch of the origin repository, and your own master is a tracking branch for origin/master. This is all as it should be.

  2. You don’t. At least it makes no sense for a repository to be the default remote repository for itself.

  3. It isn’t. It’s merely telling you that you have made so-and-so many commits locally which aren’t in the remote repository (according to the last known state of that repository).

answered 2008-11-10T05:09:59.317
1

It's waiting for you to "push". Try:

$ git push
answered 2011-04-20T03:03:51.777
0

It is possible to reset to a specific commit before your own commits take place:

$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 2 commits.
#
nothing to commit (working directory clean)

Use git log to find what commit was the commit you had before the local changes took place:

$ git log
commit 3368e1c5b8a47135a34169c885e8dd5ba01af5bb
...
commit baf8d5e7da9e41fcd37d63ae9483ee0b10bfac8e
...

Take note of the local commits and reset directly to the previous commit:

git reset --hard baf8d5e7da9e41fcd37d63ae9483ee0b10bfac8e
answered 2011-08-23T15:24:19.233

Your Answer