Thread (14 messages) flat view 14 messages, 8 authors, 2016-06-15

Re: Using the --track option when creating a branch

From: Sam Vilain <hidden>
Date: 2016-06-15 22:45:33

On Thu, 2008-10-30 at 15:56 +0100, Samuel Tardieu wrote:
* Pierre Habouzit [off-list ref] [2008-10-30 15:41:07 +0100]

| On Thu, Oct 30, 2008 at 02:23:16PM +0000, Samuel Tardieu wrote:
| > I think it would be better to have :
| > 
| >   git push                <= push the current branch
| >   git push --all          <= push all matching refs
| >   git push --all --create <= push all matching refs, create if needed
| > 
| > The latest command is probably used so rarely (compared to the others)
| > that it wouldn't be a problem to make it longer. Of course, if a
| > refspec is given explicitely, it should be honored and remote refs
| > created if needed.
| 
| Fwiw I'm in favor of that, and it was what I advocated at the time.
| 
| Though I think than as soon as you add an explicit remote name, like:
| git push origin, pushing all matched references makes sense. Which is
| also what I advocated at the time.

Indeed, it makes sense. We could then have:

  git push                 <= push the current branch on default remote
                              (which is, at least in my case, the most
                               frequent use I want to make of "git push",
                               on all the projects [work or volunteer]
                               I work on)
  git push remote          <= push all matching refs on named remote
I think that 'git push origin' should be the same as 'git push'; so,
'git push remote' would then just push the current head to the tracking
branch of that remote.  This exposes another issue with the current
method of configuring the tracking branch, which is that only one remote
and branch may be configured for each local branch.  In reality, someone
might be pushing and pulling from multiple remotes; expecting them to
keep naming the current branch all the time seems arduous. 

I think if you want matching refs to be pushed, say so:

  git push remote --matching
  git push --all [remote]  <= push and create all refs on remote (or default)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help