I ask because I like console, but at the same time have difficulties remembering all the commands. I’d like to try a GUI that is comfortable to use with only a keyboard.
[edit]
My inbox got fediversized, fantastic feeling.

  • evolatic@beehaw.org
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    I use GitKraken. It has a beautiful interface. It’s free to use non-commercially but I pay $50/yr so that it can connect to my companies Enterprise account. I know I’m weak with git (I get the concepts but I’m a visual person) so the money is worth it to me.

  • aksdb@feddit.de
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    I am pretty hooked to SmartGit. I absolutely love their branch and commit view and haven’t found another tool that visualizes the tree quite as good (for my taste; I assume it has to do with familiarization over time).

    I did however buy a lifetime license when they still offered them. Their current pricing model would have probably turned me off before I even got hooked. It is absolutely worth a look though.

  • narc0tic_bird@beehaw.org
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    I use a mix of CLI, the Git UI built into VSCode, and Sublime Merge.

    Sublime Merge is great for getting an overview, it’s very snappy (especially when compared to Electron Git UIs), and I love the merge conflict editor. It’s not cheap, but worth every penny.

  • priapus@lemmy.one
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    I use Lazygit, which is a TUI. It is entirely controlled by keyboard shortcuts and has a lot of quick ways to do tedious things.

    • Viktorian@beehaw.org
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      +1 for Lazygit. It doesn’t cover all of my needs so I have to use the CLI for a few small things, but for 99% of your typical git usage this tool is such a gift.

      • dmrzl@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        I’m curious: what’s missing for you?

        I needed a few smaller features (like rebasing onto any commit, not just HEAD) and found the code quite easy to adapt to my needs (had to take half a day to learn Go first though).

        A proper gerrit integration would be awesome though.

        What’s lacking for you and where did you end up tool-wise?

    • key@lemmy.keychat.org
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Gitkraken is great. Git is one of the few things I don’t like to CLI (largely because I hate git; hg for life) and Gitkraken is the most usable Linux GUIs I’ve tried. The big problem is the restriction on private repos they added a few versions back. I gave in and paid but I can see a lot of people not being willing to.

    • swhitt@beehaw.org
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      I used to swear by the git CLI. After using GitKraken for a few days, I shelled out the $95 for an annual license. It’s really good.

  • Orvanis@lemm.ee
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    TortoiseGit user here. Love that it integrates with Windows Explorer so I don’t have to constantly be opening an app first to fire off some Git commands.

  • kryostar@beehaw.org
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    My inbox got fediversized, fantastic feeling.

    Hey hey hey, I want that too!

    As for git, I just use the plugin on VS code. Nothing fancy. I didn’t even know there’s other options like GUI to be honest.

  • exu@feditown.com
    link
    fedilink
    arrow-up
    6
    ·
    1 year ago

    Magit with emacs (doom emacs to be fully honest). More a TUI, but definitely fully keyboard driven :)

    • dolle@feddit.dk
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      Same here. I don’t even use emacs for development anymore (I use IntelliJ since all my work is on the JVM and Typescript) but I still have an emacs running in the background for magit and org-mode. Magit is insanely effective for performing complex rebasing and cherry-picking tasks.

  • s_w@beehaw.org
    link
    fedilink
    arrow-up
    4
    ·
    1 year ago

    I use IntelliJ’s built-in git GUI.

    I don’t understand why people use command line only. Sure, learn the commands so if you need to use them you can, but most GUIs are far more feature rich than command line. With IntelliJ, I can easily view differences before committing, have it do code quality scans, automatically clean up any code it can, more easily choose which files I want to commit vs the typical ‘git add .’ I see most people do with command line, have separate changelists when pair programming, and much more.

    One argument that continually comes up is that command line is faster. I completely disagree. If I want to just commit the code without reviewing it, I can use 2 hot keys and the code is committed and pushed. But as I do a quick readthrough of all the code first and review issues from the code quality analysis it does take more time, but still less than it would to do comparable things with command line.

    • dbanty@beehaw.org
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      The IntelliJ merge UI is the only way I ever want to deal with merge conflicts. So much better than any of the alternatives I’ve tried!

    • pinkpatrol@anarch.is
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      I’m a heavy intellij user, but the git log UI always confuses me. When I open ‘git log’ via the action menu IntelliJ doesn’t focus my current branch. I am not sure if there’s some other menu I’m supposed to use to achieve that.

      I do use the commit local changes, pull changes, merge branches functionality a good bit. My only feedback there is that I haven’t found a way to quickly commit changes without running git hooks. Each time it requires me to open up the gear icon and deselect ‘git hooks’. This is slower than using the command line where I can write git commit --no-verify and repeat the same command again and again. I know it’s a niche need, but it’s necessary for testing a rather archaic system we maintain.

  • Nooch@beehaw.org
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    Github desktop is the only way I know how to clone my private repo. I do not understand how to clone my private repos through CLI.

      • MoonRocketeer@beehaw.org
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        I use Github Desktop but am looking to start moving toward CLI soon for this reason; though to be honest, I only know it’s not good practice and don’t know the reason why. What kind of issues can happen in a team environment using it?

        • variouslegumes@reddthat.com
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          The CLI and probably other more advanced guis are going to give you the option to:

          • bisect: very useful for debugging. Like definitely check it out.
          • rebase: excellent for clean commits. I use it all the time to squash commits together
          • diff arbitrary branches and commits. Super useful for debugging.
          • cherry pick: useful to apply a commit from a different branch or remote
          • Apply: I use it to pass around patches for things for testing / debugging.

          That’s just off the top of my head and also stuff that you can learn on the job. Good to know it exists though. I still use a “gui” (fugitive for vim) for simple tasks, like staging files 🙂

          • ascense@lemm.ee
            link
            fedilink
            arrow-up
            3
            ·
            edit-2
            1 year ago

            For me, I don’t think I could survive without git stash, I use it daily for various reasons (e.g. for validating a small bug fix, git stash & git stash pop lets me attempt to reproduce the issue both with and without a correction). The one downside with the CLI stash command is that it’s very easy to forget things in stash though, but I don’t think GUIs generally support stashing?

            Another one I find myself doing quite often is git checkout BRANCH – PATH, to pull specific versions of files between branches.

    • variouslegumes@reddthat.com
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Sad that I had to scroll so far to see Fugitive mentioned. It is so good it should be illegal. But seriously, if you’re a vim user you really should give it a shot. It’s a perfect blend of vim and shell. Also it’s developed by the legendary tpope, that oughta be enough of an argument to try it out.

  • abhibeckert@beehaw.org
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    I use various extensions for Visual Studio Code. They add a million features, but these are the ones I find most useful:

    I prefer to view the current status of my checkout in the sidebar of my code editor than on the command line.

    It’s easier to view a diff of a file and decide whether to stage or rollback changes in a GUI. With most GUIs you can even select individual lines of code and revert or stage them.

    I like how Commit and Push and Pull are a single “Commit & Sync” button in Visual Studio code. Similarly there’s a simple “Sync” button in the status bar.

    Speaking of the status bar - it also has a counter for commits that need to be pushed or pulled. And it tells you what branch you’re currently on. And whether you have uncommitted changes. Handy.

    I find the GUI equivalent of git log --graph is significantly easier to understand when the graph is drawn with nice vector lines instead of ASCII art.

    Finally - I don’t just use raw git, I also use extensions like pull requests, and I create branches for issue numbers. I have an extension that shows pull requests in Visual Studio Code and also shows issues assigned to me, with a one click “Start Working” button to create a branch named after the issue and change the issue status to In Progress. And when I’m finished working on it, there’s a button for that too.