Thanks Andrew. I suspected that was the case. Thanks for doing the research for me so I didn't have to do it myself. Seems like an egregious hack, an oversight in the high-level Git architecture, or lack of foresight in how it would actually be used.
Here is a blog post I did recently on other other thing that is really preventing me from moving to Git for all my projects: http://pivots.pivotallabs.com/users/chad/blog/articles/479-best-practices-for-managing-external-plugins-libraries-which-live-in-git- See you Tuesday, looking forward to the Git-together... -- Chad On 8/10/08, Andrew Lenards <[EMAIL PROTECTED]> wrote: > Chad - that's totally bizarre... based on the tutorials and cheat sheet I > have, you remove a branch form a repo with the following: > > `git branch -d $branch` > > There is a pretty active git channel on irc.freenode.org - I asked about > this and here's the explanation I got. > > `git push` is the only command that can make changes to a remote repository. > > It creates and updates branches - and it has been overloaded to delete > branches (since it's the only outgoing communication command). > > Apparently the key to that github link is the colon. If you know that `git > push origin foo` is really shorthand for `git push origin foo:foo` (because > usually the local branch and remote branch have the same name). So when you > say: > > git push origin :somebranch > > You're pushing nothing to somebranch. > > > Below is the transcipt of the answer I got from spearce: > > > [21:43] <lenards> question - how do you remove a remote branch? Is this > github link wrong: > http://github.com/guides/remove-a-remote-branch > [21:43] <spearce> lenards: that link is actually correct > [21:45] <lenards> spearce: I don't understand why it works... why would `git > push` be how you remove a remote branch? > [21:45] <spearce> lenards: git push is the only command that can make > changes to a remote repository. it can create branches, update branches, > and it was overloaded to delete branches, since its the only outgoing > communication command. > [21:47] <lenards> spearce: thank you... okay - but the syntax shown looks > like the same way I'd push changes to that remote branch > [21:49] <spearce> lenards: if you look carefully at the syntax the source > side of the argument is empty (the stuff before the :). we are technically > pushing _nothing_ to the remote branch to cause its deletion. > [21:51] <lenards> spearce: hmmm... okay so if I was pushing to a remote > branch to update it... how would it look? `git push origin > localbranch:remotebranch` ? > [21:51] <spearce> lenards: correct > [21:51] <spearce> and its common for localbranch and remotebranch to be the > same name, so "git push origin A" is an shorthand for "git push origin A:A" > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
