Support semi-linear history (rebase && merge --no-ff) #8940
Replies: 8 comments 16 replies
-
If we require pull requests to be up to date an enable only merge commits we get this behavior, right? |
Beta Was this translation helpful? Give feedback.
-
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. |
Beta Was this translation helpful? Give feedback.
-
This would be a really nice middle ground between 'Squash and merge' and 'Rebase and merge'. IMHO
|
Beta Was this translation helpful? Give feedback.
-
There is a related discussion here, but focused on getting the merge queue to support semi-linear history. |
Beta Was this translation helpful? Give feedback.
-
Azure DevOps has a fantastic UI for this in my opinion, which includes animated visualizations for the different merge strategies. |
Beta Was this translation helpful? Give feedback.
-
If I set these options, perhaps I can update the pull request by rebasing, before I do a normal merge (creating merge commit), right?
|
Beta Was this translation helpful? Give feedback.
-
Sorry if this is not the appropriate place to ask, but am I right that this is still not supported by GitHub? |
Beta Was this translation helpful? Give feedback.
-
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 |
Beta Was this translation helpful? Give feedback.
-
Support the concept of semi-linear history as discussed here isaacs/github#1017 (hopefully with an option for enforcement as well).
Example
Beta Was this translation helpful? Give feedback.
All reactions