Was digging through a project at work today where some guy in 2014 made 100+ commits in a single day and the only one that had a comment said “upgrading to v4.0”.

  • Double_A@discuss.tchncs.de
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    Like the default Merge messages that git creates.

    “Add some new feature” “Fix this and that” “Refactor XY code”

    Not “Adding”, “fixed”, “Refactors” or anything…

    • VanillaGorilla@kbin.social
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      I had one of those and it was two in the night and I was tired and forgot what I did and committed stuff, I dunno.

      But normally I’m a good boy and prefix with the ticked id and write down the change and attempted fix.

      • tvbusy@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        5
        ·
        1 year ago

        There are already some attempts but I don’t think it will work, harmful even. Best case scenario, the AI can understand the code as well as a senior engineer from another company. All they can know without the context is what was changed, which is useless. We need the reason why the commit was made, not what was changed. The info is not there in the first place for the AI to try to extract.

  • HairHeel@programming.dev
    link
    fedilink
    arrow-up
    13
    ·
    1 year ago

    You get two options.

    Normally it’s a squashed commit of everything in a feature, with a commit message like:

    [JIRA-1234] - Descriptive but Concise Name of Feature
    

    But every now and then it’s multiple commits like:

    quick fix
    Ugh, fix typo
    fuck fuck why doesn’t it work
    Oh, I’m stupid
    
  • f314@lemm.ee
    link
    fedilink
    arrow-up
    12
    ·
    1 year ago

    Conventional commits all the way! Even if I don’t use the keywords (feat, fix, etc.) I always write the comment in imperative tense; the message should tell you what happens if you merge it.

    • hallettj@beehaw.org
      link
      fedilink
      arrow-up
      4
      ·
      edit-2
      1 year ago

      I totally agree.

      Right now I’m on a new project with a teammate who likes to rebase PR branches, and merge with merge commits to “record a clean history of development”. It’s not quite compatible with the atomic-change philosophy of conventional commits. I’m thinking about making a case to change style, but I’ve already failed to argue the problem of disruption when rebasing PR branches.

    • key@lemmy.keychat.org
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      That’s pretty neat. Is there a forked version that adds ticket number as a mandatory first class citizen? Cause that’d be darn near perfect.

  • noeontheend@beehaw.org
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    1 year ago

    My commits tend to be pretty verbose. Here’s an example log from one of my projects.

    I follow the standard imperative style for the commit title, and then I use the body to summarize any important internal changes, reflect on the overall project status (for example, what milestones this commit crosses or what other work it might enable or require), and state what I’m going to work on next. I’m sure some people find it too wordy, but I like having the commit history show lots of details about the overall status.

    Edit: I always have a descriptive summary, i.e., never one word commits or similar.

  • The Doctor@beehaw.org
    link
    fedilink
    arrow-up
    5
    ·
    1 year ago

    I try to follow the BLUF pattern: Bottom line up front. The first line is as short a description of the change (“Re-fixed a bug where a URL without a verb could crash the bot.”) with some detail following (“I thought I caught that a couple of years back…”)

    I try to save the detail for the code itself: Comments describe what I was thinking at the time for context, the code is the code. I don’t replicate the code comments in the commit message because having the same thing in two places means having to keep two things up to date, and that rarely goes well.

  • andrew@lemmy.stuart.fun
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    1 year ago

    When I eventually (usually) rebase, declarative statements of what the commit would accomplish if applied.

    When I am testing CICD or generally need to push more frequently for whatever reason, it’s humor and angst all the way.

    Ffffffuuuuuuuuu

    Pls, why

    Okay yeah that was important I guess.

    (⁠╯⁠°⁠□⁠°⁠)⁠╯⁠︵⁠ ⁠┻⁠━⁠┻

  • dark_stang@beehaw.org
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    They fluxuate wildly between short and informative messages like “fixed regex validation on property A” and “I fucking hate prettier” when the build pipeline fails because I had a line that was 2 characters too long.

    • Luvon@beehaw.org
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      On projects I setup I have prettier run as part of a commit hook. All files will be formatted at all times

  • raubarno@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    Looking at the log of my solo project, I could say the formula of my commit message is Verb the Subject, the Verb being Added/Tweaked/Removed, etc., and the subject of what is being changed. As I’m using git commit -m 'Message' GNU Bash every time (none of the clients tend to work well for me + git self-hosting practice over SSH), I just try to make one-liners and without entering an external editor.

    Although my professional experience is scarce. For most of the time, I’ve been creating but not maintaining my projects. My projects do not have a decent high-level structure, I do not test my codebase, I learn my code by heart and follow intuition. I tend to think in algorithms, rather than structural design patterns. Even for my newest project, the main.rs is bloated, the functions are not in the correct modules (a.k.a. files), the modules are improperly named. Alhough, I cannot believe in myself I am approaching 3.5K lines of code (separated over two repositories) but I can still navigate…

  • millie@beehaw.org
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    Literally about 90% of the commits I’ve pushed on my DayZ server’s configs and mod files are just marked ‘a’. The actual mod updates I almost never have made porch notes for. Trying to be a little more informative for my new D&D based Conan Exiles server.

    It still looks better than how I used to name things in flash.

  • saigot@lemmy.ca
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    I like my company’s style:

    For issues:

    <jira ticket> - [program][deliverable] did this to fix that

    Problem: symptoms of the problem that future devs can use to figure out its the same problem

    Root cause: why this is broken

    Solution: how I fixed it, including the scope

    Testing: what testing it has it gone through