Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The past week I used GPT for about 80% of my commit messages. I put it in a terminal command so all I type is 'commit' and that's equivalent to: git add . && git commit -m "message" && git push.

The message is generated automatically via the GPT API.

I made it public in case anyone else wants to try/use/fork it:

https://github.com/stevecondylios/gpt-generated-commit-messa...

It's very convenient for README and docs changes; small changes whose commit message really doesn't matter, saving a bit of time and mental energy and allowing you to stay on task.



You and I have very different ideas of what makes a good commit message


I’m interested to hear more. Can you give an example or two.


My take: Messages like this...

> Updated Gemfile.lock and added new dependencies (coderay, concurrent-… …ruby, crass, date, pry, method_source, public_suffix, puma, nio4r) and updated existing dependencies (rack-test, regexp_parser, xpath, nokogiri, racc, pg). Also added new files for a user authentication feature.

Describe the "what" but not the "why". Even "user auth wip" would be helpful. It's like having autogenerated code comments like:

// initialize variable i for later use in a loop

int i = 3;


GPT can struggle to see the forest from the trees. For example, if generating a dozen or so files with `rails g scaffold post` a GPT-generated commit message may simply list all the individual items "Created new post views, new post controller, new post model.. etc" when "Generated a posts scaffold" would have been more general and useful message.

GPT sometimes 'sees' the bigger picture though, for example when I commit a new rails app, instead of listing the individual files, it instead generated: "Added all files for a new Rails application, including controllers, models, views, tests, and configuration files." It could have said "new rails app", but it wasn't too ineloquent.


Spot on. The coffee already says what. If it doesn’t, probably could use a refactor.

Code doesn’t say why, who and especially why not. (It sometimes may say when, but the important when is always yesterday anyway.)



Seems rather costly to do it this way. Why not just leave an effectively empty commit message and then use GPT to generate a summary based on the diff only when you need one?


> GPT 3.5 turbo engine is 1/5th of a cent per 1000 tokens

Diffs vary in length, small ones might be a few dozen words (tokens); large ones can be much more. GPT 3.5 Turbo's limit is 4096 tokens per question [1], meaning the most it can cost is 4/5ths of a cent per commit.

I average less than 10 commits per day, so if all my diffs are large, that will cost $0.08/day, or about $2.50/month.

[1] https://learn.microsoft.com/en-us/azure/cognitive-services/o...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: