Another question: we are not using the merge queue, but we have branch rules set up in Github to require a squash & merge on our base branch. However, graphite still defaults to 'merge' stating 'your GitHub default'. Can we change this somewhere (organizational or personal setting)?
✅ 1
p
Pylon
04/29/2026, 10:53 AM
(If applicable) To help us more clearly understand what you're trying to do, please provide additional details about:
- Screenshots / debug logs / list of commands you've tried to run so far
- Your workflow
- Current state
j
Jasper
04/29/2026, 10:55 AM
Below you see that GitHub properly defaults to squash, as 'merge commit' would require a bypass
p
Pylon
04/29/2026, 3:51 PM
graphite uses your per-repo merge preference from github plus which merge types the repo allows. there is a possibility that github is still reporting merge commits as allowed and your saved preference for that repo is merge even if branch rules effectively mean you only squash into main. for the repo that's been screenshotted, what settings do you currently have configured?
j
Jasper
04/29/2026, 4:15 PM
So afaik, allowing/preventing merge strategies is a project-wide setting (settings -> general -> pull requests). We have to allow merge commits there since we use it on our main branch.
To restrict our staging branch to only use squash & rebase, I had to set up branch protection rule:
Rules -> Rulesets -> new rule for staging -> Require linear history
Jasper
04/29/2026, 4:16 PM
GitHub then realises that rebase should be used instead or merge commit, but Graphite doesn't.
p
Pylon
04/29/2026, 4:48 PM
i think if you choose squash and merge in graphite and then after, it should default to "squash and merge". but i'll definitely take this feedback to the team for users who aren't using merge queue.
j
Jasper
04/29/2026, 4:49 PM
Confirmed that it defaults afterwards 🙂
And thanks