• Mixel@feddit.org
      link
      fedilink
      English
      arrow-up
      66
      ·
      2 months ago

      I have heard things from another apprentice who just does not use version control at all and the only copies are on his laptop and on his desktop. He is also using node.js with only 1 class and doesn’t know about OOP (not sure if you even use that in js no clue 😅) and has one big file with 20k lines of code I have absolutely no clue how he navigates through it

      • e8d79@discuss.tchncs.de
        link
        fedilink
        arrow-up
        55
        ·
        2 months ago

        I know the type. Usually the kind of confident know-it-all who refuses to learn anything but delivers changes really quickly so management loves them. I had the misfortune to fix such a project after that ‘rock-star’ programmer left the company. Unfortunately the lack of professional standards in our industry allows people like that to continuously fail upwards. When I left the project they rehired them and let them design the v2 of the project we just fixed.

        • MajorHavoc@programming.dev
          link
          fedilink
          arrow-up
          13
          ·
          2 months ago

          When I left the project they rehired them and let them design the v2 of the project we just fixed.

          Lol. Wow.

          And that is why I’ve been unable to work myself out of a job in all my long years as a developer.

        • AlexWIWA@lemmy.ml
          link
          fedilink
          English
          arrow-up
          3
          ·
          2 months ago

          We really need some kind of board like the one that controls the title for engineers.

      • Blackmist@feddit.uk
        link
        fedilink
        English
        arrow-up
        11
        ·
        2 months ago

        Those are rookie numbers. I have at least a 35k one somewhere. More than one actually.

        People run their businesses on this.

        • fibojoly@sh.itjust.works
          link
          fedilink
          arrow-up
          4
          ·
          2 months ago

          I once landed a job at a small company doing a software for medical analysis labs all over the country. Software had been around for over ten years at this point. They had no source control. Nothing. Absolute nightmare.
          They were literally starting to use source control when I arrived.
          In 2015.

          • Blackmist@feddit.uk
            link
            fedilink
            English
            arrow-up
            5
            ·
            2 months ago

            The “source control” when I first started was all the code on a shared drive, to check out a file you copied it to your machine, and renamed the extension on the shared drive to your initials.

            When somebody edited without doing this there would be full blown meltdowns over lost work.

    • Maven (famous)@lemmy.zipOP
      link
      fedilink
      arrow-up
      6
      ·
      2 months ago

      This link was included in the post but I realize that “source” was probably not the best label for it. Updated to make it more clear.

  • AnAmericanPotato@programming.dev
    link
    fedilink
    English
    arrow-up
    97
    arrow-down
    4
    ·
    2 months ago

    I feel bad for this kid. That really is a bad warning dialog. Nowhere does it say it’s going to delete files. Anyone who thinks that’s good design needs a break.

    Half the replies are basically “This should be obvious if your past five years of life experience is similar to mine, and if it isn’t then get fucked.” Just adding insult to injury.

    • Omega_Jimes@lemmy.ca
      link
      fedilink
      arrow-up
      55
      arrow-down
      1
      ·
      2 months ago

      I’m not great at English, but “discard all changes” shouldn’t ever mean “Delete”.

      • Michal@programming.dev
        link
        fedilink
        arrow-up
        26
        arrow-down
        4
        ·
        2 months ago

        In the context of version control it does. Discarding a change that creates a file means deleting the file.

        • Omega_Jimes@lemmy.ca
          link
          fedilink
          arrow-up
          4
          arrow-down
          1
          ·
          2 months ago

          Ok fair enough, but I’m under the impression these files existed before the source control was implemented.

          I guess it’s all up to how the program handles existing files.

          • FiskFisk33@startrek.website
            link
            fedilink
            arrow-up
            4
            ·
            2 months ago

            I guess the newly created git repository was empty, and all the files that was present in the folder represented “changes”

    • cocobean@bookwormstory.social
      link
      fedilink
      English
      arrow-up
      29
      ·
      2 months ago

      Also, why not send them to the recycle bin? I never really thought about it before, but that does seem a reasonable UX improvement for this case

      • murtaza64@programming.dev
        link
        fedilink
        arrow-up
        4
        ·
        2 months ago

        I wonder if there’s already a git extension to automatically stash the working tree on every clean/reset/checkout operation…

    • JackbyDev@programming.dev
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 months ago

      It’s so fucking infuriating that so many devs act like this. “This should’ve been obvious!” Fuck off, that’s an unhelpful statement. “You should’ve been using version control! No backup, no sympathy!” Fuck off, they were literally trying to begin using version control for backups.

      Even half the comments on this very Lemmy thread are disparaging this dev. I wonder how many actually read the thread and found that there was a bug discovered causing this feature to delete files not even associated with git?

      But, congratulations to them, I suppose. Congratulations on making fun of someone. I hope it makes them feel powerful. 🙄 Devs can be so toxic.

    • kehet@sopuli.xyz
      link
      fedilink
      arrow-up
      4
      arrow-down
      1
      ·
      2 months ago

      Came here to say this. No one deserves this, not even new programmers who try to learn things.

      Some programming tools are really powerful compared to what new users are used to. If you come from the world of Microsoft Office and Apple whatever it’s called, everything is saved automatically to cloud and there is some local backup file somewhere which you can just restore. Modern programs are designed to protect users against their own mistakes, and when suddenly that is taken away, it can be a jarring experience.

    • Scary le Poo@beehaw.org
      link
      fedilink
      arrow-up
      1
      arrow-down
      4
      ·
      edit-2
      2 months ago

      If you’re going to use a git tool, you need to know how git works.

      There are 0 excuses for not having months of work in a repo, none. I have no sympathy whatsoever. How the fuck do you spend so many months without backing up your project or stuffing it in a repo?

      No sympathy. Dude is a shit developer and he learned an invaluable lesson.

      • AnAmericanPotato@programming.dev
        link
        fedilink
        English
        arrow-up
        7
        ·
        2 months ago

        My guess is that this is a teenager, and this is probably their first experience with git and version control in general. Just a hunch.

        Anyway, it is reasonable to expect a mainstream GUI app from one of the largest companies in the world to be approachable for people who do not know all the inner workings of the command line tools that are used behind the scenes. And it is reasonable to expect any destructive action to have clear and bold warnings. “Changes will be discarded” is not clear. What changes? From the user’s perspective, the only changes were regarding version control, so “discarding” that should leave them where they started — with their files intact but not in version control.

        Have mercy on the poor noobs. We were all there once.

      • JackbyDev@programming.dev
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 months ago

        If you’re going to use a git tool, you need to know how git works.

        I guarantee you at least half of git users would get glossy eyes as soon as you mention blobs and trees, yet they all still manage to use it daily successfully.

        There are 0 excuses for not having months of work in a repo, none. I have no sympathy whatsoever. How the fuck do you spend so many months without backing up your project or stuffing it in a repo?

        I need you to listen to me very carefully: THEY WERE FUCKING SETTING UP A REPO WHEN THIS HAPPENED.

        • Scary le Poo@beehaw.org
          link
          fedilink
          arrow-up
          1
          arrow-down
          1
          ·
          2 months ago

          No, by his own admission, he was playing around with the IDE. He wasn’t interested in the version control, he was interested in the pretty editor.

          I suggest you go read the original issue.

  • _____@lemm.ee
    link
    fedilink
    English
    arrow-up
    75
    ·
    2 months ago

    let’s turn this into a constructive angle for future devs and current juniors: just learn git cli, I promise you it is much simpler than it seems.

    all those memes about git having like a thousand commands are true, but you really will only use like 7 at most per month.

    learn push, pull, merge, squash, stash, reset, im probably missing like one or two

    I promise you again: it is much simpler than it seems. and you won’t have to use these stupid git GUI things, and it will save you a hassle because you will know what commands you are running and what they do

    short disclaimer: using git GUI is totally fine but low-key you are missing out on so much

    • Piatro@programming.dev
      link
      fedilink
      English
      arrow-up
      8
      ·
      2 months ago

      The main draw to the CLI for me is portability. I’ve been a dev for ten years now and used tons of different editors on different platforms and while each one had a different way to describe the changes, how to commit, or how to “sync” (shudder), the CLI hasn’t changed. I didn’t have to relearn a vital part of my workflow just because I wanted to try a different editor.

    • Cethin@lemmy.zip
      link
      fedilink
      English
      arrow-up
      5
      ·
      edit-2
      2 months ago

      Personally, I’m pretty good with the CLI version, but sometimes I just use the Code VC interface. For some tasks (basic commit, pull, push) it’s pretty fast. I don’t know if it’s faster than CLI, but I switch between them depending on what I’m doing at that moment. Code has a built in console, so using either is pretty seemless and easy. If you only use the GUI you won’t ever understand it though. I think everyone should start with CLI.

      Honestly, this is true for almost everything. GUIs obfiscate. They don’t help you learn, but try to take control away so you can’t mess up, and as an effect can’t do everything you may want.

    • CodeMonkey@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      2 months ago

      For me, it is easier to learn to use git via CLI instead of a UI. When I first started using git, I learned a few command/flag combinations that I use every day and I barely learned anything else about git after. Everything I don’t do regularly I don’t remember, but have written down in a text file of incantations. It is harder to write down what buttons and what menus I have to click.

  • unalivejoy@lemm.ee
    link
    fedilink
    English
    arrow-up
    47
    arrow-down
    5
    ·
    2 months ago

    Say you don’t know how to use git without saying you don’t know how to use git.

    • ChaoticNeutralCzech@feddit.org
      link
      fedilink
      English
      arrow-up
      24
      arrow-down
      5
      ·
      edit-2
      2 months ago

      That’s what happens when people stumble across that website called GitHub, get hooked and now have unrealistic expectations for the real git.

      “I just installed Git for Windows. Where is the drag-to-upload box?”

      — A statement dreamt up by the utterly deranged

      Real git involves a lot of sweat, requires you to clean up any mess you make, and communicate with any partners about their preferred techniques instead of rawdogging it and waiting for issues. The pushing and pulling will come naturally but you need to know how and when to release, and be clear about how you wish to commit. Nightly is an option but good luck getting everyone on board. People might judge you for using the word “master” but it should be alright in private.

      • 4am@lemm.ee
        link
        fedilink
        arrow-up
        6
        ·
        2 months ago

        involves a lot of sweat, requires you to clean up any mess you make, and communicate with any partners about their preferred techniques instead of rawdogging it and waiting for issues. The pushing and pulling will come naturally but you need to know how and when to release, and be clear about how you wish to commit. People might judge you for using the word “master” but it should be alright in private.

        Don’t talk about my mom that way

    • bjorney@lemmy.ca
      link
      fedilink
      arrow-up
      14
      arrow-down
      1
      ·
      2 months ago

      Git doesn’t automatically recursively add all files in the directory to the repository though - VSCode decided that should be the default behavior, while other editors (intellij) ask if you want to add newly created files to version control

      • hex@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        2 months ago

        I just hate the vscode source control. It has always felt clunky and like it breaks things (or i just never figured out the workflow - either way i dont need it lol) It is way clearer to see what is happening the console

      • ApexHunter@lemmy.ml
        link
        fedilink
        arrow-up
        1
        arrow-down
        4
        ·
        2 months ago

        That’s how git works. Every file and subfolder under the repo’s root folder belongs to the repo.

    • Kaeru@slrpnk.net
      link
      fedilink
      English
      arrow-up
      7
      ·
      2 months ago

      Alright you convinced me its time to pick up this skill. How does one best learn git? Just play around with it and break things?

      • LordPassionFruit@lemm.ee
        link
        fedilink
        arrow-up
        5
        ·
        2 months ago

        That’s basically how I did it.

        To properly learn it using this method, create a directory that contains only text files and sub directories and treat it like a real project. Add files, delete them, play around with updating the repository. Try and go back a few updates and see how the things react. Since it’s not a real project there’s no risk of loss, but you’ll still get to see the effects of what you do.

      • Reil@beehaw.org
        link
        fedilink
        English
        arrow-up
        3
        ·
        2 months ago

        Yeah, those are novice numbers. I have infinite backups of my 0 files!

      • Vanshaj@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        2 months ago

        I once lost three hours of work early on during my learning, not much that I lost but it was a moment when I learnt a lesson. Never lost work after that ever.

    • JackbyDev@programming.dev
      link
      fedilink
      English
      arrow-up
      5
      ·
      2 months ago

      And they were trying to correct their priorities by looking into the source control features, so I don’t see how that’s anything other than victim blaming for them not doing it sooner.

      • MystikIncarnate@lemmy.ca
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        2
        ·
        2 months ago

        I would argue that it’s common sense to at least make a point in time copy, to… IDK, a USB drive? Before trying to implement a new source/control system.

        Just plug in an external drive, or a thumb drive, copy/paste, unplug it, then proceed with testing.

        I don’t see how anyone who values their time and effort could do any less.

        As for the files, undelete is a thing, and it shouldn’t be hard to do.

  • onlinepersona@programming.dev
    link
    fedilink
    English
    arrow-up
    42
    arrow-down
    11
    ·
    2 months ago

    The reactions here are why people don’t join forums, don’t ask questions, or choose to learn alone. “duh, I knew that”. Yes, the dude didn’t, which is exactly why he’s frustrated. I think too many have forgotten what it’s like to be a beginner and make a fatal mistake, which would explain the mocking responses here and things like recommending new linux users Arch.

    Anti Commercial-AI license

    • Zagorath@aussie.zone
      link
      fedilink
      English
      arrow-up
      27
      arrow-down
      3
      ·
      2 months ago

      I understand the impulse to be empathetic and kind. But it’s very hard to respond in good faith to someone who just made a post where more than half the words are “fuck you”.

    • CosmicTurtle0@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      11
      arrow-down
      7
      ·
      2 months ago

      There is a difference between someone who is new and experiences something like their IDE deletes a file that was unexpected and asking a question about why it did that.

      Then there are arrogant assholes who believe their shit doesn’t stink and that they couldn’t have done anything wrong and it was the IDE’s fault for not knowing what they wanted to do versus what they commanded it to do.

      The OP is the latter.

      • rothaine@lemm.ee
        link
        fedilink
        arrow-up
        15
        ·
        2 months ago

        I mean, not entirely, and he says he lost months worth of work. Like imagine you know nothing of git:

        • Click buttons in the IDE to add source control.

        • IDE says a bunch of files have been changed.

        • But I don’t want to make changes to the files, I want to source control them.

        • Attempt to undo the changes. Click “discard changes” thinking it will put them back to how they were before clicking add source control. Get a warning dialog that this is not undoable, but that’s fine because I don’t want whatever changes it made to my files anyway.

        • All files are deleted and unrecoverable.

        Like that experience sucks balls and it’s reasonable that a person wouldn’t expect “discard” == “delete”. Also, from reading the GitHub thread, apparently at that time VSCode was doing a git clean when you clicked this. Which like…yeah why the hell would it do that lol? I don’t think I have ever used git clean in my entire career.

        • Scary le Poo@beehaw.org
          link
          fedilink
          arrow-up
          1
          ·
          2 months ago

          Months worth of work. Going an entire day without committing should never happen. Also, rawdogging it without a backup?

          Nope, dude learned a hard lesson. No sympathy. He thought that the rules of data storage don’t apply to him and he got boned.

          • rothaine@lemm.ee
            link
            fedilink
            arrow-up
            2
            ·
            2 months ago

            He did learn a hard lesson, but it sounds like this was exactly what he was attempting to rectify. “This project is pretty important to me. I should probably figure out how to use source control and put it on GitHub” but then by doing so, and due to some arguably poor UX decisions in VSC, destroyed the project.

            If someone’s trying to learn how to do something you can’t just be like “well you should’ve already known how”, you know what I mean?

            Well actually, let’s qualify that: there are cases where people try to jump right in the deep end. “I’m just learning woodworking! Step 1: build a new deck for my house”, like yeah bro what are you doing, let’s start with a birdfeeder or something.

            But that’s not what happened here. He tried to use the built-in GUI, which many would assume would be easier to learn than jumping right to the CLI, and it burned him in a way he didn’t even realize was possible.

    • filcuk@lemmy.zip
      link
      fedilink
      arrow-up
      3
      ·
      2 months ago

      Like, damn son, at least make a daily archive of your project??
      You have to expect things to go wrong, otherwise you have no one but yourself to blame.

    • dosuser123456@lemmy.sdf.org
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      1 month ago

      80% of my used storage accross all my drives (theyre a lot of them) is backups 💀

      might be a little paranoid…? idk

    • BatmanAoD@programming.dev
      link
      fedilink
      arrow-up
      14
      arrow-down
      7
      ·
      2 months ago

      The user clicked an option to “discard” all changes. They then got a very clear pop-up saying that this is destructive and cannot be undone (there’s a screenshot in the thread).

      • Peer@discuss.tchncs.de
        link
        fedilink
        arrow-up
        19
        ·
        2 months ago

        I very much understand how one can think this would revert any changes done to files under version control but not delete the ones that are not. I believe this dialog has since been updated to explicitly state that fact.

        • BatmanAoD@programming.dev
          link
          fedilink
          arrow-up
          7
          ·
          2 months ago

          Yes, the dialog was changed, as part of this linked issue (and maybe again after that; this whole incident is very old). After reading some of the comments on that issue, I agree with the reasoning with some of the commenters that it would be less surprising for that menu option to behave like git reset --hard and not delete tracked files.

  • BougieBirdie@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    17
    arrow-down
    1
    ·
    2 months ago

    Often times, people learn that the stove is hot by touching it.

    It’s easier to blame the stove than the person who touched it. But if you laugh when you watch it happen, you’re probably not laughing at the stove.

  • Artyom@lemm.ee
    link
    fedilink
    arrow-up
    19
    arrow-down
    3
    ·
    2 months ago

    If you ever happen to have 5000 uncommitted files, you shouldn’t be asking yourself if you should commit more often. You should be asking yourself how many new repos you should be making.

    • JackbyDev@programming.dev
      link
      fedilink
      English
      arrow-up
      14
      arrow-down
      1
      ·
      2 months ago

      Go read the actual thread. There was a bug someone found that files you have in there that aren’t even associated with git still get deleted. I’m not entirely convinced this was the poster’s fault.

      • bitwolf@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        1
        ·
        2 months ago

        I did read the whole thread. I also referenced the resolution further down the comment thread.

        They’ve adjusted the error message to be abundantly clear after the fact.

  • MystikIncarnate@lemmy.ca
    link
    fedilink
    English
    arrow-up
    16
    arrow-down
    2
    ·
    2 months ago

    While I have some sympathy for anyone who loses months of work, as an IT administrator by day, all I have to say about their lack of backups, and lack of RTFM before messing with shit is:

    HAHAHAHAHAHAHA HAHAHAHAHA. you got what you deserved fucker. GL.YF.

    • voldage@lemmy.world
      link
      fedilink
      arrow-up
      5
      arrow-down
      1
      ·
      2 months ago

      Yeah, it’s bad enough that it could happen, the fact they allowed that to happen so easily is far worse.