git reflog
My life got so much better when I learned about git reflog
My life got less fun when I learned that it's pronounced "ref log" rather than a way to beat git into submission.
With the number of times its fixed my repo, por que no los dos?
I mean, I'm not going to force you to pronounce it "ref log" if you prefer the alternative!
Oh good. How about mispronouncing fstab
?
There are two valid ways to pronounce it. One is: /etc/fs<tab>
which is the way I type it (since "fs" is a unique prefix within my etc directory). The other is entirely valid and probably more accurate when things are going wrong. Go ahead, stab that f.
git reset --hard HEAD@{1}
git reset --hard
only moves the HEAD pointer. You can always go back unless you orphan some commits and wait long enough that the git garbage collector removes them. git reset --hard HEAD@{1}
will go back to where you were. If you move HEAD multiple times, you can use a different number to go to N heads ago.
git reset --soft
only moves the HEAD pointer. All other modes can potentially affect the index or working copy.
This is the actual correct answer.
Tell me you don't know git without telling me you don't know git.
Did this the other day, was at the point where I just wanted to start over from scratch haha
git push origin master
git reset --hard HEAD~3
git gc
git push --force
Still doesn't delete the history - reflog will be kept. Unless you manually expire it.
I am now let go from my toxic bank dev job, thanks to you.
git rebase -i --root
<delete random `pick` lines near the beginning of time>
git gc
git push --force origin master
Just commit your .git directory in git. #shittylifehacks
copy your entire repo on a backup hard drive smh. 3-2-1 rule people!
If only there was some sort of log of your refs 🤔
All seniors in comment section ⭐⭐⭐⭐⭐
reflog says hi
kid named backups
git push -f
rm -rf .git
would be more catastrophic
How about randomly changing history and pushing?
// # Les carottes sont cuites
Putting toothpaste back in is not that difficult
bah, Idk how that would be any way difficult to undo, you just need to get the last commits back from the repo and then point again to the new HEAD.
If it was an unpushed commit that won't work, but you can always git reflog
. And then reset to the head before you reset.
Just use jj instead of git
Junior post. Senior comments.
Too much juniors this days
Senior Dev:
"You forgot the 5th horseman: giving ```chmod -R 777 /``` in production because 'it wasn’t working'."