• calcopiritus@lemmy.world
    link
    fedilink
    arrow-up
    7
    ·
    1 个月前

    This user was not using git though, he was using vs code. That button doesn’t say “git reset” it says “discard all changes”. And btw, what it does is “git clean”, which is something that git can do.

    Just below the button there is a list of all the changes. In his case, there were 3000 changes of the type “file creation”. Discarding a file creation can only be made one way: deleting the file.

    Anyway, this user is presumably in his learning phase, I would not assume that he knows what git reset or git restore actually do.

    • Hawk@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 个月前

      In other IDEs this discards tracked changes, untracked files usually stay untouched.

      In my opinion, it’s a combination of user error and bad implementation here

    • thebestaquaman@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      1 个月前

      Fair enough, git clean does exist. However, if the button saying “discard all changes” is really a button that runs git clean, that’s just a plain terrible design choice. git clean is “delete all untracked files”, which is specifically not discarding changes, because there can be no changes to discard on an untracked file. Even talking about “changes” to an untracked file in VC context makes little sense, because the VC system doesn’t know anything about any changes to the file, only whether it exists or not.

      That’s not even mentioning the fact that the option to “git clean” shows up as one of the easily accessible options in relation to a staging process. Especially if you’re coming from the git CLI, you’re likely to associate “discard changes” with “git restore”.