Git Undo Last Commit
I'm a massive fan of git; it's super powerful and easy to use, especially when it comes to branching. The biggest sin I commit when using git is adding files and then committing them...to master branch instead of a feature branch. Oops. Certainly don't want that.
If you've done a git add (files) and then commit them to the wrong branch, backing that out is easy:
git reset --soft HEAD~1
With the command above, the files are still added but not committed, so you can create your feature branch, do another git commit -m (message), and be on your way!
![JavaScript Promise API]()
While synchronous code is easier to follow and debug, async is generally better for performance and flexibility. Why "hold up the show" when you can trigger numerous requests at once and then handle them when each is ready? Promises are becoming a big part of the JavaScript world...
![Interview with a Pornhub Web Developer]()
Regardless of your stance on pornography, it would be impossible to deny the massive impact the adult website industry has had on pushing the web forward. From pushing the browser's video limits to pushing ads through WebSocket so ad blockers don't detect them, you have...
![Dynamic Waveform Visualizations with wavesurfer.js]()
Waveform images are an awesome addition to boring audio widgets. They can be functional as well as aesthetically pleasing, allowing users to navigate audio visually. I recently found wavesurfer.js, an amazing waveform image utility that uses to Web Audio API to create super customizable...
![Disable Autocomplete, Autocapitalize, and Autocorrect]()
Mobile and desktop browser vendors do their best to help us not look like idiots by providing us autocomplete, autocorrect, and autocapitalize features. Unfortunately these features can sometimes get in the way; we don't always want or need the help they provide. Luckily most browsers allow...
The other way to achieve this, is
as
HEAD^is pointer toHEAD~1Personally, I have an alias
git undowhich is:Git “easy to use”… Uh, what?
It’s a very complete and powerful tool, no doubt about it, but I wouldn’t call it “easy”. There’s a plethora of options and unclear docs, that it takes a lot of time just to know they exist, not to mention actually use them and get used to them.
For example, I knew about this trick, but didn’t know about Yuriy’s suggestion.
That’s why I end up using a tool like SourceTree instead.