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!
![Regular Expressions for the Rest of Us]()
Sooner or later you'll run across a regular expression. With their cryptic syntax, confusing documentation and massive learning curve, most developers settle for copying and pasting them from StackOverflow and hoping they work. But what if you could decode regular expressions and harness their power? In...
![Serving Fonts from CDN]()
For maximum performance, we all know we must put our assets on CDN (another domain). Along with those assets are custom web fonts. Unfortunately custom web fonts via CDN (or any cross-domain font request) don't work in Firefox or Internet Explorer (correctly so, by spec) though...
![Introducing LazyLoad 2.0]()
While improvements in browsers means more cool APIs for us to play with, it also means we need to maintain existing code. With Firefox 4's release came news that my MooTools LazyLoad plugin was not intercepting image loading -- the images were loading regardless of...
![CSS Transforms]()
CSS has become more and more powerful over the past few years and CSS transforms are a prime example. CSS transforms allow for sophisticated, powerful transformations of HTML elements. One or more transformations can be applied to a given element and transforms can even be animated...
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.