2. Git Basics
7. Git Tools
10. Git Internals
A3. Git Commands
3.3 Git Branching - Branch Management
* character that prefixes the
master branch: it indicates the branch that you currently have checked out (i.e., the branch that
HEAD points to).
This means that if you commit at this point, the
master branch will be moved forward with your new work.
To see the last commit on each branch, you can run
git branch -v:
$git branch -v
* master 7a98805 Merge branch 'iss53'
testing 782fd34 add scott to the author list in the readmes
--no-merged options can filter this list to branches that you have or have not yet merged into the branch you’re currently on.
To see which branches are already merged into the branch you’re on, you can run
git branch --merged:
$git branch --merged
Because you already merged in
iss53 earlier, you see it in your list.
Branches on this list without the
* in front of them are generally fine to delete with
git branch -d; you’ve already incorporated their work into another branch, so you’re not going to lose anything.
To see all the branches that contain work you haven’t yet merged in, you can run
git branch --no-merged:
$git branch --no-merged
This shows your other branch.
Because it contains work that isn’t merged in yet, trying to delete it with
git branch -d will fail:
$git branch -d testing
error: The branch 'testing' is not fully merged.
If you are sure you want to delete it, run 'git branch -D testing'.
If you really do want to delete the branch and lose that work, you can force it with
-D, as the helpful message points out.