Why do merges of pull requests not display anything in the graph?
Asked by James Smith:

Why do merges of pull requests not display a line in the graph, showing the merge? We know what branch is being merged in, it's right in the pull request, but yet the graph shows no line connecting them back into one line??? It just looks like all branches never got merged in, but they did? Who decided this was the way to display the graph?

![Untitled.png](/t5/image/serverpage/image-id/10459i66CF0A7C85BAAF7B/image-size/large?v=v2&px=999 "Untitled.png")


Answers:
author: minnsey
body: Hi can you check you have the 'Show Remote Branches' option checked at the top of the log view?  

Is it possible that the PR has been merged but you are not seeing the remote state and you haven't fetched since the PR merge?

comments: author: James Smith
body: It is checked.  

How can I have not fetched from the remote if I can see the commit where the branch is being merged?


author: minnsey
body: Apologies, i confused 2 issues.  

Can you let me know whether changing the Current/All branches option and the Show Remote Branches option changes the view?


author: James Smith
body: I don't understand your question, it was mis-written and confusingly worded.   

If you are asking whether toggling Current/All Branches and unchecking and rechecking Show Remote Branches does anything to resolve this problem: the answer is no.


author: minnsey
body: Sorry for any confusion, thanks for the answer.  

Can I ask what the graph looks like when you run  

\>git log --oneline --abbrev-commit --all --graph  

Do the lines join in that?


author: kyledelaney
body: Hey, I know this is an old question, but I'm experiencing this problem and I'd like to give some input. I'm not a Git expert so I'm going to need some help piecing this together.

In SourceTree, when we merge a branch locally the merge itself has its own commit. In the branching graph, each commit is a node connected by colored lines. So for two lines to merge together they need to merge at a commit, and this would be the merge commit, conventionally with a description like "Merge branch A into B."  

Pull requests in GitHub seem to be handled kind of differently. When a pull request is "merged" there's no merge commit. It seems to just use the commits in the pull request to make new commits on the master branch. I'm not exactly sure what's going on, but this seems to produce unexpected behavior.

I ran the command "\>git log --oneline --abbrev-commit --all --graph" and found the commit I was looking for in the output, and it's the same as SourceTree's graph. But I noticed something about the graph that I had missed before. There are two copies of my commit: one in its own branch that's never been merged, and one in the master branch which must be where the pull request was "merged." What's going on here? Why is the PR showing up as a direct commit to the master branch rather than a branch that's been merged? Is this expected behavior, or is someone merging pull requests incorrectly?


author: minnsey
body: It might depend on the options used for merging on GH  

See <https://help.github.com/en/articles/merging-a-pull-request> and <https://help.github.com/en/articles/about-pull-request-merges>


author: rainfarm
body: This is a good question, ive been wondering this for awhile.  
It's much harder to follow the branching history when it does not display any connections on the git graph.  
Anyone find a solution?


author: abarber
body: I am having the same issue. the merge worked, but the graph does not reflect the merged branches.


author: mariomail
body: The same issue. Waiting for some help.


author: William Young
body: Same issue, where is the answer???


author: npolidorifm
body: I'm facing the same problem and it seems to be caused by the way you merge the pull request.

I'm using Azure DevOps and when i close a pull request i can choose between a regular merge and a squash merge.

![Example of a regular merge from a pull request](https://docs.microsoft.com/en-us/azure/devops/repos/git/media/regular_branch_merge.png?view=azure-devops)

![Squash Merging in pull requests in Azure Repos](https://docs.microsoft.com/en-us/azure/devops/repos/git/media/squash_merge.png?view=azure-devops)

A squash merge takes all the changes in the pull request and create a single commit on the target branch. In this scenario history of the merge is lost.

I think that's why SourceTree does not show the 'merge line'


author: Albert
body: This is exactly what I'm experiencing. if we use "merge" in GH, sourcetree graph appears as expected. but using squash merge, we get the issue.

I think it goes beyond the graph, sourcetree truly believes the branch is not merged. when i verify that branch is merged, and want to clear it from my local branches using delete, sourcetree warns me that the branch is not merged, i have to force delete it.

is there anyway to get sourcetree to recognize GH squash merge as a merge?


author: thecargocult
body: Same problem here. Very annoying. IS there any suggestion from Atlassian about how we could resolve this?