LinuxCommandLibrary

cola

There is no standard Linux command named cola

TLDR

View documentation for the original command

$ tldr git-cola
copy

SYNOPSIS

cola [options] [--] [paths...]
git cola [options] [--] [paths...]

PARAMETERS

-h, --help
    Show help message and exit.

--version
    Display version information.

--status
    Open the status view directly.

--diff
    Launch difftool for selected paths.

--stage
    Open staging view for paths.

--clone
    Clone a repository from URL.

--gui
    Alias for cola (main GUI).

--no-gui
    Run without GUI (CLI mode).

-s, --scale
    UI scaling factor (e.g., 1.5).

--theme
    Set UI theme (dark/light/etc.).


    Optional file/directory paths to operate on.

DESCRIPTION

git-cola, invoked as cola, is a polished, intuitive graphical user interface (GUI) for the Git version control system. Designed for both novice and expert users, it provides a streamlined way to manage repositories without relying solely on the command line.

Key features include a multi-window interface with dedicated views for staging changes (Stage view), reviewing diffs (Diff view), browsing commit history (History view), and repository status (Status view). Users can stage/unstage hunks or files with mouse clicks, amend commits, cherry-pick, rebase, and perform other advanced Git operations visually.

cola supports Git's core workflows like branching, merging, and remote operations. It integrates seamlessly with Git, using libgit2 or command-line Git under the hood, and offers customizable keyboard shortcuts mimicking Vim/Emacs styles. Cross-platform (Linux, macOS, Windows), it's written in Python with Qt for the UI, ensuring snappy performance.

Ideal for visual thinkers or those preferring mouse-driven interactions, cola reduces context-switching from terminal to GUI. It's lightweight, doesn't require a full IDE, and excels in side-by-side diffing with external tools.

CAVEATS

Requires Python 3 and PyQt5/PySide2; not installed by default on most distros. GUI-only by default—use terminal for scripting. Heavy on resources compared to CLI Git.

INSTALLATION

On Ubuntu/Debian: sudo apt install git-cola. Fedora: sudo dnf install git-cola. Or pip: pip install git-cola.

KEY FEATURES

Hunk-level staging, inline diffs, branch manager, configurable actions, and external mergetool integration.

HISTORY

Developed by David Aguilar starting in 2007 as a Python/Qt frontend for Git. Evolved from simple stash viewer to full-featured GUI. Active maintenance with releases syncing Git versions; v4.x supports modern Git features like sparse-checkout.

SEE ALSO

git(1), git-gui(1), tig(1), lazygit(1)

Copied to clipboard