Support semi-linear history (rebase && merge --no-ff) #8940
Replies: 9 comments 16 replies
|
If we require pull requests to be up to date an enable only merge commits we get this behavior, right? |
|
Yes, please! This would be super useful. Personally more interested in the ability to enforce it and require PRs to be up to date than in a new button to "rebase and merge" in one click. |
|
This would be a really nice middle ground between 'Squash and merge' and 'Rebase and merge'. IMHO
|
|
There is a related discussion here, but focused on getting the merge queue to support semi-linear history. |
|
Azure DevOps has a fantastic UI for this in my opinion, which includes animated visualizations for the different merge strategies. |
|
Sorry if this is not the appropriate place to ask, but am I right that this is still not supported by GitHub? |
|
We have been utilizing this strategy on Azure Repos' free plan and are now transitioning to GitHub Enterprise as part of a team consolidation effort. A key aspect of our workflow involves using an atomic commit strategy, where a single file might go through multiple commits based on its refactoring or the issue it addresses. This allows granular tracking of changes and ensures clarity in the development lifecycle. In Visual Studio Code, the Git Graph extension offers an elegant way to manage this workflow by allowing us to view merge commits as parents and present history in a linear fashion. When further details are needed, we can expand individual commits from the parent to reveal all associated changes. Benefits of this Approach
Our Workflow RulesMain branch only moves forward, If we need to revert, we open a new pull request to handle the changes. Git has the capability to traverse through semi-linear merges allows for detailed investigation or selective reverts as necessary. From experience. Experienced Outcomes of this merge strategy
This feature would greatly enhance our experience on GitHub, bringing parity with other tools that already have this feature. Would greatly appreciate it if this becomes a priority. 😁 This is also similar to https://github.com/orgs/community/discussions/4618 |
|
@ghostinhershell Hello Sarto! I hope you've had a good summer so far! 🌤️ Just wanted to ask, are there any plans to add support for semi-linear merge to Github? It's supported in Azure DevOps and Gitlab (also in Gitlab merge trains):
It's basically the combination of (a) a rebase on main and then (b) a merge with merge commit. The benefit is a very clean Git history, that makes it easy to see aggregate both at the 'PR-level' and individual commit level. |






Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Support the concept of semi-linear history as discussed here isaacs/github#1017 (hopefully with an option for enforcement as well).
Example

All reactions