On 12/06/25 4:48 am, D. Ben Knoble wrote: >> Le 9 juin 2025 à 12:47, Aditya Garg <gargaditya08@xxxxxxxx> a écrit : >> >> One thing I sometimes encounter is that I sometimes git push -f and moments later I realise I did it at the wrong time, result being a disaster. > > 2 effective habits I like: > - Check what I’m pushing first. > - Only force when absolutely needed, and even then default to a > “strict” version (force-with-lease *and* force-if-includes; I use an > alias “pf” and some config to make it easy, since I do force-push > regularly in a rebase-heavy workflow). > > Expanding a bit: > > I have a “git-div” script that will show me the graph in the way I > like between HEAD and @{push}, or @{upstream} if those are the same > revision [it accepts arbitrary revisions though]. It was mostly > inspired by mjd’s git-vee, and uses lots of annotations (cherry-mark, > left-right, boundary) to give a quick HUD. > > https://github.com/benknoble/Dotfiles/blob/master/links/bin/git-div Ah nice, I was searching for something similar. > > (“graph” is an alias for git-log with the graph and oneline options) > > I also use(d to) use show-branch a lot, and I have aliases sbu = > show-branch HEAD @{upstream} and sbup = sbu @{push} that I still use > sometimes. > > As I recently told some colleagues, I consider regularly reviewing > where in the commit graph I am equally as important as checking > git-status. > > The second bullet is probably self-explanatory, but the basic idea is > to give myself the most protection I can, and only weaken it as > necessary. In fact, I almost never need to remove any of those > “strict” flags to force-push except when I’m intentionally > force-pushing from a detached HEAD > (https://lore.kernel.org/git/CALnO6CCk0SgwObQRnpd5Pt_DvCKF8dBmyVHivU6Nr_O-GusGLA@xxxxxxxxxxxxxx/). > > >> I was wondering if a little [y/N] warning could be possible before the risky command gets executed. I saw the code for push superficially and I don't think it's implemented. I think it would be a nice feature though.