Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
GitKraken: git GUI Client for Windows Mac and Linux (gitkraken.com)
193 points by bpierre on March 1, 2016 | hide | past | favorite | 175 comments


The applicatino asks you to register with my email address for further "communications related to GitKraken or Axosoft". There is no way to skip this step, you have to provide an email address ––and pay attention to "OR"... No thanks, buddy.

First thing I tried is dropping a git repo folder to the window, didn't work. When I click the open button I can see the Javascript animation glitching on my 'Early 2015 i5 2.7 Ghz MacBook Pro'.

The commit list UI is kind of alright but it doesn't show you the diff anywhere. So that's not exactly a Git UI, buddy. And this is not open source either, that's a lot of strikes. No thanks.


You can click on the files in the right-hand pane to get the diff. Right-click for more options.

I've been using the beta(!) for a few weeks and I think it's a promising product. I also don't think software should be completely disqualified for not being open-source (, buddy).


Thanks for pointing this out, I also couldn't figure out how to see a diff.

I am not a fan of this layout. It makes it a bit difficult to get a feel for what the changes were in a quick glance.


I had a similar sense with the app. Despite the very slick UI, it just felt awkward and inconvenient in all sorts of little ways. I couldn't quite get at the info I wanted -- or couldn't do so fluidly. I couldn't quite do what I needed -- or couldn't do so fluidly.

I gave up on it in under an hour, which is kinda record time for me. I gave SourceTree a couple days, GitX/GitY/etc each got multiple hours, etc.


Do you currently use a git GUI that you recommend? Or just command line?


If you're on OS X I recommend gitup. Very fast and clean. Although if I remember correctly, it does ask for an email address.


gitup (http://gitup.co for those interested) looks amazing!

My team's been using https://rowanj.github.io/gitx/ which has been a godsend - many of the same features, including interactive diff staging and tree view, in a native-feeling Mac interface. But that gitup screencast, how it makes rebasing painless - that's like nothing I've seen before. I'll definitely give gitup a try.

In general, these types of interfaces are VERY useful for junior programmers who aren't used to thinking of Git as a digraph of commits. I'm surprised that they're not used more often in online courses and bootcamps... maybe not enough people know about them yet!


Because IMO struggling and learning "the hard way" first forces people to understand what is actually happening at the git level before using fancy tools like this or Tower to e.g. rebase master or otherwise do complicated unnecessary things because the tool makes them easy to do and "it seemed like the right thing".

There are a lot of ways to do git. If you frequently find yourself needing a GUI tool to do more than compare diffs (there are a few good ones out there), it's very possible that the way you / your team are using git could itself use some work.

If you're very new to git on teams or even if you're more intermediate, https://www.atlassian.com/git/tutorials/comparing-workflows/... is probably worth a read to understand how this stuff can work nicely for projects. It really shouldn't be rocket surgery to cut a new release :)


GitHub Desktop[1] runs on both OS X and Windows. It works with non-GitHub git repositories too.

[1] https://desktop.github.com/


I wish the GitHub Desktop app would be more of a browser for GitHub.com, including issues.

GitHub's site is not really convenient for me, the notifications aren't very useful, it generally feels like a clunky way to work.

If GitHub were smarter, they could have become the Slack of development. There's so much room for improvement there.


But not linux :(


I use gitup as my git client and I'm completely satisfied. It was even made open source since 1.0

It hasn't asked me for email (the only email it has is for `user.email` git config)


Whoa thank you for this, I love it! I do wish there was a Windows version, but it will be a nice-to-have while working on OSX.


I've used SourceTree for a while which is nice, and also has a Windows client.


No email address or any sort of signup is needed since 1.0.


The no-skip email registration was basically the end of it for me too.


Same here, pretty impressive looking email harvester though.


I just gave my throwaway email address, let them spam it all they want.

I wasn't overly impressed by their app (not to say that it's bad, given the overall scarcity of decent GUI options for Git), but I wanted to take a peek... having to provide some email isn't a showstopper at this point


Don't you guys have separate e-mail that you use for these kind of things? Come on! It's not that big of a deal.


Use Mailinator or another fake email address service.



Yeah. I don't know when this happened, but that's become a deal breaker for me. Strange, right?

Edit to add: It's particularly strange because I wouldn't depend on this tool in some infrastructural way -- I could switch clients anytime without any lock in. But I'm no longer willing to even try anymore. Odd.


I don't think this is a dealbreaker for 99% of people. I currently use Tower (https://www.git-tower.com/), a closed-source Mac Git client that costs $70.

It's beautiful, it speeds up my work day to day, and it's been worth every cent. Open source is great and I spend my days building an open-source mail client, but I have no problem paying for great tools.


As a long time git command line user, I've played with different GUI clients, but I don't see where it would speed me up (and in fact, they seem to just slow me down). What about it helps you in your day to day coding? Do you interact with git exclusively through a GUI, or do you use some mix of command line and GUI?


i use a gui for two things:

1. interactive staging and committing of only part of a local change. git-cola is way better than the command line flow for this

2. gitk's tree viewing and filtering options are nice. i usually end up just using tig for speed of opening, but if there's a large set of changes i want to navigate through i launch gitk. also it's the easiest way i've found to branch at a particular commit.


I magit in emacs, combined with git gutter. It's a good way to see your commits as you edit code.

But lots is still done on the command line. The two aren't mutually exclusive.


I used to be a cli proponent and it worked very well for moderately sized, hardly dynamic repos; for other repos that can see dozens of commits an hour it's much easier to use a GUI. I use it for easier rebasing and cherry-picking, because I can directly see what I'm taking and where I'm putting it, instead of having to first check the log, then copy the hash, then paste it with the right git incantation.

Sometimes using the mouse really is more powerful; sometimes it is not. It is important to see that it can sometimes be your friend.


> do you use some mix of command line and GUI?

This, for me. I do most git things through the command line, but I find Tower's GUI very convenient for reviewing my changed files before I commit them.

At that point, I'm basically looking at superficial issues. That's usually the step where I realize I've left some debugging statements in my code, or have some formatting issues that ought to be cleaned up.


Almost exclusively a command-line user too. The one GUI tool I sometimes use is tig -- I like its status view for staging parts of files at a time if I made too many changes at once.


GUIs are gmore discoverable than the command line so they are great when you need to do something that you don't do very often.


I hate to be that guy, but you're paying $70 for that? What does that offer over, say SourceTree, Atlassian's free offering. From a quick glance, they look pretty similar to me.


Am I the only one who remembers when $70 was cheap for anything development related? Either it's good enough to save you 5-10 minutes a day where it's obviously worth $70 or it's not, and isn't worth any price (well maybe a dollar or two if you are, say, a collector of git clients).


Somehow new generations of developers want all their tools for free, but expect to get money for their work.

Strange profession, when compared how much some of other professionals pay for their tools.


Exactly. I have a Bosch drill and I recently had a carpenter trying to convince me that I should have spent three times as much on a Makita. He was basically trying to show me that the cheaper drill was a false economy. Its hilarious in software how much time we waste dealing with poor tools. Some free tools are excellent but in many cases spending some money will save you so much time and effort, enabling you to make more money and giving some of that to the developers. Wins all round.


Why is it strange? Lots developers who write free software get paid for their work.


Only in areas where software is not the main product.


How did you come up with that?

Mozilla is a clear example of people paid to write FLOSS. I used to work at a foundation that did that too. There's plenty going around.


Mozilla is a clear example of a software that isn't the product being sold.

The product being sold is the service to access online web sites, sell search data to engines and online advertising.


The problem isn't the cost in money, it's the cost in time and inconvenience. It sort of manifests in two ways. First, I build my professional workflow around a tool that can simply cease to exist in a few days/weeks/months/years...it puts me at the mercy of the maker of the tool, often needlessly. Second, software that costs money tends to be closed source, which is at odds with community efforts that can improve and shape the software over time, as well as maintain it should the original developer move on. So those issues are the problem, not the $70.


I disagree as all of those problems exist with SourceTree as well, which is what the parent was comparing it to.


Agreed.


Is this an argument against my point? I'm not unwilling to pay for a tool -- I've even paid for Sublime which is free unless you choose to pay. Is there a reason I should feel compelled to pay for a tool, given a comparable free alternative?


> Am I the only one who remembers when $70 was cheap for anything development related?

That's more than what I've spend of software (excluding videogames) in the last decade, probably more. It's also more than a weekly rent for me too.


Yeah, if it saves me time/work I'll gladly pay $70.


SourceTree is a god awful nightmare of a UI and I have found myself having to triple check all the checkboxes present before I do anything lest I manage to hose it up. I would use absolutely no GUI if my option was that or SourceTree. I also hear the latest update has been a real punch to the gut for people as well.

I branch and merge in moments at least a half dozen times a day in Tower. Getting to diffs, creating patches, and viewing changesets are easy and pleasant to look at. It has built I support for a Gitflow workflow so naming conventions and everything allow for one or two clicks to go from no feature branch to a new one.

Frankly, it's just pleasant to use, doesn't screw up my source, and makes it easy to get my code committed and pushed.


> It has built I support for a Gitflow workflow

So does SourceTree. Have you tried using it? If so, what issues have you found with it? Personally, I don't use it, so I can't speak to its functionality.

> I branch and merge in moments at least a half dozen times a day in Tower.

I do the same in SourceTree, and find it trivial, but perhaps it's just a usage difference. If you want to use Tower go for it -- I have no affiliation with Atlassian to push the product on you, I just enjoy it. I'm just surprised at how much Tower costs.


It's funny because I generally regard Atlassian products as at the worst, not bad. That is to say, I don't feel like anything they do sucks, some things I really like, some things I'm meh about. Except SourceTree. Maybe because I'd been using Tower for nearly a year by the time I came across SourceTree. Maybe because it's such a Windows feeling application. I don't know. I'm sure most of my dislike is illogical at this point, but it still is there.

I don't feel like $70 is very much for something that feeds my family. I use it all day every day and the work I do with it allows my wife to stay home with my kids. If people didn't pay me to build the software that _I_ build, this wouldn't be possible. It's the same reason I choose IntelliJ over Eclipse or other IDEs. If the price difference is justified by my effctiveness with your tool, I'm spending the money without hesitation.

The only caveat I have is, even if your product is the best, if your company is shifty or a bad actor- I'll do whatever I can to avoid it.


> What does that offer over, say SourceTree, Atlassian's free offering.

An intuitive interface and a simpler layout. I like Tower better for the same reason I like to use a trackpad over a mouse. Day to day, the difference is obvious and positively impacts my performance.


SourceTree has hosed numerous co-workers repositories because they clicked the wrong option. I'm not a fan in the slightest.


Really? Both you and another commenter said as much, but I've never seen this problem, or known anyone who experienced that across probably a dozen people I've worked with over the span of three (?) years. I'm actually not even sure what options you could use that would cause that. Do you have examples?


SourceTree's latest update makes you login to an Atlassian account just to be able to use the app. That has been a deal-breaker for an otherwise great app.


They are very similar. Tower has less of git's features as well when compared to SourceTree. It is though much much faster and definitely more stable.


Much like GitKraken, the site is completely unhelpful and doesn't have any screenshots. Why would I download, much less pay for, a piece of software which I haven't even seen?


There's a link to the screenshots at the bottom of the page.

http://www.gitkraken.com/screenshots


What are you even talking about? Both sites have screenshots of their product...


"I refuse to be bound by software I cannot negotiate with".

You're more than welcome to donate to Free software projects developing those tools and ask for a feature.


Wow, that's ridiculously expensive! Especially considering the OFFICIAL client is free software.

I also think you exagerate with it not being a deal breaker. I don't know any software developer IRL that uses proprietary git clients, or other developer-specific tools which are proprietary. Maybe most people don't care about FLOSS/propietary, but devs tend to care a lot more.


I'm in an office surrounded by people using Visual studio on windows, running Perforce. We do have some git infrastructure, and anyone that interacts with that uses sourcetree. I know that the diff tools of choice are Araxis Merge/P4Merge/Beyond Compare. There's also people using VisualAssist on top of Visual Studio.

There's plenty of developers who don't mind using proprietary tools


what's the official client?


I think he means the CLI.


How is rebasing? Can you merge/split/reorder commits easily?


Nope. Tower lacks that feature.


I'm not concerned by the fact that it's closed source alone, but by the fact that it's both closed source and free-as-in-beer. You know, the whole "if you are not paying for the product you are the product" thing.

According to the FAQ it's free while they're iterating until they start a freemium model, which makes sense. But in that case I prefer the InteliJ model, where the community version is also open source.


Not strange at all. Getting to know a tool and building muscle memory is also an investment you don't want to waste.


Seems like you should investigate that, then. The first step is noticing that you may be acting irrationally. The second step is correcting (if in fact it turns out to be irrational, which I'm not claiming).


There are very good reasons not to get invested into non-free software, starting with privacy concerns.

Speaking of which, https://www.axosoft.com/privacy seems to say that the application is allowed to send home virtually unlimited amount of information about your repositories and the work you do in them.


Okay, I purposefully and carefully avoided taking a stance on whether or not one should invest in non-free software. You missed that apparently, as did the people downvoting me.


That's how I took it. I upvoted you


Which is weird, seeing as the git license is GPL 2. I mean, I find it weird that one can build a product completely around a GPL project, and somehow not make it GPL. The whole point of the GPL is to restrict derivatives. Yet, somehow this has been mutated to become "links to a library," as if the technical fact that the product links to some code over an API boundary is different, legally speaking, than calling it with arguments over a process boundary.

The point of the GPL was supposed to be about derivative products, that is code that depends non-optionally on other code. Whether it depends on that code via linking, calling exec(), or sending HTTP requests, it shouldn't be legal to write a non-open-source application that depends on a GPL program to do anything useful.


Legal derivative works under copyright law of a particular computer program are not the same thing as programs which functionally interact with them -- functional interaction doesn't make a work derivative.


But what if the entire core functionality of the program relies on an open source program? This is the case here, I would argue.

ps. I realize that in a technical sense my comment is "wrong", hence the downvotes, but what I'm getting at is, doesn't this horribly break the spirit of the GPL?


Yet you can extract the embedded app.asar and get the source code if you so please. There may be native libraries that are closed source.

This is another Electron app after all.


That's almost certainly not the point being made. Building a workflow around non-free development tools means that eventually you're going to find support for your favored tool evaporating.


Using non open source tools is Harlech ever a problem. Yes the support can disappear, but so can one for FLOSS software. I am working on a tool which is based on a graveyard of abandonned open source libraries and taking them over is absolutely not an option. The only thing you can do is to slowly move to an alternative and hope that it will get maintained. With tools the choice is usually very easy because you can switch to other tools any time.


This seems only be a problem for software developers though. Every other profession out there builds their workflows around proprietary expensive tools and it works out all fine.

But we software developers are a special kind. We expect people to work for free (as in no money) to create tools for us we then can use to earn money.


I personally never use GUI clients for git, the CLI does exactly what it's supposed to do, efficiently, quickly in a stable reproducible manner, most GUI clients are for people who just don't want to learn to use the CLI properly.

But some tips for your project: 1-Lose the forced email registration 2-Easy on the Luxury, we're devs not divas 3-The beta agreement is just way too scary to take the product seriously, examples:

>Company grants Recipient a nonexclusive, nontransferable license to use the GitKraken (“Product”) for a period designated by the Company for the purpose of testing and evaluating the Product.

>This Product is a beta release offering and is not at the level of performance of a commercially available product offering. The Product may not operate correctly and may be substantially modified prior to first commercial release, or at Company’s option may not be released commercially in the future.

How do you expect to compete with other existing and stable products ? I'm not trying to sound harsh, this is just my views and I think I've got a point right?


"most GUI clients are for people who just don't want to learn to use the CLI properly"

Ridiculously arrogant comment with nothing to back it up. GUIs exist; get over it.

"How do you expect to compete with other existing and stable products?"

It's a beta. The T's & C's pretty much translate as "it's a beta". What do you want them to do, NOT release a beta? Fair enough if so, but a lot of software is released this way. And pretty much all FLOSS software excuses itself from any kind of warranty too.


I use both with git, nothing wrong with that. A GUI client for committing which allows me to better look at diffs and makes selecting files for staging easier, not having to do `git status` all the time; and the command line for everything else - pulls, merges, rebases, cherry picking etc etc.


You might also like: https://github.com/magicmonty/bash-git-prompt

Basically shows you 'git status' at a glance, all the time. More for bash people: https://github.com/Bash-it/bash-it (similar to ooh my zsh)

https://github.com/alebcay/awesome-shell#for-developers

PyCharm / any IntelliJ-based IDE, Atom, vim, emacs etc can also all nicely show git status of your current project. I'd suggest one of those as well in whatever flavor of editor you prefer.


I'm using mostly IntelliJ / PyCharm and Atom which indeed show me that status. I usually commit either with IntelliJ directly (though sometimes it's too inclusive which is annoying), or with gitg.


My current workflow makes extensive use of these commands:

  git add --patch
  git commit -v
The --patch option allows you to interactively select which changes to add to the index. It also applies to other commands like checkout or reset.

The -v flag shows a diff of what will be committed in the editor.


>Ridiculously arrogant comment with nothing to back it up. GUIs exist; get over it.

A simple google search for "How to use git without command line" will show you the amount of people who are looking for just that, I said most, not all, I believe git is a developer tool that's mostly used by dev who can navigate their way around CLI, lately i've seen and worked with non devs who want to just use GUI tools to help them around without having to know the details of what's going under the hood, this submission is a good example of that, it lacks every single tool that a developer that works in a big team with a big codebase needs. so yes, it's a tool for people who don't want to use the CLI properly. nothing arrogant at all.

>It's a beta. The T's & C's pretty much translate as "it's a beta". What do you want them to do, NOT release a beta? Fair enough if so, but a lot of software is released this way. And pretty much all FLOSS software excuses itself from any kind of warranty too.

This doesn't seem to be exactly a FLOSS per say, but I get your point, they're just doing it the wrong way, if you're gonna start something that you want to be on par with other tools, at least get out your beta with the same features, then add up on that post beta, but they're not doing that, they're releasing a GUI tool that has the basics of git, with videos and js animations. and if i'm going to even consider using that in a production environment I'd rather have a more serious T&C that will make me feel a bit safe that this thing will be supported and will live on for a few years ahead and not die, "It's just a beta" is something i'm really tired of hearing as an excuse to a crippled product, gmail was in beta for way to long and it was superior to all existing email solutions at the time, no one would've used it if it only supported sending and receiving emails, I wouldn't call his git client a beta either, it's more of an alpha experimental product IMHO.


Then again, this isn't even close to FLOSS, it's license is extremely restrictive, with quite a few gray areas IMHO.


I find a GUI very convenient for picking chunks that I'd like to commit.


Whenever you make an action using a GUI, you can clearly see what options are available to you, even if you're not using them. It's unreasonable for every person to invest the time to fully internalize the capabilities of every tool they use. The more (good) GUIs available, the better.


Last time I saw GitKraken mentioned, I must admit I chose not to try it due to the license (which reads more like a NDA).


This is an Electron app, meaning it does not look, feel, or perform like a native Mac app. FYI in case that's important to you.


Ah, I was wondering, because it also seemed really slow.


Aw.

    $ rm gitkraken-amd64.deb


To be honest, html-based scroll lists are usually much faster than native one. Reason: Very obsolete UI framework for Mac.


This is totally backwards. HTML has no good elements for long lists at all, leading to janky techniques like "infinite scroll." But NSTableView was designed from the start with very long lists in mind.

Try opening a large repo and scrolling a list of commits in GitKraken. You'll see large blank areas that get filled in after a few seconds. Now try it in, say, GitUp, which uses NSTableView: it is perfectly smooth.


I don't see any complex NSTableView in GitUp, they definitely use something other. When i worked at Telegram, we worked hard to make default lists smooth and it is almost impossible. Eventually main client became Qt-based instead of native frameworks. All other Git tools also very slow on my MPB Retina. All of them are laggy in lists and only lists.

Having nothing good for long lists doesn't matter as rendering pipline on OSX didn't updated for a years. Almost everything in UI on OSX is still software rendered instead of GPU. And Chrome extensively use GPU for rendering and that outperforms everything.


GitUp also loads the entire repo history in memory in a very optimized way, which is a key reason why it's so fast. Incidentally, this is something a web app like GitKraken can pretty much only dream of.


So they can't bother learning, and/or hiring for, appropriate programming languages and architectures for a GUI application. From Javascript hipsters to Javascript hipsters.


I keep seeing this promoted on Twitter, but there's nothing on the site that gives any idea of what it does better than SourceTree/Tower or any of the dozens of other Git GUIs.


But did you see they have a cool background? If someone has that cool of a background you can trust the software is A+.


And a... well, I'm not sure how to describe this promo video: https://www.youtube.com/watch?v=GE1ImXs2LnI


Sigh.. again with the "I have no idea what to put in this promo, so let's make it a parody video instead".


Love the interface, dark theme and super intuitive. Could use syntax highlighting in diffs, though. It will need that feature to convince me to pay money, later.

One weird thing: it'd be great to have the option to show a name, instead of a shrunken avatar in the commit log, perhaps configure how this is shown, so I can choose the format of the name and if I want to see an avatar or not... I may be the only one, but seeing a 100+ row long column of just my face (I have worked on a few projects solo) kind of creeps me out.

Any idea when the product is going to be ready and how much it will cost?


Not sure when they plan on releasing 1.0 but it's going to be free

https://twitter.com/GitKraken/status/692866148199591936


Here are the things every git client should have before opening up:

1) side by side comparison—seems like it only has vertical, which means for heavy changes it's basically useless.

2) conflict resolution.

3) search (it seems like gitkraken does this well from the screenshots)

4) Interactive rebasing, the bread and butter of clean git usage.

Without the above as a minimum, I might as well just use the git cli all the time. It's not worth using two git tools when the cli is already so powerful.


Hi, author of git-cola[1] here, and I completely agree that these features are key. I have a slightly different philosophy implementation-wise, though.

Maybe I'm a unix crank, but I've always tried to keep cola as more of a mediator over individual best-of-breed tools, whenever it made the most sense, rather than re-implementing things that already exist in better forms elsewhere.

For diffs we show inline diffs for interactive staging, one of our uniquely ergonomic features, while also making it extremely easy to launch `git difftool`. difftool itself can be configured to use the best tools for side-by-side diffing, so integrating tightly with it makes for the most cohesive Git experience.

For conflict resolution we defer to `git mergetool`, for the same reason.

With `git cola rebase` it's really easy to reorder lines in a rebase and swap through the pick/squash/fixup/... options using keyboard shortcuts. The advantage is you can't mess up the instruction sheet like you can when using $EDITOR -- cola ensures that the instruction sheet is semantically valid (e.g. "pick" must be first) and does not allow the user to create an invalid instruction sheet. Those little things make a big difference for usability.

What you didn't mention, though is one of the most important aspects to me: A Keyboard-Centric Design

I am a heavy vim/gvim user. I use the keyboard for everything, so cola is designed to augment the command-line experience. If you want to find some string in your codebase run:

    $ git cola grep foo  # or ctrl-g foo in cola
    # hit enter
    # navigate results using vim-style hjkl keys
    # hit enter
    # you are now in foo_bar.c at that exact line of code,
    # in your favorite $EDITOR
Being able to do the most common operations, without touching a mouse, is one of my guiding design goals. Hopefully I'm not the only one that feels this way.

[1] https://github.com/git-cola/git-cola


Hey! Love git-cola, and I'll hijack the thread here for a quick question. Maybe I am missing something but I didn't see anyway to easily mark which commits I want to rebase in the UI.

For example, in the command line I would have to open a git log and then see that I want to do something like git rebase HEAD~3, or any of the more complicated parameters needed for rebase (such as git rebase --onto <master> <next> <topic>).

Is this possible and I just missed how?


Yes, it is possible. eg

    git cola rebase HEAD~3
    git cola rebase --onto x y z
The simple launcher from the UI exposes the first form. Feel free to open an issue if you need any help.


1 and 2 can be handled by meld[1], available both on Linux and on OSX (via brew).

It integrates with git with just `git mergetool -t meld`.

  1: http://meldmerge.org/


In particular, you really want a 3-way merge tool (which compares yours and theirs to the common ancestor) for resolving conflicts. Meld didn't used to have this, but it looks like it does now. FWIW, on OS X you can also configure git to use opendiff (which opens FileMerge). It does the job pretty well.

Source: my day job used to involve daily merging of Chromium with Rockmelt and I probably evaluated every merge tool that existed at the time.

Tip: git config --global merge.conflictstyle=diff3


A little off-topic: since 10.10 or so, FileMerge has started opening the bottom, free-editing pane by default—and at a random height, at that. Has anyone figured out how to disable that? It's driving me into the arms of a different, otherwise inferior diff tool.


Sure. I use kaleidoscope (or vimdiff if necessary). It's a little confusing to see git clients completely neglect this, though—how much time do you really use looking at pretty commit graphs as opposed to actually working with code?


Serious question, never used a git GUI in my life, is there a practical point to it ? I just can't see myself doing it without zsh, my nested .dotfiles, fasd and so on. And worst case scenario, I can always git them back.


Believe or not, there are a number of cases where you can work faster in a GUI than the CLI: many operations on the topology of the repo for instance. See somes examples at http://gitup.co/.

Disclaimer: I made GitUp for that very reason ;)


Looks awesome, any chance of a port to Linux? Perhaps via GNUStep?


If you want to visualize the topology of a nontrivial git history, It's several times better in a gui than as a tree drawn using slashes and pipes in a shell window. Compare a nice graphical tree with something you might get from "git log --graph --oneline --all" or a similar command. The shell window just isn't up to the task of drawing nice things, just like it doesn't show pictures very nicely by converting them to ascii.

If you want to see side-by side diffs that's also a lot better in a nice text editor than in a text window. Getting balloon tooltips when hovering commit hashes hidden in a gutter etc. allows more information to be fit onto the screen.

The reason you use a graphical UI is because a text ui doesn't fit all the information you want to show in a good way. Most git tools might not need show or draw a large amount of information (push/pull/commit/...) but some do (blame, log --graph for example).


Not everybody is as comfortable in the CLI as you are. I prefer graphical git "tree" views over the CLI-drawn, but other than maybe that, no, it doesn't sound like there would be a point to it for you.


The lead tech at one place I work at uses the commandline for his own commits, but a gui app (can't recall which one) for manipulating merges and pull requests, as it more reliably deals with issues in his experience.


To be completely honest, I also do it like this at the moment, using Kdiff as a merge tool. I've been thinking about moving over to Ediff, but I'm lazy.


I use command line for the majority of operations. For committing, especially when partially committing a file, I'll use the GitHub app.


I honestly have no idea why people would want to have to click buttons for this stuff.

The one exception in my case is 3-way merges. I handle those in Meld, which I find to be better suited than any of the integrated threesome tools in these git GUIs.

Even that I could probably do better in emacs if I set it up.


In my situation I use gitg to add changes by chunks or lines, I think that's much more faster than cli. But gitg is hard to compile on Ubuntu lts if you want newer versions, I wonder if there is a good alternative?


I generally do that sort of thing(staging/destaging lines and chunks) in my editor. If I could shift the merge tool stuff into my editor quickly I would do that as well. The reason is that it reduces context switching and difference between environments: sure, I could spend hours making the fonts, colours, and keybindings the same between the git gui and my editor; I could get really good at switching to the window; etc. But even a slightly worse version of it in the editor is going to be way less work.

At least, that's how I see it.

Also, I'm sure there must be a PPA or something for gitg on Ubuntu, if you really like the tool.


There are Packages in Debian experimental


Does it have per-hunk and per-line staging/unstaging like sourcetree? That's an absolute must for me.


It does not, which is also a dealbreaker for me.


It does, actually. I've been using it since last week, with the SourceTree update issues and all.


The lack of screenshots above the fold fails my sniff test. If it's so great show me, if not I wondering what's hiding.

The same thing applies for languages and frameworks, if the code is great show it off.


There are screenshots -- http://www.gitkraken.com/screenshots


You missed the point of the post.

edit: When you load the page there is nothing to convince someone to dig further. All it says is "trust us it's better".


So you're basically just arguing that their webpage doesn't have a good layout. If you want to dismiss the product because of that, that's your choice, but I wish people would keep complaints about website design to themselves. They're so boring. I come to HN to read insightful commentary about articles and projects, and complaints about the websites themselves just make me roll my eyes.


To be honest, this is actually a good strategy ... producing a poor layout that is. I've found a lot of times, a post either has a lot of comments/votes because the product idea was stupid and/or something unrelated about the product was less than impressive.

So if you are launching a product on Hacker News, it might be worthwhile to create two separate landing pages. Create one that is less than informative/provocative to get the votes/comments and then switch to a more informative one when you have secured a front page position.


But bad websites are correlated with bad products: the same incompetents are responsible for both, either directly or indirectly through accepting the work of bad designers and consultants.

Personally, I found the fullscreen pointless animations an arrogant abuse of my bandwidth and of my eyes, and the lack of content above and below the fold (and of scrolling and of the fold itself) a powerful source of claustrophobia; I noticed the tiny links to merely bad pages moments before closing the page in anger.


http://thereisnopagefold.com/

(for the record, the "screenshots" link is fully visible to me without scrolling)


Title seems a bit misleading. From the FAQ:

Does GitKraken support GitHub Enterprise/Bitbucket Server?

GitKraken currently does not support these services but support is planned for a future release.

The only conclusion I can draw from this is that GitKraken supports one or more specific git based services that aren't GitHub Enterprise or Bitbucket, both of which use git.

I'm assuming that the service it does support is GitHub, but maybe the title and website should reflect that limitation.


Not sure how the title is misleading. It supports any git remote, but it has a few extra features (GH-style pull requests for example) that aren't really a part of Git. Those features are only possible on a GitHub or Bitbucket server, not just any git remote, but it currently only supports using them on the main public GitHub/Bitbucket servers.


If not the title, the FAQ is misleading. If it supports any git remote it supports Bitbucket and GitHub enterprise.


I've played around with it for a bit, and will probably continue to do so - but my initial take on it is that it isn't very intuitive, especially compared to SourceTree. SourceTree has had some struggles lately with performance and bugs in their new 1.8.x version, but those aside, it does everything I need it to, and it was very intuitive to pick up. In contrast, the UI for GitKraken is just...odd.


8.67 Meg videos as wallpaper is a little excessive?


PSA: Writing desktop apps in node.js and bundling a portable instance of Chromium to view them is not a sane thing to do.


Cannot agree with you enough.


i take it you're not a fan of electron.


There are people who don't like using 200MB of RAM for a git client, plus 200MB per browser tab, plus the few gigabytes for their IDE, etc...

Because very quickly you reach a point where 10GB RAM are not enough — I know, I've had that very issue.

Replaced every electron app with a native or Java alternative, now I can actually work without swapping.


Lots of negativity here. I use SourceTree normally and although I'm a command-line comfortable vim/tmux/fugitive/etc kind-of-guy I've decided I like GUIs for GIT. GitKraken is worth watching IMO. So far I've liked using it (I started trying it at 0.5 and just came back to it now with this 0.8 announcement).

I don't care that it's an Electron app. It seems snappy enough for me. Isn't Slack on Electron? I have that running all day too.

This whole "it's not open-source anymore" thing kind of sucks though. If this is just gearing up to be a paid application then it's really got to step up to SourceTree. I initially figured it was just the rowdy javascript crowd flexing their muscles and playing with things like Electron and that it would remain open-sourced.


It was and is developed by Axosoft, a competitor of Atlassian (JIRA). Atlassian has SourceTree, Axosoft now has GitKraken. I'm assuming they'll keep GitKraken free for a long time in an effort to be able to market Axosoft.


If you had to put this line in your FAQ:

> I hate blind dates. Can I see some screenshots?

> You can see some screenshots of GitKraken’s UI here.

You may want to rethink the design of your homepage.


Does GitKraken support git Large File Storage? If so, I could see this becoming an excellent tool for non-programmers who have to use git(designers, game artists, etc.) and don't really want to get involved with some of the complexities that come with git.


We actually have programmers who don't want to get involved with git...


> We actually have programmers who don't want to get involved with git...

What do they prefer? Zip files, or something with a slightly different interface but equivalent complexity (e.g. mercurial) ?


Believe it or not, these guys are still using Visual Source Safe. They find "git pull, git checkout -b, git commit -a, git pull, open merge request on gitlab" too cumbersome for their day-to-day activities.


I know some people who prefer svn or mercurial over git.


Sure, that's normal! I'm curious whether the OP was saying that programmers didn't like git specifically vs version control in general.


Well, to be fair, I'm not really that much of a fan of even saving files. I think that real programmers ought to remember.


If you're on windows, GitExtensions is pretty awesome. (open source too). I made a donation to the author because that client saved me from a team mutiny after I introduced git on the command line.


I agree. I use it on a daily basis. It has a lot of shortcomings, but I still find it more convenient to use than SourceTree. I'm not aware about any other sensible GUI clients for Windows.


Nice, well done done on the UI, I have a few issues though.

1. I shouldn't need to sign up with your service, this also makes me distrust the product.

2. There is no Gitlab login option.

3. It looks to be written in Javascript and thus uses a lot of resources: http://imgur.com/a/uEH4U

So it's not /really/ a desktop app, it looks like it's just a chrome wrapper for some javascript?


It seems weird to me that in this day and age people would be making negative comments about an app with this one's functionality being written in JavaScript/ecmascript. This app looks awesome and performs well on my platform, not sure if I'll continue to use it over the CLI client but so far I'm impressed.


I tried this today. Pretty okay. A bit light on features, but it has the most important ones.

However, it kept on creating temporary files (copies of the files I staged), and they showed up as stageable files. Very confusing.

There also needs to be an option to truncate file paths in the staging area box. Middle truncation that responds to the box width, or an option to only show the file names, because right now file names are just completely unreadable.

Also, there are stage hunk buttons, but no discard hunk buttons.

Configurable diff font size too.

I'll be still using SourceTree for now (even though they had that catastrophic broken release last week).

Performance is a lot better than SourceTree though, which can be a real dog sometimes. It's definitely showing that Electron is a viable choice to make desktop apps.


I'd like to see it honor the settings defined in ~/.ssh/config . Currently you can only choose one key in the settings which doesn't work so well if you have both github and bitbucket repos to manage let alone repos from 2 github and 1 bitbucket accounts.


You can configure different keys for generic/github/bitbucket. Only one each, but I think the default github workflow is to have a single user account that belongs to different organizations.


First thing I searched for on your screenshot page: "merge" and "conflict" -- didn't see anything. Other than that, it looks pretty sweet.


For those looking for an alternative, SourceTree is the best GUI git client I've found. I used to pay for it, before it was acquired by Atlassian.


This makes repos look cool, but I'm not quite sure what benefit this offers over just using cli git in combination with gitk (for easy visualisation). I like the icon/gravatar thing, but since most people don't use gravatar there is just a lot of "space invaders" and no names unless I click on the commit.


has anyone ever found the spaghetti tangle of branches diagram useful for anything?

every git gui provides one but I've never managed to parse any useful info from it. maybe you have to be supernaturally disciplined about your commit history or something. or maybe they're just fun to build, yay data visualisations etc


Sorry, I am that guy.

Linux support means source, deb and rpm!

RPM is the Redhat and SUSE which are major commercial players in Linux. My library was Redhat only in the college I worked at (I actually got to make that switch happen)and still is. Now I work with OpenSUSE at my company.


> Subject to the terms and conditions of this Agreement, Company grants Recipient a nonexclusive, nontransferable license to use the GitKraken (“Product”) for a period designated by the Company for the purpose of testing and evaluating the Product.

Uhm, WHAT? No thanks!


Wait, this is the same axosoft that makes ontime? I use ontime every day, and generally hate it. But I'm not sure if that's their fault, or my company's fault in the setup process :)


The UI is designed well enough, I just wish the application wasn't basically a web-view.


Or, rather, it could be outright a web page, capable of being integrated to whatever repo web tool you're using.


I prefer a CLI. But thanks! Intro page looks great, by the way!


I can't use this. It gets stuck on step 4 of the tour; clicking "Next" doesn't do anything, and everything but the name and email field is greyed out.


Nice, I like the dark theme - switching between IDEA's Darcula to Sourcetree's white background is eye straining.


Please give support for Gitlab login.


Can I hook this into a self-hosted github? Or does it only talk to github.com


It works with any git remote from what I can see.


I'm not sure but they describe it as a git client, not a github client so I guess you can hook it up to whatever you please.


ups... on the faq "Does GitKraken support GitHub Enterprise/Bitbucket Server?

    GitKraken currently does not support these services but support is planned for a future release."


I guess by support they mean creating PRs etc directly from the client. Which from the screenshots seems to currently to be the public github.com and bitbucket.org.

However I would very surprised if they did not support normal git remotes so it is irrelevant if that is Github Enterprise, Bitbucket server(Stash), Gitlab or whatever.


not happy about the registration part !




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: