The :branch
refspec is the syntax for pushing a branch deletion, also written as:
git push origin --delete <branchName>
This isn't to be mixed up with git push :
, where the ':
' stand for "matching branch".
The --force
is used for the case where a local branch has a different history than its remote counterpart (upstream branch).
For example, if you rebase master
, its history would change and you would need --force to push it.
You will not be deleting where master is pointing to in the remote.
No, you will be deleting the branch itself (in the remote repo), not the commits of that branch in the remote repo.
if those commits are no longer referenced by any branch, they will become "invisible" (soft delete), but will still be accessible through a git reflog
executed in that remote repo (on the remote server).