I’m doing a solo coding project for work. It’s a tool that you interact with similar to npm or cargo, where you can create a new workspace, run / test etc. Importantly, you have to be in the working directory for the commands to work…

Yesterday I decided to go home early to do remote work at home. Before i left i quickly did git add ., committed and pushed. I turned on my computer this morning, ran git pull, and noticed that… only some files got pushed, but more importantly none of the code i wrote yesterday made it through. Yup, I was still cd’d into my workspace folder and not at the project root, so I only committed the mock workspace folder 😄

Luckily i didnt write or change much this time, but lesson learned: git add -A or git commit -am '...'

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

    When staging files to commit, you can use an interactive patch:

    git add -p

    Before you make your commit, you can inspect what’s being committed:

    git diff --cached

    If there are things you want to remove, you can do so with interactive patches, too:

    git reset -p

    You can also pass directories or files to any of these commands to include a subset of your project in the command.

    • @[email protected]OP
      link
      fedilink
      39 months ago

      omg these are great commands, thanks for sharing :)

      git is definitely a weak spot for me in general, there’s a lot of commands and similar commands, so my approach until now has been to forget they exist haha

      • @[email protected]
        link
        fedilink
        29 months ago

        You bet! You can always check the man pages by adding a hyphen between the git commands, too, like so:

        man git-diff

        man git-add

        It’s exhaustive, but you can search the page with slash (/) 👍

        • @[email protected]OP
          link
          fedilink
          29 months ago

          honestly, i check the manpages for anything else but i never have with git 🤣 however I didn’t know how to access the man pages for subcommands, thanks!! :)