GIT-COLUMN(1)

πŸ’… git-column β€” bestie edition

okay so real talk, this is git-column from the git manual, and it's one of those lil utility pages that's lowkey iconic once you get it. Let's go 🫢


✨ NAME ✨

git-column β€” display data in columns


🌸 SYNOPSIS 🌸

git column [--command=<name>] [--[raw-]mode=<mode>] [--width=<width>]
             [--indent=<string>] [--nl=<string>] [--padding=<n>]

πŸ¦‹ DESCRIPTION πŸ¦‹

So what does this actually do? It takes the lines of its standard input and formats them into a table with multiple columns. Every single input line becomes one cell of that table. Simple, right? πŸ’–

The important lore here: it's used internally by other git commands to format their output into columns. So bestie, you're basically peeking behind the curtain rn πŸ‘‘


πŸŽ€ OPTIONS πŸŽ€

  • --command=<name> β€” looks up the layout mode by checking the config variables column.<name> and column.ui. iykyk πŸ’…
  • --mode=<mode> β€” you specify the layout mode directly. the option syntax for it lives in the column.ui config variable, documented over in git-config(1) ✨
  • --raw-mode=<n> β€” literally the same as --mode except you hand it the mode encoded as a number. this one's mainly for other commands that already parsed the layout mode themselves, so it's very much a backstage-pass situation πŸ™ˆ
  • --width=<width> β€” sets the terminal width. by default git column detects your terminal width, and if it can't manage that it falls back to 80. no cap, 80 is the safety net 🧚
  • --indent=<string> β€” the string that gets printed at the beginning of every line 🌸
  • --nl=<string> β€” the string printed at the end of every line, and yes that includes the newline character 😭
  • --padding=<N> β€” how many spaces go between columns. default is one space, humble but effective πŸŽ€

⭐ EXAMPLES ⭐

format data by columns

$ seq 1 24 | git column --mode=column --padding=5
1      4      7      10     13     16     19     22
2      5      8      11     14     17     20     23
3      6      9      12     15     18     21     24

format data by rows

$ seq 1 21 | git column --mode=row --padding=5
1      2      3      4      5      6      7
8      9      10     11     12     13     14
15     16     17     18     19     20     21

list some tags in a table with unequal column widths

$ git tag --list 'v2.4.*' --column=row,dense
v2.4.0  v2.4.0-rc0  v2.4.0-rc1  v2.4.0-rc2  v2.4.0-rc3
v2.4.1  v2.4.10     v2.4.11     v2.4.12     v2.4.2
v2.4.3  v2.4.4      v2.4.5      v2.4.6      v2.4.7
v2.4.8  v2.4.9

🌈 CONFIGURATION 🌈

okay so literally everything below this line in this section is selectively included from the git-config(1) documentation β€” the content is the same as what's found there, so it's a certified copy-paste moment, no cap πŸ’€

column.ui

Specifies whether supported commands should output in columns. This variable is a list of tokens separated by spaces or commas πŸ“

These options control when the feature should be enabled (and it defaults to never, so, like, don't expect columns unless you ask):

  • always β€” always show in columns πŸ‘‘
  • never β€” never show in columns πŸ™…
  • auto β€” show in columns if the output is to the terminal

These options control layout (defaults to column). Setting any of these implies always if none of always, never, or auto were specified πŸ‘€

  • column β€” fill columns before rows
  • row β€” fill rows before columns
  • plain β€” show in one column

Finally (yes there's more, stay with me πŸ’œ), these options can be combined with a layout option (and default to nodense):

  • dense β€” make unequal size columns to utilize more space πŸ”₯
  • nodense β€” make equal size columns

column.branch

Specify whether to output branch listing in git branch in columns. See column.ui for details 🌸

column.clean

Specify the layout when listing items in git clean -i, which always shows files and directories in columns. See column.ui for details ✨

column.status

Specify whether to output untracked files in git status in columns. See column.ui for details πŸ’…

column.tag

Specify whether to output tag listings in git tag in columns. See column.ui for details πŸŽ€


🧚 GIT 🧚

Part of the git(1) suite πŸ’–


fr fr that's the whole page. go forth and column-ify your output, bestie 🌟

sign-off szn: this beauty comes to you from Git 2.56.0, dated 2026-09-27 β€” and that's the vibe check, periodt πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from