After complete your task of a branch commit and push it. Then checkout to the main(normally master branch) Suppose your branch is branch1 Then merge it git checkout master git merge branch1 After the merge, it's safe to delete the branch: git branch -d branch1 Additionally, git will warn you (and refuse to delete the branch) if it thinks you didn't fully merge it yet. If you forcefully delete a branch (with git branch -D ) which is not completely merged yet, you have to do some tricks to get the unmerged commits back though (see below). There are some reasons to keep a branch around though. For example, if it's a feature branch, you may want to be able to do bugfixes on that feature still inside that branch. If you also want to delete the branch on a remote host, you can do: git push origin :branch1 This will forcefully delete the branch on the remote (this will not affect already checked-out repositiories though and won't prevent anyone with...