carloscuesta / gitmoji

An emoji guide for your commit messages. 😜
https://gitmoji.dev
MIT License
15.54k stars 802 forks source link

Secondary Gitmoji, or what to do with ðŸ’Ĩ #1425

Open TristanCottam opened 1 year ago

TristanCottam commented 1 year ago

The problem

Certain Gitmoji don't represent intentions themselves, but rather give additional context to the changes made (most notably 🚧, ðŸ’Đ, ðŸŧ, and ðŸ’Ĩ). Considering only the single most relevant Gitmoji should be included in a commit message, and intention is always more relevant than context, these would theoretically never be used.

Possible alternatives

Allowing the use of secondary Gitmoji in commits, through one way or another, would solve this problem, but such a feature is subject to discussion. However, expressing breaking changes separately from the intention is essential.

My opinion

Since breaking changes often deserve additional context, they could be expressed as a footer in the commit body, in the same way as Conventional Commits.

On a side note: the "Example of usage" (syntax specification) in README.md should include the (optional) commit body, as it is currently unclear the standard allows it.

Thanyanit-J commented 1 year ago

I used 🚧 when I'm about to take my day off, but my boss want to see my unfinished works. He wanted me to commit and push anyway so this emoji fit perfectly. Just make sure to remind myself to undo the commit.

But yeah, creating a new temporary branch works too, and probably better since if I accidentally include 🚧 (which I did two times), the git blame gonna looks so scary.

The commit "🚧 WIP: DO NOT MERGE" actually got merged lol. This would not happen if I created a new temporary branch.


For ðŸŧ and ðŸ’Đ, it's perfect for coding party, fun activity, or hackathon.

vhoyer commented 1 year ago

you have a good point @tristan-cottam, whenever I have to use the :boom: I usually drop any other "intention emojis", as I see the fact that something is a breaking change to be the most relevant fact of that commit, but I see you, I would be down to standardize treating BREAKING CHANGES as we do in conventional commits, seems a good solution.

Really the other three emojis haven't been removed probably due to emotional attachment to them, the one that I use the most is :construction: and I use it to fix things in previous commits, like, things that I forgot I wanted to include in a past commit, I add a :construction: then a message to remind me where I wanted to fixup that diff, and when I open the PR, I do a little git rebase in my branch to remove'em, but I digress.

connorjs commented 10 months ago

Regarding "secondary emoji" comment - I toss a second emoji at the end of my title when I feel a second applies.

That being said, my GitHub work seems to have second emojis in arbitrary positions, rather than last (which I believe I was more consistent with at work).

I use 🎉 for new projects in monorepo

connorjs commented 10 months ago

@tristan-cottam - is the (primary) goal of this discussion to (a) discuss removing the mentioned emojis, (b) formalize a secondary emoji, (c) formalizing gitmoji for parsing similar to conventional commits, or something else?

connorjs commented 10 months ago

Regarding 🚧 - I proposed using it in https://github.com/carloscuesta/gitmoji/issues/1300#issuecomment-1481504008, so removing 🚧 would get my vote for that ðŸĶī gitmoji (structure/skeleton).