The newest GitKraken release includes three features that help your interface stay less cluttered. It’s better than throwing all your stuff under your bed and jamming all your dirty dishes in the dishwasher before your mom announces a last minute visit.
This release is refreshing like the scent of clean laundry that you don’t have to fold (that’s refreshing with a bonus).
The Command Palette: Orderly and Secure
Think of the Command Palette as similar to the Fuzzy Finder, but for commands that can actually affect your current repository. “With Fuzzy Finder, it’s all about opening or changing views; opening settings; opening file history; or opening a repo,” explains Jose Garcia, Developer at Axosoft. “But the Command Palette has options like undo, redo, create a branch or stash—all of which are commands that will affect your current project.”
Hit ⌘+ Shift + P (Mac) or Ctrl + Shift + P (Windows/Linux) and the Command Palette will appear magically like a bunch of elves ready to mop the floor. Say “Bippity Boppity Boo,” and you’ll be able to trigger actions that affect your repo.
Garcia and team decided to separate Fuzzy Finder functions and Command Palette functions because developers have quick typing fingers when they are in the zone.
“If I wanted to open something with the filename GitKraken for example, there may be an ‘open’ or ‘check out branch’ with GitKraken in the name,” Garcia continues. “If i’m just typing, and I hit enter quickly as I scan, I could accidentally hit the first option I see,” he says.
We are explicitly letting people who use the regular Fuzzy Finder know that this won’t affect your project at all. It’s all safe, and it will open a separate panel.– Jose Garcia, Developer
This effort was something the developers on the GitKraken team wanted to embark upon because they wanted to make Fuzzy Finder more powerful. “The team was debating whether or not to add this new option because we didn’t want people accidentally doing something wrong,” illustrates Garcia.
After much debate, the team simply decided to split the panels into two categories: 1) commands that won’t affect your current project and 2) commands that will.
“The point is to quickly access commands or pages. Both Fuzzy Finder and Command Palette open in a little box (or palette if you will) off to the side.” Neat, tidy and safe—just the opposite of your kitchen after cooking spaghetti.
Squash: Give Yourself a Fresh Start
Squash is a game you play inside with rackets and it’s a way your little brother used to kill bugs. It’s also a method for cleaning up your commits in Git; this functionality has now been brought into GitKraken.
“Squash puts commits together into one commit,” says Kyle Smith, Developer at Axosoft. “You use this to clean up your history, or to be more concise about what you did if, for example, while working on a feature you made many intermediate commits but when finished you want represent the feature as a single commit.”
He explains that someone’s thought process may be, “My history would be clearer if this series of commits was turned into one.”
Once the commits are squashed, GitKraken condenses those commits in the current branch’s history. Look at it like washing windows so you can clearly see the good stuff inside. No more dust and dirt and dead flies: those things cloud your vision and aren’t necessary.
One of the best things when you squash a commit is that there is no risk involved even though it sounds so… permanent (and a bit scary). Unlike jumping off a cliff or not wearing a motorcycle helmet on your rebuilt CB550, if you squash and realize those commits would be better suited as individual commits you can make it so with a couple clicks of the undo button.” So relax.
“A lot of times people’s workflow will involve a checkpoint in any feature. So if they messed up a commit recently, they could go back to that checkpoint. Once they’re done and satisfied with their work, then they’ll squash,” explains Smith.
He further explains that Squash will take the diff and commit message of each commit in the squash and combine them so you still have that valuable info of what you did over time.
No Fast Forward: Merge How You Want
Most folks have different methods for cleaning. Some people just grab a container of Comet and start scrubbing, others methodically use a spray cleaner that has scrubbing bubbles and claims to do the work prior to scrubbing.
At the end of the day, both methods typically give you the same result—a clean surface. It’s just two methods for two different types of working. It’s almost the same as Merge No Fast Forward and Fast Forward in Git. Almost.
“A heavily requested feature was Merge No Fast Forward,” says Tyler Wanek, Developer at Axosoft. There are a couple different types of merges,” he explains. “There’s the Fast Forward and the No Fast Forward.
Previous to this release, GitKraken would fast-forward your merges automatically where possible. However, some people find that merging without fast forwarding is useful. “If you did a Fast Forward, you would just move your branch pointer to the top of the other branch that was derived from your branch,” explains Wanek.
“Merge No Fast Forward means that even though your branch is the parent of the other, when we want to merge the other branch back in, we are making a new commit. The difference is it preserves the time those commits were merged into a branch.”
See what else is new in the GitKraken v1.4 release by checking out our release notes. Your code will be clean, safe and hopefully functional (but that’s on you).