lazygit icon indicating copy to clipboard operation
lazygit copied to clipboard

When local branch diverges from the remote and you're about to force push, the warning should prompt the user enter some text instead of just pressing enter.

Open iltenahmet opened this issue 10 months ago • 5 comments

Is your feature request related to a problem? Please describe. When the local branch has diverged from the remote and you're about to force push, there is a super useful warning that says your branch has diverged from the remote branch, Press <esc> to cancel, or <enter> to force push. Unfortunately, I ended up pressing enter out of habit too many times because it's just muscle memory at this point. We could avoid so many accidental force pushes if we had prompted to user the enter a word instead.

Describe the solution you'd like The pop-up could be changed as your branch has diverged from the remote branch, Press <esc> to cancel, or type "force" to force push. It can be another word, or it could be something else that prevents the user from just pressing enter out of habit.

Additional context Many large projects employ this tactic because it's too easy to press buttons without reading what they do. For example, when you're changing the visibility of a repo on Github, they ask you to type the name of the repo in addition to the warning pop-up. This ensures people don't just press enter out of habit without even reading what the pop-up says.

iltenahmet avatar Apr 01 '24 23:04 iltenahmet

This looks useful to me too. And I would also consider changing pop-up for discard action in the same way.

However, I would prefer having a config options for each action (forse push, discard, etc) and enabling/disabling them separately.

belyakov-am avatar Apr 02 '24 10:04 belyakov-am

https://github.com/jesseduffield/lazygit/issues/2009 IMO this should be configurable, if someone prefers to force push fast, they should be able to do so, but those who wants extra safety should also have that option.

AndrewSav avatar Apr 05 '24 21:04 AndrewSav

🙏 Just did an inadvertent force push resulting in 2 weeks of a collaborator's deleted work and 3 hours finding the dangling commits to recover.

simondoesstuff avatar Apr 08 '24 19:04 simondoesstuff

@simondoesstuff this is exactly why I opened this issue. Based on the discussion on #2009, we are not the first ones to force push by mistake and lose hard-to-recover work. The potentially dire consequences of accidental force pushes are far greater than the benefits of being able to force push fast.

I agree that it should be configurable, but it makes sense to have the safer option as the default, especially because I think most people will not go through the extra step of configuring this until they make an inadvertent force push.

iltenahmet avatar Apr 09 '24 19:04 iltenahmet

Has the --force-with-lease flag been taken into consideration in this discussion?

socketbox avatar May 30 '24 14:05 socketbox