I want to be able to virtually delete a branch, so no one can checkout it and make changes from that point, but leaving the name of the branch as an indicator or etiquette in the history.
In other words I want gitk to keep showing me the names of my past branches, whether or not I had deleted them.
Is this possible?
Sounds like you want tagging.
Example usage:
git tag archive/branch_namegit push origin archive/branch_nameYou could then delete the branch referenced by the tag.
Personally, I use the below alias to tag a branch, push it and delete both the remote branch and the local one:
Usage:
git tagarchive branch_name