git/list[1] front-page[2] threads[3] people[4] search[5] about
 

RE: git push bug?

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Oct 19, 2007, 22:46 UTC
Message-ID
<Pine.LNX.4.64.0710192338400.25221@racer.site>
In-Reply-To
<000001c81280$ebc5c5e0$5267a8c0@Jocke>
Hi,
On Fri, 19 Oct 2007, Joakim Tjernlund wrote:
Show 27 quoted lines
> > From: Johannes Schindelin [mailto:Johannes.Schindelin@gmx.de] 
> > 
> > On Fri, 19 Oct 2007, Joakim Tjernlund wrote:
> > 
> > > On Thu, 2007-10-18 at 23:00 +0100, Johannes Schindelin wrote:
> > > > 
> > > > On Thu, 18 Oct 2007, Joakim Tjernlund wrote:
> > > > 
> > > > > First, I didn't know that I could do that. Secondly, I was also 
> > > > > looking do v2.6.23:linus refspecs
> > > > 
> > > > 
> > > > First, then our documentation could be better.  How?
> > > 
> > > Well, it isn't clear to me how all this is supposed to work and what 
> > > is bugs. Clearifying that would help.
> > > 
> > > For instances I did a push with v2.6.23:refs/heads/linus and now I 
> > > got a branch with the SHA1 of v2.6.23 
> > > tag(0b8bc8b91cf6befea20fe78b90367ca7b61cfa0d) in it. Makes gitk 
> > > display that branch as "linus^{}".
> > 
> > It strikes me as really odd that you would _want_ to create a branch 
> > remotely, that has _never_ existed locally.
> 
> It strikes me as really odd that a core developers like yourself
> hasn't tried to justify/explain why push works as it does.

Well, I explained that I think the "src:dst" way to specify things are not meant for git newbies. Don't use it.

git push <remote> <branchname> works exactly as advertised. It pushes the specified branch to the remote repository.

Show 8 quoted lines
> As I am trying to convince our dev. group here to move to git instead of 
> subversion, I need to learn how git works. Now I have gotten to the push 
> function and I need to know what can be done with push and how, pitfalls 
> too. As I go along I find behavior that I find odd and report these to 
> the list.
> 
>  git push <repo> v2.6.23:refs/heads/linus
> will make a tag look like a branch
Don't use src:dest notation.
>  git push <repo> linus:linus
> won't let me create the remote branch linus
Don't use src:dest notation.
> but
>  git push <repo> linus
> will
Use this.  This is good.
>  git push <repo> :linus
> OOPS, now I just deleted remote branch linus, no warning
Don't use src:dest notation.
>  git push <repo> linus:refs/head/linus
> creates a branch that is invisible(wont show in git branch -a)
Don't use src:dest notation.
>  git push <repo> linus:refs/heads/newbranch
> creates remote branch newbranch, but you have to know the magic words
> refs/heads/ to do it.
Don't use src:dest notation.
> Se what I mean? 
Yes.
I hope you return the honour.
Show 15 quoted lines
> > > > Second, why not "git checkout -b linus v2.6.23 && git push origin 
> > > > linus"?
> > > 
> > > An extra checkout that takes time but works.
> > 
> > Not only that: before trying to publish something, I would have 
> > expected you to have that branch locally, and that you actually worked 
> > on it.
> > 
> > > Doesn't make the above "weiredness" go away though.
> > 
> > Yes it does.
> 
> No it doesn't. If someone else in my group wants to create a branch they 
> might do the same mistakes as I did.

Yes, it does. You no longer can push a tag onto a remote branch by accident. Just don't use the src:dest notation. Forget about it. You definitely don't need it before you understand git better.

Hth, Dscho

Previous: Joakim TjernlundNext: Jan Hudec
Message 13 of 21 in “git push bug?”
  1. Joakim TjernlundOct 18, 2007
  2. Steffen ProhaskaOct 18, 2007
  3. Joakim TjernlundOct 18, 2007
  4. Joakim TjernlundOct 18, 2007
  5. Shawn O. PearceOct 19, 2007
  6. Steffen ProhaskaOct 18, 2007
  7. Johannes SchindelinOct 18, 2007
  8. Joakim TjernlundOct 18, 2007
  9. Johannes SchindelinOct 18, 2007
  10. Joakim TjernlundOct 19, 2007
  11. Johannes SchindelinOct 19, 2007
  12. Joakim TjernlundOct 19, 2007
  13. Johannes SchindelinOct 19, 2007
  14. Jan HudecOct 20, 2007
  15. Steffen ProhaskaOct 18, 2007
  16. Johannes SchindelinOct 18, 2007
  17. Steffen ProhaskaOct 20, 2007
  18. Steffen ProhaskaOct 20, 2007
  19. Joakim TjernlundOct 20, 2007
  20. Shawn O. PearceOct 19, 2007
  21. Joakim TjernlundOct 20, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.