GIT-FEATURE(1)

🌸 NAME 🌸

git-feature β€” this one lives in the Git Extras manual as GIT-FEATURE(1), and bestie, her whole job is right there in the title: Create/Merge feature branch πŸ’– No extra lore, that's the mission, and she ate.


πŸ¦‹ SYNOPSIS πŸ¦‹

Not me opening this section and it's literally empty πŸ™ˆ The page ships no synopsis line at all, so no cap β€” the actual shapes are hanging out down in DESCRIPTION and OPTIONS, and that's where you should look.


✨ DESCRIPTION ✨

Okay so here's the tea πŸ“ She creates or merges the feature branch you name, and the branch name isn't vibes-based β€” it's literally three pieces stitched together: the PREFIX, the SEPARATOR, and the NAME, joined as one.

The default PREFIX is feature and the default SEPARATOR is /. Both can be changed β€” the page says peek OPTIONS and GIT CONFIG for the details, and you know she wouldn't send you there for nothing πŸ’…

Now, the branch NAME? You can hand her multiple words and she'll join them with - πŸͺ„ Iconic behaviour.

⚠️ But listen, this part matters: if your branch name contains the word finish, or if it's another OPTION, you have to pass -- to stop OPTION parsing. Otherwise the shell is gonna read your branch name as flags and it's giving chaos 🫠 The EXAMPLES below go into it β€” don't skip them, iykyk.


πŸ’… OPTIONS πŸ’…

Quick heads up before the list: on the page, these options are just listed by name with no write-up under them 😭 so I'm keeping them exactly as they appear and not inventing behaviour, because we do not make stuff up about flags, periodt.

  • -a PREFIX, --alias PREFIX β€” takes a PREFIX. This is the crew the DESCRIPTION points you to when it says the default PREFIX can be changed ✨
  • -s SEPARATOR, --separator SEPARATOR β€” takes a SEPARATOR. Same situation: this is one of the spots where your SEPARATOR (default /) is set πŸŽ€
  • -r [REMOTE_NAME], --remote [REMOTE_NAME] β€” takes an optional REMOTE_NAME (see the square brackets, bestie πŸ¦‹), so you can pass it or not. The examples section mentions publishing a feature upstream, but the page doesn't spell this one out further, ngl.
  • --from START_POINT β€” takes a START_POINT. That's all the page gives us here πŸ‘‘
  • finish β€” not a dash-flag, she's a bare word command, and the page's own DESCRIPTION name-checks finish as one of those things you may need -- for when it shows up inside a branch name. Also, one of the examples is literally about finishing a feature πŸ’€
  • --squash β€” a flag, no argument. One of the examples is about finishing a feature with a --squash merge, so like… connect those dots yourself, bestie 🌈
  • NAME β€” this is your branch name, and per the DESCRIPTION it can be multiple words, which get joined with - πŸ’–

πŸŽ€ GIT CONFIG πŸŽ€

You can set your default branch prefix and separator with git config options, so you don't have to retype them every single time 🧚 That's the whole section, but it's a generous section.

  • git-extras.feature.prefix β€” your default branch prefix, configured here 🌸
  • git-extras.feature.separator β€” your default branch separator, configured here ⭐

πŸ”₯ EXAMPLES πŸ”₯

Real talk: the page lists these example headings but no command lines live under them, and I am not about to fabricate commands and hand them to you as fact πŸ™ˆ So here's every single example the page names, in order, untouched:

  • Start a new feature ✨
  • Finish a feature with --no-ff merge 🫢
  • Finish a feature with --squash merge πŸ’…
  • Publish a feature upstream πŸ¦‹
  • Use custom branch prefix πŸŽ€
  • Use custom branch separator 🌸
  • Use custom branch prefix and separator from git config with multiple words πŸ‘‘
  • Use a git-feature option or the finish command as part of a branch name πŸ’€

That last one is the -- situation from the DESCRIPTION, fr fr.


πŸ‘‘ AUTHOR πŸ‘‘

Written by JesΓΊs Espino <jespinog@gmail.com>

Modified by Mark Pitman <mark.pitman@gmail.com>

Modified by Carlos Prado <carlos.prado@cpradog.com>

Modified by Austin Ziegler <halostatue@gmail.com>

Four whole icons on one page, we love to see it πŸ’œ


😭 REPORTING BUGS 😭

Found a bug? Take it straight to:

<https://github.com/tj/git-extras/issues>

No side-quests, no DMs, the issue tracker is the main character here 🫢


🌈 SEE ALSO 🌈


Okay bestie, that's the whole page πŸ’– This was git-feature(1) from the Git Extras collection, dated May 2026 β€” go make a branch, go finish a branch, and remember: -- when the vibes get flaggy. Slay 🌟

πŸ“¦ where this page comes from