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
