Re: [PATCH 07/11] Improve section "Manipulating branches"
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:58:32
Thomas Ackermann [off-list ref] writes:
`git branch -d <branch>`:: - delete the branch `<branch>`; if the branch you are deleting - points to a commit which is not reachable from the current - branch, this command will fail with a warning. + delete the branch `<branch>`; if the branch is not fully + merged in its upstream branch or contained in the current branch, + this command will fail with a warning.
This is not a new problem, but it fails with an error, not a warning (which often is a message to caution but operation gets carried out anyway). For that matter, it might be better to say "stops", as it is not a failure but is saving the user from losing information (in other words, that is a different kind of success ;-). It also stops you from deleting the branch you are currently on. I wonder if we want to mention that, too?
`git branch -D <branch>`:: - even if the branch points to a commit not reachable - from the current branch, you may know that that commit - is still reachable from some other branch or tag. In that - case it is safe to use this command to force Git to delete - the branch. + delete the branch `<branch>` irrespective of its merged status. `git checkout <branch>`:: make the current branch `<branch>`, updating the working - directory to reflect the version referenced by `<branch>` + directory to reflect the version referenced by `<branch>`. `git checkout -b <new> <start-point>`:: create a new branch `<new>` referencing `<start-point>`, and check it out.