> > > can someone clarify this? is this as confusing as it seems to be to
> > > me?
> >
> > My understanding is the -d option to delete a branch won't let you
> > do so unless it is in another branch (don't remember which branch),
The upstream is the branch you are looking for.
git-branch(1):
-d, --delete
Delete a branch. The branch must be fully merged in its upstream
branch, or in HEAD if no upstream was set with --track or
--set-upstream.
> i read further into that section (can't believe i proofread this
> once and just forgot the details), it reads:
> […]
> "Git is not mandating that all branches be merged into the master
> branch before they can be deleted. Remember, a branch is simply a name
> or pointer to a commit that has actual content. Instead, Git is
> keeping you from accidentally losing content from the branch to be
> deleted that is not merged into your current branch.
That sounds mighty fishy were I to have many other intertwined branches
not related to the one I'm currently on.
> "If the content from the deleted branch is already present on another
> branch, checking that branch out and then requesting the branch
> deletion from that context would work."
So then, what about this scenario?
______ A
/ ____\________ B
/ /
------------------------ master
\_______________ HEAD -> C
Busy at work now. Will get back to this later. Would `git branch -d A`
work here, despite B not being its upstream?
> so it seems that git really is requiring that, to do a *normal*
> (that is, not forced) delete, the branch to be deleted must be
> reachable from your *current* branch, not just any branch, even though
> that certainly seems like overkill.
It is.
> ok, i'll accept that, unless someone has opinions to the contrary.
Run any experiments to try and break that statement?
Regards,
Alex Pilon