• Rikudou_Sage
            link
            fedilink
            English
            11
            edit-2
            6 months ago

            Must be an interesting work if you never add, commit or push.

            Edit: How the hell did you get the repo without clone?

            • @[email protected]
              link
              fedilink
              116 months ago

              Pshaw, real programmers write out the contents of .git by hand.

              (Also, it was a joke, the last two commands I listed are ones you’ll ideally never need in your life)

              • @[email protected]
                link
                fedilink
                36 months ago

                I was scared of reflog too. Had to use it for the first time recently after I accidentally’d a branch that I hadn’t pushed to remote yet. I was so glad that I could recover it all in <5 commands.

          • @[email protected]
            link
            fedilink
            66 months ago

            reflog saved my life once after a stupid misshap.

            All rebase are belong to us (onto, rebase, and ofc interactive) but what’s fsck (I don’t squash personally)?

    • @[email protected]
      link
      fedilink
      English
      546 months ago

      Title text: If that doesn’t fix it, git.txt contains the phone number of a friend of mine who understands git. Just wait through a few minutes of ‘It’s really pretty simple, just think of branches as…’ and eventually you’ll learn the commands that will fix everything.

      • @popcar2
        link
        106 months ago
        • git pull

        • git add *

        • git commit -m “Some stuff”

        • git push

        And occasionally when you mess up

        • git reflog

        • git reset HEAD@{n} (where n is where you wanna roll back to)

        And occasionally if you mess up so hard you give up

        • git reset --hard origin/main

        And there you go. You are now a master at using git. Try not to mess up.

  • Shinji_Ikari [he/him]
    link
    fedilink
    English
    356 months ago

    I really never understood why one would need a GUI for git except for visualizing branches.

    I feel like I’m crazy seeing so many people using clicky buttons for tracking files. I need like 4 commands for 95% of what I do and the rest you look up.

    You’re already programming! Just learn the tool!

    And now there’s a github CLI tool? I hate to beat a dead horse but Microsoft pushing their extended version of an open source tool/protocol is literally the second step of their mantra.

    • @popcar2
      link
      English
      136 months ago

      FWIW not everyone using source control is a programmer. I’ve seen artists in game dev using GUI tools to pull new changes and push their assets.

      • Shinji_Ikari [he/him]
        link
        fedilink
        English
        46 months ago

        That’s fair, there’s plenty of uses for source control.

        I was speaking from a programming context though, as this is a programming community.

    • @[email protected]
      link
      fedilink
      136 months ago

      knowing how to program doesn’t mean u need to do things the hard way.

      heck the whole point of programming is to make things easier and faster.

    • Ethan
      link
      English
      56 months ago

      Do you use the command line for everything? Do you edit with vim, view diffs with git diff, browse the web with links or lynx?

      GUIs are useful tools. I’m happy with VSCode’s git integration. It’s just what I need for basic stuff like staging files and committing. I use the CLI whenever I want to do something like rebasing because I can type that command faster than I can figure out the GUI, but it would be stupid to artificially force myself to use the CLI for everything because of some kind of principal.

      • Shinji_Ikari [he/him]
        link
        fedilink
        English
        46 months ago

        Yeah I actually just prefer the command line, I’ve never had to force myself to use it. I even tried using VSC for a bit recently but i couldn’t get myself to like it. I just use nvim with some plugins in a tmux session now and its productive as hell.

        Of course I don’t browse the web with the command line. For merging branches, I always merge main into the working branch first, check conflict files, and go through the file finding the diffs and resolving them. I’ve used merge tools before that were sorta nice but I had my own issues with them.

        Maybe it’s the type of programming I do. I don’t do any web stuff, so file count is down. For larger code bases I keep a non editor terminal up and will grep -re for word/phrase searching, find to look for specific files, etc. I’ll occasionally use an IDE, typically eclipse based because embedded, but I don’t find myself missing the features they add.

        • Ethan
          link
          English
          26 months ago

          Of course I don’t browse the web with the command line.

          That’s my point. Browsing the web with a command line tool is obnoxious - you use a GUI for tasks that you find easier/more pleasant to do with a GUI. The difference is where that line is. When I’m reviewing what work I’ve done and checking through my code for debugging statements and other cruft I don’t want to push, I prefer to have a nice tree view of my change set where I can click on an item, see what I’ve changed, select lines and stage them, select other lines and revert them, etc. I could do all of that with command line tools (though not that many have mouse support) but I already know how to do exactly what I want with VSC so why would I use anything else?

          You’re already programming! Just learn the tool!

          If someone is incapable of learning the tool, that’s an issue if they’re a developer. But your statement implies that everyone should use the CLI for everything. My point is that it’s a matter of preference. The CLI is not superior and GUIs aren’t superior. They’re both just tools and if you can get your job done quickly and efficiently, that’s all that should matter.

          • @[email protected]
            link
            fedilink
            14 months ago

            The CLI is scriptable/automatable and unambiguous when sharing instructions with coworkers. Both of these things make it very useful to know the commands. I do agree that it helps in some situations to visualize what is going on with a GUI/TUI though (neogit for nvim or magit for emacs are great if anyone is wondering), it can make things clearer at a glance.

            • Ethan
              link
              English
              1
              edit-2
              3 months ago

              I agree that it is a very useful skill to know how to use the CLI. I agree that every senior developer should know how and every junior should be capable of learning. I vehemently disagree that developers should use the CLI as their regular means of interacting with Git if that is not their preference.

    • @[email protected]
      link
      fedilink
      56 months ago

      I primarily use GitHub CLI to interact with the GitHub API, not Git. I don’t really see it as an extension of the Git CLI, which I use much more frequently. Everything you can do with it can also be done through their REST API.

      I use it for things that aren’t really git features, like:

      Syncing repository admin, pull request, and branch control settings across multiple repositories

      Checking the status of self-hosted actions runners

      Creating pull requests, auto-approving them

    • @coloredgrayscale
      link
      26 months ago

      Checking the diff before commit, solve merge conflicts

      Also if it’s well integrated into the IDE it feels less like using a separate tool. For 95% of what I do the ide/gui feels better (fetch, pull, push, commit, checkout, merge). Usually just 2-4 clicks and no need to type the branch name (ticket number and then some)

      For Reflog, reset I use the terminal.

      If I had to start github desktop or another seperate gui I would use the terminal that’s integrated into the IDE.

    • @[email protected]
      link
      fedilink
      26 months ago

      Maybe not a GUI but using a TUI (lazygit) I am certain that I can do everything faster than you could ever do using the CLI. Tbf if a GUI Tool had the same shortcuts it would also be faster.

    • @[email protected]
      link
      fedilink
      English
      16 months ago

      I use LazyGit on the CLI for a “GUI-like” experience. I find it helps me make smaller more meaningful commits. If I’m working on a feature that enhances or fixes other modules in my repo to support, its trivial when done to make multiple clean commits out of the one feature that isolates the changes in functionality to individual commits instead of one medium commit.

      On a large enough repo (e.g., monorepo), its a pain to do using git commands.

  • @derpgon
    cake
    link
    346 months ago

    JetBrains IDEs, I don’t remember the last time I used the CLI.

    • @[email protected]
      link
      fedilink
      26 months ago

      I was looking for this comment. PHP storm and git are like best friends. I very very rarely need to resort to the CLI and generally that’s for hard resetting after I screw something up

    • @expr
      link
      -56 months ago

      Good luck doing anything remotely complicated/useful in git with an IDE. You get a small fraction of what git can do with a tool that allows absolutely 0 scripting and automation.

      • @[email protected]
        link
        fedilink
        146 months ago

        IDE git is less powerful than CLI git. However I’m pretty confident that most people use more features of git by using a GUI.

        CLI feature discoverability is pretty awful, you have to go out of your way and type git help to learn new commands.

        With a GUI though, all the buttons are there, you just have to click a new button that you’ve been seeing for a while and the GUI will guide you how to use it.

      • @derpgon
        cake
        link
        106 months ago

        It sounds like you don’t speak from experience. I have all the automation I need. It supports git hooks on top of IDE-only features like code checking.

        If I have to fire up my CLI for some mass history rewriting (like changing an author for every commit), or when the repo breaks - so be it. But by not using the CLI I save my fingers and sanity, because committing a bunch of files is several click away with little to no room for error.

        I can rebase, patch, drop, rename, merge, revert, cherry pick, and solve conflicts with a click of a button rather than remembering all the commands and whatnot.

      • @[email protected]
        link
        fedilink
        English
        36 months ago

        I use the cli, but my main goal is to never have to do anything remotely complicated with git. Does it happen sometimes? Of course.

      • muddi [he/him]
        link
        fedilink
        English
        2
        edit-2
        6 months ago

        There are automations. You can even add git hooks iirc. Mostly I find the lint and other code quality integrations nice to have in the IDE, since the inline results allow me to navigate directly to the code

        Diffing is a lot easier too

  • @[email protected]
    link
    fedilink
    English
    32
    edit-2
    6 months ago

    CLI
    Though I will admit it took me a while to get there
    git add -i is where the true magic begins

  • arthurpizza
    link
    fedilink
    English
    306 months ago

    Learning git will give you the tools to work on projects on any git platform. It doesn’t matter if I’m in Forgejo, Gitlab, or Github.

  • @[email protected]
    link
    fedilink
    236 months ago

    GitHub desktop Stan here. Been a software engineer for over a decade and still love my UI tools. GitHub desktop is good enough 99% of the time.

    • Aatube
      link
      fedilink
      126 months ago

      Any windows screenshots?

      (Fork is also an awful name in terms of searching for it btw)

      • katy ✨
        link
        fedilink
        46 months ago

        sadly no and i don’t think it works through wine

        but technically they have a mac client which is basically an expensive version of linux

      • @[email protected]
        link
        fedilink
        36 months ago

        I wish! The best Linux git gui I have found is SmartGit. I like it, but it’s just a little goofy and not free. Fork is better for its ability to very easily stage and/or stash a subset of the current changeset.

        Anyone got any suggestions? I tried git-cola and gitkraken. The former I found obtuse and limited, and the latter is not free in addition to somehow making git harder with a pretty gui.

        • Aatube
          link
          fedilink
          36 months ago

          Gitkraken is free as long as the repository is public, which seems like an alright compromise to me. The only problem I had with it was that it was electron. What did it make harder for you?

        • @[email protected]
          link
          fedilink
          English
          2
          edit-2
          6 months ago

          The best ones I have found for Linux are SmartGit and Sublime Merge, but neither are free in any sense. Sublime Merge is slightly cheaper. SmartGit offers a free “hobby license” but it limits which kinds of repos you can work with.

          Gitkraken looks like it might be good but I haven’t used it.

    • @[email protected]
      link
      fedilink
      36 months ago

      I hate coding on Windows, maybe I’ll check that out. (My only option is Windows for my work laptop because I need to use a few Windows-only softwares and IT says I’m not allowed to dual boot)

      • 🐍🩶🐢
        link
        fedilink
        English
        36 months ago

        Is running Linux off a USB drive possible? It isn’t ideal, but you can still have persistence if needed? There is also WSL, if you don’t need a GUI.

        • @[email protected]
          link
          fedilink
          16 months ago

          After the last windows update WSL gives me a BSoD every time 😭 Pretty sure IT wouldn’t appreciate me running Ubuntu off a USB drive but that’s a good idea.

    • @eluvatar
      link
      36 months ago

      Been using it for years it’s great

  • @[email protected]
    link
    fedilink
    166 months ago

    I’d love to like the desktop app, but I just don’t understand what it’s doing under the hood when I click a button. When I click an icon, is it syncing my changes up as it pulls down, it just pulling down? I guess point and click is more scary to me when prod is on the line.

        • @[email protected]
          link
          fedilink
          26 months ago

          Prod being on the line meant “I’m on main”.

          Yeah, I set up branch protection, but I hate the fact that some UIs are all “I know you just want to pull, but let’s push while we’re at it”.

    • KubeRoot
      link
      fedilink
      36 months ago

      If I may shill for a moment, that’s something I like about sublime merge - the buttons mostly map to git commands, and it has a nice log showing the commands it ran and their output.

    • @dukk
      link
      56 months ago

      Freaking love TUIs, it’s like they took the convenience of a GUI and the efficiency of the CLI and merged them. As a Neovim and Lazygit user myself it’s amazing what I can accomplish in but a few keypresses.

    • @Piatro
      link
      English
      16 months ago

      I think for most people it’s whatever you got used to first. I agree the hatred the GUIs get is overblown. I would always recommend people learn the command line but if you want to use a GUI, go for it, doesn’t affect me unless your commits are bad, in which case the CLI wouldn’t have helped anyway.

    • @[email protected]
      link
      fedilink
      16 months ago

      This is what I currently use, although I don’t really like the branch name color in last few versions, so kinda keep using the old version