Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

agnos.is Forums

  1. Home
  2. Programmer Humor
  3. Git Commit Message

Git Commit Message

Scheduled Pinned Locked Moved Programmer Humor
programmerhumor
57 Posts 36 Posters 248 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R [email protected]
    This post did not contain any content.
    M This user is from outside of this forum
    M This user is from outside of this forum
    [email protected]
    wrote on last edited by [email protected]
    #48

    For complex changes go with "self-explanatory" just to fuck with peoples' confidence

    1 Reply Last reply
    0
    • R [email protected]
      This post did not contain any content.
      J This user is from outside of this forum
      J This user is from outside of this forum
      [email protected]
      wrote on last edited by [email protected]
      #49

      I've worked with a few people who are just incomprehensible. One refuses to write commit messages of any detail. Just "work in progress". Cast him into the pit.

      There was another guy that refused to name his tests. His code was like

      describe(''. () => {
        it('', () => {
           expect(someFunc()).toEqual(0);
        }
       it('', () => {
          expect(someFunc(1)).toEqual(0);
        }
       it('', () => {
         expect(someFunc("").toEqual(1);
       }
      }
      

      He was like, "Test names are like comments and they turn into lies! So I'm not going to do it."

      I was like, a. what the fuck. b. do you also not name your files? projects? children?

      He was working at a very big company last I heard.

      edit: If you're unfamiliar, the convention is to put a human readable description where those empty strings are. This is used in the test output. If one fails, it'll typically tell include the name in the output.

      merc@sh.itjust.worksM 1 Reply Last reply
      1
      • R [email protected]
        This post did not contain any content.
        H This user is from outside of this forum
        H This user is from outside of this forum
        [email protected]
        wrote on last edited by
        #50

        git commit -m "Boss makes a dollar, I make a dime so I comment meaningful on company time"

        1 Reply Last reply
        1
        • G [email protected]

          I don't even waste my time anymore frankly. people just do a git add . and git commit -m "did some stuff".

          sorry, I've just worked with a lot of shitbag devs that honestly think of git as a flat filesystem that can't even properly branch or merge.

          personally, I still put in clear commits and even do patch level adds. from what I have experienced though, using AI to generate those commit messages based on actual changes would be a godsend compared to the fuckery I've had to deal with.

          S This user is from outside of this forum
          S This user is from outside of this forum
          [email protected]
          wrote on last edited by
          #51

          To this I completely agree, a lot of people don't want to use the tools for the benefit of the future colleagues or even self

          1 Reply Last reply
          2
          • R [email protected]

            At the very least, please state which section you made small changes to, even if you are sure it's not worth mentioning what or why.

            merc@sh.itjust.worksM This user is from outside of this forum
            merc@sh.itjust.worksM This user is from outside of this forum
            [email protected]
            wrote on last edited by
            #52

            Also, what were you hoping to accomplish? At a minimum, are you fixing a bug? Adding a feature? Cleaning up ugly code? Trying to improve performance? Adding comments to something that wasn't obvious?

            Did you change an interface that other people use in a way that might break something? Even if it's fixing a bug, is that a bug that other people might have been relying on?

            I think the most problematic changes are the little fixes, because often the CL goes from something that looks like it should work, to something else that also looks like it should work. It's very helpful when the commit message describes how it was broken. Otherwise, if you have to roll back the changes you don't know what might get broken again.

            1 Reply Last reply
            1
            • P [email protected]

              Love it.

              While folks are thinking about git commit messages I will offer this.

              https://cbea.ms/git-commit/

              My only criticism of the essay is that the most important bit is listed at number 7.

              merc@sh.itjust.worksM This user is from outside of this forum
              merc@sh.itjust.worksM This user is from outside of this forum
              [email protected]
              wrote on last edited by
              #53

              See also semantic commit messages where you tag every commit with the type of commit: feature, fix, docs, refactor, test, etc.

              My only beef with it is that they chose "feat" as a way to shorten the word "feature" when "feat" is already a word that means something different. Not every feature is a feat, and a lot of the biggest feats are actually bug fixes.

              P 1 Reply Last reply
              1
              • J [email protected]

                I've worked with a few people who are just incomprehensible. One refuses to write commit messages of any detail. Just "work in progress". Cast him into the pit.

                There was another guy that refused to name his tests. His code was like

                describe(''. () => {
                  it('', () => {
                     expect(someFunc()).toEqual(0);
                  }
                 it('', () => {
                    expect(someFunc(1)).toEqual(0);
                  }
                 it('', () => {
                   expect(someFunc("").toEqual(1);
                 }
                }
                

                He was like, "Test names are like comments and they turn into lies! So I'm not going to do it."

                I was like, a. what the fuck. b. do you also not name your files? projects? children?

                He was working at a very big company last I heard.

                edit: If you're unfamiliar, the convention is to put a human readable description where those empty strings are. This is used in the test output. If one fails, it'll typically tell include the name in the output.

                merc@sh.itjust.worksM This user is from outside of this forum
                merc@sh.itjust.worksM This user is from outside of this forum
                [email protected]
                wrote on last edited by
                #54

                I get the hesitation that things can turn into lies, but that's a sign that you're doing things wrong. That also tends to happen to comments that are far away from the relevant code, like the documentation of a 100 line function. The function can change while the comment is no longer visible on the screen, so it's easy to forget to also fix the comment.

                But test strings like that are designed to avoid that problem. They're right there next to your tests for a reason. You should always be right next to them when you're changing the test.

                Fundamentally, this is something that has to be addressed with code reviews. If someone can commit their changes to a group repository without anybody else seeing them, you're going to get stuff like this. As soon as you get decent code reviews, you can just reject a change where there are tests without documentation, the same way you can reject a change to a test where the documentation is now out of date.

                J 1 Reply Last reply
                0
                • merc@sh.itjust.worksM [email protected]

                  I get the hesitation that things can turn into lies, but that's a sign that you're doing things wrong. That also tends to happen to comments that are far away from the relevant code, like the documentation of a 100 line function. The function can change while the comment is no longer visible on the screen, so it's easy to forget to also fix the comment.

                  But test strings like that are designed to avoid that problem. They're right there next to your tests for a reason. You should always be right next to them when you're changing the test.

                  Fundamentally, this is something that has to be addressed with code reviews. If someone can commit their changes to a group repository without anybody else seeing them, you're going to get stuff like this. As soon as you get decent code reviews, you can just reject a change where there are tests without documentation, the same way you can reject a change to a test where the documentation is now out of date.

                  J This user is from outside of this forum
                  J This user is from outside of this forum
                  [email protected]
                  wrote on last edited by
                  #55

                  Code reviews are important. Unfortunately, no-test-text guy convinced his whole team that he was right, and I wasn't able to block it. I'd scheduled a meeting to try to get the wider org to adopt a more sensible standard, but then there was a mass layoff 🤷

                  The other guy with the bad messages is at a tiny startup where they've laid off almost everyone, and the other 2 guys don't want to make waves. The CEO is big on "just ship it" (and also "why are there bugs in production? this is unacceptable!!")

                  1 Reply Last reply
                  1
                  • merc@sh.itjust.worksM [email protected]

                    See also semantic commit messages where you tag every commit with the type of commit: feature, fix, docs, refactor, test, etc.

                    My only beef with it is that they chose "feat" as a way to shorten the word "feature" when "feat" is already a word that means something different. Not every feature is a feat, and a lot of the biggest feats are actually bug fixes.

                    P This user is from outside of this forum
                    P This user is from outside of this forum
                    [email protected]
                    wrote on last edited by
                    #56

                    I’ve seen semantic commits done with emojis which is cute but also annoying, because they’re not as easy to type or grep for.

                    Semantic commits can be nice, but they can also invite bikeshedding about what’s a “feature” and what’s a “bug fix”, etc.

                    Not saying they aren’t nice, and if folks are using them and liking them, keep going. But if you haven’t used them before on a team, then just be aware that’s a thing than can happen.

                    merc@sh.itjust.worksM 1 Reply Last reply
                    0
                    • P [email protected]

                      I’ve seen semantic commits done with emojis which is cute but also annoying, because they’re not as easy to type or grep for.

                      Semantic commits can be nice, but they can also invite bikeshedding about what’s a “feature” and what’s a “bug fix”, etc.

                      Not saying they aren’t nice, and if folks are using them and liking them, keep going. But if you haven’t used them before on a team, then just be aware that’s a thing than can happen.

                      merc@sh.itjust.worksM This user is from outside of this forum
                      merc@sh.itjust.worksM This user is from outside of this forum
                      [email protected]
                      wrote on last edited by
                      #57

                      I'd rather have bikeshedding over terminology that eventually results in a single word than just have free-form commits where you can never tell what the primary motivation between a commit is.

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups