:)

It actually somewhat is if you're accustomed to using the full syntax of the
push command:

  git push remote <local_branch>:<remote_branch>

So, this:

  git push remote :<remote_branch>

would be the equivalent of:

  cp /dev/null /to/my/file


Also, for completeness, if I were to remove branches from the shared
server and you had copies of them, you'll also need to do:

  git remote prune remote


to clean up your references from your own repository.


--Kevin

On 03/02/12 09:50:32, Phillip Moore wrote:
> <sigh> OK, I found it....
> 
> git push remote :branch-name
> 
> will delete the remote branch.   Sooooo intuitive....
> 
> On Fri, Mar 2, 2012 at 9:44 AM, Phillip Moore <[email protected]> 
> wrote:
> > Perhaps one of you knows how to do this....
> >
> > We have accumulated a lot of stale tracking branches and I wanted to
> > clean them up, but they simply will not go away.   Finding an
> > explanation for how do this hasn't yielded any helpful results, but
> > posts by other people who also have no clue what they are doing,
> > guessing which commands to run, and making a bigger mess of things.
> >
> > Here's what I see:
> >
> > pmoore@Renegade$ git remote show origin
> > * remote origin
> >  Fetch URL: [email protected]:efs-core.git
> >  Push  URL: [email protected]:efs-core.git
> >  HEAD branch (remote HEAD is ambiguous, may be one of the following):
> >    backup-database
> >    master
> >  Remote branches:
> >    aix-support             tracked
> >    backup-database         tracked
> >    curl2lwp                tracked
> >    gssapi-optional         tracked
> >    kill_class_std          tracked
> >    master                  tracked
> >    moose                   tracked
> >    nfs-noac                tracked
> >    openafs                 tracked
> >    package-fix             tracked
> >    standalone              tracked
> >    tt159_critic_fixins     tracked
> >    tt68_try_tiny           tracked
> >    upload-download-aliases tracked
> >  Local branches configured for 'git pull':
> >    master      merges with remote master
> >    package-fix merges with remote package-fix
> >    standalone  merges with remote standalone
> >  Local refs configured for 'git push':
> >    master      pushes to master      (up to date)
> >    openafs     pushes to openafs     (up to date)
> >    package-fix pushes to package-fix (up to date)
> >    standalone  pushes to standalone  (up to date)
> >
> > (NOTE: The ambiguous HEAD concerns me to, but one thing at a time).
> >
> > According to the git-branch man page, this removes a remote branch:
> >
> > pmoore@Renegade$ git branch -d -r origin/aix-support
> > Deleted remote branch origin/aix-support (was 7f5218f).
> >
> > But this seems to just delete a *local* reference to the remote branch.   
> > Note:
> >
> > pmoore@Renegade$ git remote show origin | grep aix
> >    aix-support             new (next fetch will store in remotes/origin)
> >
> > And then:
> >
> > pmoore@Renegade$ git pull
> > From git.openefs.org:efs-core
> >  * [new branch]      aix-support -> origin/aix-support
> > Already up-to-date.
> >
> > It comes back!!!   Now, if you recall the incredibly non-intuitive way
> > that we created these branches, maybe that provides a clue.
> >
> > pmoore@Renegade$ git push origin origin:refs/heads/new-branch
> > Total 0 (delta 0), reused 0 (delta 0)
> > remote: No commit email for refname refs/heads/new-branch
> > remote: No html exported for refname refs/heads/new-branch
> > remote: No archives exported or repo efs-core
> > To [email protected]:efs-core.git
> >  * [new branch]      origin/HEAD -> new-branch
> > pmoore@Renegade$ git branch --track new-branch origin/new-branch
> > Branch new-branch set up to track remote branch new-branch from origin.
> >
> > That "git push origin" syntax is maximally confusing.   It seems that
> > all the git branch commands work against LOCAL configuration
> > information, and they don't really change the remote repository.   So,
> > it's clear how to delete the LOCAL references to a remote tracking
> > branch, but how the hell do you delete the actual tracking branch in
> > the remote repository?
> >
> > I must have looked at 20+ git help related pages, and can find nothing
> > about how to do this.  I'll keep looking, but if anyone has a clue how
> > to do this, or finds the answer, please share it.
> _______________________________________________
> EFS-dev mailing list
> [email protected]
> http://mailman.openefs.org/mailman/listinfo/efs-dev
_______________________________________________
EFS-dev mailing list
[email protected]
http://mailman.openefs.org/mailman/listinfo/efs-dev

Reply via email to