STG-SQUASH(1)

✨ STG-SQUASH(1) ✨

okay so this is the StGit Manual page for stg-squash, and bestie, it's giving "let's smoosh some patches together" energy and honestly? iconic πŸ’…


🌸 NAME 🌸

stg-squash β€” squash two or more patches into one 🫢


πŸ¦‹ SYNOPSIS πŸ¦‹

stg squash [OPTIONS] <patch>...

πŸ’– DESCRIPTION πŸ’–

Squash two or more patches, creating one patch with their combined changes. fr fr, that's the whole vibe πŸ’«

The squash process, at a high level (ngl this is the tea β˜•):

  1. Pop all the given patches, plus any other patches on top of them. 🍾
  2. Push the given patches in the order they were given on the command line. This establishes a tree containing the combined changes from the given patches. 🌳
  3. Replace given patches with a new, squashed patch. ✨
  4. Allow the user to interactively edit the commit message of the new, squashed patch. ✍️
  5. Push other patches that were popped in step (1), if any. 🫑
⚠️ Conflicts can occur whenever a patch is pushed β€” that's steps (2) and (5), just so we're clear 😭 If conflicts occur, the squash command will halt such that the conflicts may be resolved manually. So like, no cap, you might have to go in there and fix things yourself πŸ’€

πŸŽ€ OPTIONS πŸŽ€

  • -n <name>, --name=<name> β€” Use <name> for the squashed patch. name it, bestie, you earned it πŸ‘‘
  • -e, --edit β€” Invoke editor for patch description 🧚
  • -d, --diff β€” Show diff when editing patch description. context is everything πŸ’…
  • -m <message>, --message=<message> β€” Use message instead of invoking the editor. skip the editor, main character move πŸš€
  • -f <path>, --file=<path> β€” Use the contents of file instead of invoking the editor. Use "-" to read from stdin. πŸ“
  • --no-verify β€” Disable commit-msg hook. living dangerously, love that for you πŸ™ˆ
  • -s[=<value>], --signoff[=<value>] β€” Add "Signed-off-by" message trailer.

The value is optional and defaults to the committer name and email. This option may be provided multiple times. ⭐

  • --ack[=<value>] β€” Add "Acked-by" message trailer.

The value is optional and defaults to the committer’s name and email. This option may be provided multiple times. 🫢

  • --review[=<value>] β€” Add "Reviewed-by" message trailer.

The value is optional and defaults to the committer’s name and email. This option may be provided multiple times. πŸ”₯

  • --author=<name-and-email> β€” Set the author "name <email>" ✍️
  • --authname=<name> β€” Set the author name 🌸
  • --authemail=<email> β€” Set the author email πŸ’Œ
  • --authdate=<date> β€” Set the date the patch was authored.

Use "now" to use the current time and date. ⏰

  • --committer-date-is-author-date β€” Instead of using the current time as the committer date, use the author date of the commit as the committer date. time travel but make it git πŸ•°οΈ
  • --save-template=<file> β€” Instead of running the command, just write the patch description to FILE, and exit. (If FILE is "-", write to stdout.)

When driving StGit from another program, it may be useful to first call a command with --save-template, then let the user edit the message, and then call the same command with --file. πŸ€–βž‘οΈβœοΈβž‘οΈβœ…


🌈 STGIT 🌈

Part of the StGit suite β€” see stg(1) πŸ’œ


πŸ¦‹ and that's the whole page bestie, go squash some patches, you've got this, iykyk πŸ’–βœ¨

laterz!! this masterpiece was served to you by StGit 2.7.0, dated 10/17/2026 πŸŽ€ periodt.

πŸ“¦ where this page comes from