Why only "Close" a branch instead of "Delete" it?

On the pull request page, you can chose to "Close" a branch after it is merged.

Why would you want to close it rather than just delete it?

From what I can tell, close is just a bitbucket idea that hides the branch in the main list of pull-requests/branches, but it will still appear in regular git views/source tree lists of branches. Is there some idea of close that git itself knows about it (that I am unfamiliar with)?

Note we often merge branches into develop locally either in SourceTree (with GitFlow button) or using jgitflow-maven-plugin, which deletes the branch locally but not on origin (bitbucket) - although I wish those tools would.

2 answers

1 accepted

It seems that I was mistaken. Marking a pull request to Close branch when merged, does indeed Delete it. I'm not sure why they use different language for that though.

Hi Ben,

I’ve tried to reproduce this behaviour without success on SourceTree connecting to Bitbucket:

  1. Added a repository from Bitbucket.
  2. Initialised Git flow.
  3. Created a new feature branch with Git flow.
  4. Made a commit on that feature branch.
  5. Pushed all to Bitbucket
  6. Hit "Finish feature" with the "Delete branch" option selected.
  7. Merge happened and the feature branch was deleted.

If it’s not the steps that you are following, could you please let me know which steps are you following? Then I can further help you on it.

There is also the option to delete a branch using the git application through this command:

git push origin --delete <branchName>

Kind Regards,

Henrique Lechner

I see the same behavior as Ben in regards to Git Flow. The feature branch gets deleted locally but not on my remotes. I am aware of the command line method, and you can also delete remote branches from the remote's branch list, but both are less convenient.

In any case, Ben's question is actually about Bitbucket closing a branch following a pull request. Any helpful information there?

2016 here, still seeing this issue.  Using BitBucket, after merging a PR it doesn't delete the branch if Close branch when merged is selected when clicking merge.

I too see the same results as the others when selecting "Close branch" on the pull request.  After it is merged it is just moved to the "merged" list in Bitbucket.  But in your own tool SourceTree and all other Git GUI's or TUI's the branch is still there.  So why not just delete the branch as one would assume when you "Close" the branch or provide a option to delete the branch when closing or something like that. 

If you do not provide this then we just have to go and do it manually which should not be necessary.  Is there an Add-in to provide this functionality?  We just want help...  Please

At the very least, a good explanation of why Bitbucket does not delete the branch?  What is the benefit to us the end user? 

This explains the problem we were seeing: 

https://github.com/gitextensions/gitextensions/issues/2141

http://kb.detlus.com/articles/git/how-to-update-remote-branch-list-on-local-machine/

In Git Extensions, I just used "Prune Remote Branches" which would remove any remote branches on my local machine that do not exist remotely anymore.

Suggest an answer

Log in or Sign up to answer
Atlassian Community Anniversary

Happy Anniversary, Atlassian Community!

This community is celebrating its one-year anniversary and Atlassian co-founder Mike Cannon-Brookes has all the feels.

Read more
Community showcase
Piotr Plewa
Published Dec 27, 2017 in Bitbucket

Recipe: Deploying AWS Lambda functions with Bitbucket Pipelines

Bitbucket Pipelines helps me manage and automate a number of serverless deployments to AWS Lambda and this is how I do it. I'm building Node.js Lambda functions using node-lambda&nbsp...

2,011 views 1 5
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you