{"id":316153,"date":"2020-07-23T07:57:46","date_gmt":"2020-07-23T14:57:46","guid":{"rendered":"https:\/\/css-tricks.com\/?p=316153"},"modified":"2020-08-06T14:39:22","modified_gmt":"2020-08-06T21:39:22","slug":"cmdz-for-git-is-here","status":"publish","type":"post","link":"https:\/\/css-tricks.com\/cmdz-for-git-is-here\/","title":{"rendered":"CMD+Z for Git is Here"},"content":{"rendered":"\n

Version control with Git has become a “commodity” by now: virtually every software project today uses Git, and virtually every developer knows Git to some extent. This explains why I sometimes hear the following question when I talk about what I do for a living: “A desktop client for Git? Why would I need that? I can do that on the command line!<\/em>“<\/p>\n\n\n\n

If I’m lucky, I have a computer next to me when that question hits me. And instead of producing a wordy answer, I do a couple of things in Tower, our desktop client for Git<\/a>.<\/p>\n\n\n\n\n\n\n\n

Anyone who’s ever performed an “Interactive Rebase” is amazed by how easy that is in Tower: you simply drag and drop to combine commits or reorder them. And anyone who hasn’t yet used “Interactive Rebase” – because it was too complicated and clunky to use on the command line – now understands that it’s a very valuable tool.<\/p>\n\n\n\n

Or I might make a mistake: accidentally deleting a branch or messing up a merge in a terrible way. And I’ll simply hit CMD+Z, like I would in a text editor, to undo the mess I just made.<\/p>\n\n\n\n

People then start to realize that the real question is not: “Can I get by<\/em> using Git on the command line?” The more important questions are:<\/p>\n\n\n\n