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 variablescolumn.<name>andcolumn.ui. iykyk π--mode=<mode>β you specify the layout mode directly. the option syntax for it lives in thecolumn.uiconfig variable, documented over ingit-config(1)β¨--raw-mode=<n>β literally the same as--modeexcept 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 defaultgit columndetects your terminal width, and if it can't manage that it falls back to80. 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 rowsrowβ fill rows before columnsplainβ 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
- arch rolling: git 2.56.0-1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms