3 ms·
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 . && gi
by nomilk 4y ago
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-messages#setup 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.
- awestroke 4y agoYou and I have very different ideas of what makes a good commit message
- nomilk 4y agoI’m interested to hear more. Can you give an example or two.
- stocknoob 4y agoMy 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;
- nomilk 4y agoGPT 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.
- baq 4y agoSpot 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.)
- kimburgess 4y agohttps://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project#commit-guidelines https://git-scm.com/book/en/v2/Distributed-Git-Contributing-...
- zitsarethecure 4y agoSeems 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?
- nomilk 4y ago> 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/openai/how-to/chatgpt?pivots=programming-language-chat-completions https://learn.microsoft.com/en-us/azure/cognitive-services/o...