git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael J Gruber <michaeljgruber+gmane@fastmail.fm>
To: git@vger.kernel.org
Subject: Re: Local branch ahead of tracked remote branch but git push claims everything up-to-date
Date: Fri, 22 Aug 2008 16:09:19 +0200	[thread overview]
Message-ID: <g8mhag$i90$1@ger.gmane.org> (raw)
In-Reply-To: <1219337620037-740662.post@n2.nabble.com>

ir0s venit, vidit, dixit 21.08.2008 18:53:
> Hi Michael,
> 
> Here are my results:
> 
> $ git ls-remote origin 
> 138ea08f9680a8def085b793c9cee70eed0e1f3b        HEAD
> 138ea08f9680a8def085b793c9cee70eed0e1f3b        refs/heads/master
> 75290a081feebcc4265825d017d9af07c7646951        refs/heads/remotebranch
> f11c723119cd9938e91e1ed5328ef143fb477f15        refs/heads/mybranch
> f11c723119cd9938e91e1ed5328ef143fb477f15        refs/heads/groups
> ...
> There are a few more
> 
> Is it the case that mybranch somehow became a remote branch?

It means that the repo "origin" has a branch called mybranch. From the
sha1 and the one in your other mail (git ls-remote .) we see that it is
identical with your local branch mybranch. It is most certainly the
result of a command

git push origin mybranch

which (in the absence of any relevant lines in .git/config) just
says that you push that branch into origin with the same name, creating
a branch there if there's none. You can get rid of it using "git push
origin :mybranch".

What you most probably wanted to do was

git push origin mybranch:remotebranch

which pushes your mybranch into the remotebranch of the origin repo.
(You can put this in the config for later pushes, git config
remote.origin.push mybranch:remotebranch).

On the other hand:

git push origin

only compares existing branches with matching names, which is why it
reported "up to date".

On yet another hand (I'm losing count):
When you switch to a tracking branch it is compared to its
corresponding remote, and your mybranch and origin/remotebranch clearly
differ:

> Here are the results for this one: $ git log --pretty=oneline
> mybranch...origin/remotebranch 
> f11c723119cd9938e91e1ed5328ef143fb477f15 Merge branch 'remotebranch'
> of gitosis@sorry.must.obfuscate.url.com:my-repo into mybranch 
> eb41bd8f4f43d483b4a58bc98386c468bb69173c Ticket #1032 
> 5e76a7c9bce92519b308c031357794904bf0f4a6 Ticket #1038 
> cu5ceaf670c83f77c1b48e8d31a23456b744f1af0f Ticket #1044

Now, this

> f11c723119cd9938e91e1ed5328ef143fb477f15         HEAD
> 138ea08f9680a8def085b793c9cee70eed0e1f3b        refs/heads/master
> 75290a081feebcc4265825d017d9af07c7646951        refs/heads/remotebranch
> f11c723119cd9938e91e1ed5328ef143fb477f15         refs/heads/mybranch
> 138ea08f9680a8def085b793c9cee70eed0e1f3b        refs/remotes/origin/HEAD
> 138ea08f9680a8def085b793c9cee70eed0e1f3b        refs/remotes/origin/master
> 75290a081feebcc4265825d017d9af07c7646951       
> refs/remotes/origin/remotebranch
> f11c723119cd9938e91e1ed5328ef143fb477f15        
> refs/remotes/origin/mybranch

from your other e-mail shows quite a zoo of branches you have locally
now. Two of them should probably not be there:

refs/remotes/origin/mybranch is the result of fetching/pulling from
origin after creating mybranch there by mistake.

refs/heads/remotebranch is a local branch named remotebranch. I don't
know where it came from, but git revlog may tell you more.

As a word of comfort: I'm quite new to git and find things confusing
sometimes, myself. But in the end I always found out that thinhs are the
way they are for a good reason.

You're thinking of "two places" to exchange information for a branch,
which is natural and confused me first, too. But realise that for a sane
workflow you need three:
- remotebranch at the other repo origin,
- your remotes/origin/remotebranch which pulls from origin's repo, and -
your local tracking branch mybranch which pulls or rebases from
remotes/origin/remotebranch at the time of your chosing.

You push from mybranch into the remotebranch of the origin repo.
That last one is the one that pushed you off ;) Seriously, that last leg
of the workflow triangle is not setup automatically (because you may not
have push access).

Cheers,
Michael

  reply	other threads:[~2008-08-22 14:10 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-20 20:26 Local branch ahead of tracked remote branch but git push claims everything up-to-date ir0s
2008-08-20 20:37 ` Alex Riesen
2008-08-20 20:40 ` Andreas Färber
2008-08-20 21:01   ` Avery Pennarun
2008-08-20 21:15     ` Junio C Hamano
2008-08-20 21:22       ` Avery Pennarun
2008-08-20 22:25         ` Daniel Barkalow
2008-08-20 22:46           ` Junio C Hamano
2008-08-21 15:35             ` ir0s
2008-08-21 16:22               ` Michael J Gruber
2008-08-21 16:53                 ` ir0s
2008-08-22 14:09                   ` Michael J Gruber [this message]
2008-08-21 16:55                 ` ir0s

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='g8mhag$i90$1@ger.gmane.org' \
    --to=michaeljgruber+gmane@fastmail.fm \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).