Skip to content

Can we have a no-ff (non-fast forward) merge? Revisit #785 #4091

@doublethefish

Description

@doublethefish

Is your feature request related to a problem? Please describe.
Depending on which project I am contributing to, I often switch between using --no-ff or not. Often it is older projects that prefer --no-ff merge strategies. An inbuilt --no-ff optional merge type in lazygit is needed, in addition to the config and custom commands.

Describe the solution you'd like
It would be incredibly useful to have a default merge type that adheres to the config as per solution to #785, AND an explicit --no-ff.

Describe alternatives you've considered

  1. global config ~/.config/.*/config.yml
    • switching between projects that require --no-ff requires that I drop to terminal
    • or configure each repo separately (see below)
    • requires that global config is sync'd between system (which I have so maybe not an issue for me)
  2. silent per repo config <repo>/.git/lazygit.yml
    • If I were to add <repo>/.git/lazygit.yml to each repo I need to ensure that on each checkout of that repo, on each machine, that I have the config.
  3. committed per repo config <repo>/**/.lazygit.yml
    • requires committing to each repo (overhead)
    • pollutes each repo
    • is reliant on maintainers being ok with committed config for tools they may not use/support
  4. custom commands
    • similar to 1 and 2 above

Additional context
--no-ff is such a typical, and useful, workflow but is no longer the standard so having a one-size-fits all solution in this case doesn't work. Two merge types are needed.

However in the keyboard-wizard world of lazygit I'm not quite sure how this would be best implmented.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions