2
Levi96
3y

Why is making a git UI so hard? I've tried many and they seem all suck in some ways. Newest is gitKraken, and with that you can't even trust that it pulls the latest version of the branch you are on.

So what I did was:

1. Open a repository
2. Press Pull button
3. gitKraken says pulled successfully, you already have the latest.
4. I wait 2min, then check the gitKraken again, and it says there's 4 new commits ahead of me. And trust me the person has pushed those long time ago.

I just wonder how can you screw that kind of basic operation in a git client? They must use some kind of internal cache layer there, that takes time to update that the user does not have the latest version yet.

Comments
  • 2
    I still didn't find a good UI for Git.

    Rightnow using the built in (Visual Studio). It has some nice features but still missing the one I need : Delete all local branches already merged into master.

    I have a custom script for that, but it requires command line :( Would love to have a button.
  • 1
    @NoToJavaScript Create a shortcut in the project folder
  • 2
    Gitkraken uses a cache because Git is built with the assumption that opening lots of tiny files is very, very fast. This is a sensible assumption on Unix and particularly Linux, but on Windows it's far from the truth, so a bigger repo becomes noticeably slow.
  • 0
    @NoToJavaScript same, really need something that just gets rid of old local branches
  • 0
    There is a relatively new one called Fork, which is quite decent imo. You might want to give it a go if it's not already on your list of bad git gui clients.
  • 0
    Because Git itself is fundamentally a massive piece of shit and there's only so much lipstick you can put on a pig and still want to date it (people 'round these parts still date pigs... r-right?)
  • 1
    I like SmartGit.
  • 2
    @fzammetti I mean, it excels at keeping track of versions and it can efficiently express pretty much any workflow you would want to do with variants of a worktree, which is all a data model has to do. It's just the UI over this data model that sucks ass, and part of the reason might be that the set of supported operations is a way too large subset of what can be done with the data model, so it's hard to make a UI that abstracts away the internal data model.
  • 1
    @lbfalvy I think it's overly complex for the workflow that most people actually need. As a result, it's really easy for people to make a mess, and sometimes recovering from that mess is difficult. It's not just UI, it's the fundamental architecture. It may be a clever data model underneath, but that data model leaks into user space way too much. Yes, it works, and if you keep things simple and, ironically, treat it a lot like a newer version of Subversion, and as long as nothing goes wrong, then it's okay. The second any of those conditions aren't met though, it starts to become a bear in a hurry.
  • 0
    Tried Fork?
  • 1
    @fzammetti Software doesn't break for no reason. The reason Git tends to break is that there are way too many options and they're structured really badly. It's all UI.
  • 1
    @lbfalvy I think we're actually saying roughly the same thing just with different words.
  • 0
    @ReverendLovejoy another yay for smart git. It also makes working with submodules a breeze.

    I hate it's conflict resolver though, so I just use the ide for that.
Add Comment