GL(1)

NAME
gl - a version control system on top of Git

SYNOPSIS
gl track file...
gl track -h

gl untrack file...
gl untrack -h

gl status path...
gl status -h

gl diff [-e file...] [-i file...] [-o file...]
gl diff -h

gl commit [-m message] [-p] [-e file...] [-i file...] [-o file...]
gl commit -h

gl branch [-r] [-v]
gl branch [-v] [-dp point] -c branch...
gl branch [-v] -d branch...
gl branch -sh commit_id
gl branch -su branch
gl branch -uu
gl branch -h

gl tag [-r]
gl tag [-ci commit_id] -c tag...
gl tag -d tag...
gl tag -h

gl checkout [-cp commit_id] files...
gl checkout -h

gl merge src
gl merge -a
gl merge -h

gl resolve file...
gl resolve -h

gl fuse [-ip commit_id] [-e commit_id...] [-o commit_id...] src
gl fuse -a
gl fuse -h

gl remote
gl remote -c remote remote_url
gl remote -d remote
gl remote -h

gl publish dst_branch
gl publish -h

gl switch [-mo] branch
gl switch -h

gl init [repo]
gl init -h

gl history [-c] [-v] [-b branch_name] [-l limit]
gl history -h

gl -h
gl --version

DESCRIPTION
The gl utility is a version control system built on top of Git.

The gl utility accepts the following commands:

track
    Start tracking changes to files.

untrack
    Stop tracking changes to files.

status
    Show the status of the repository.

diff
    Show the status of the repository.

commit
    Save changes to the local repository. By default all tracked modified files are committed. To customize the set of files to be committed use the only, exclude, and include flags.

    -m  Specify the commit message.

    -p, --partial
        Interactively select segments of files to commit.

branch
    List, create, edit, or delete branches.

    -c, --create
        Create the specified branch(es).

    -d, --delete
        Delete the specified branch(es).

    -dp, -divergent-point
        The commit from which to “branch out”.

    -sh, --set-head
        Set the head of the current branch.

    -su, --set-upstream
        Set the upstream branch of the current branch.

    -uu, --unset-upstream
        Unset the upstream branch of the current branch.

    -v  Be verbose, output the head of each branch.

tag List, create, or delete tags.

    -c, --create
        Create tag(s).

    -ci, --commit
        Specify the commit to tag.

    -d, --delete
        Delete tag(s).

    -r, --remote
        List remote tags in addition to local ones.

checkout
    Checkout the committed versions of the specified files.

    -cp, --commit-point
        The commit point to checkout the files as.

merge
    Merge the divergent changes of one branch onto another.

    -a  Abort the merge in progress.

resolve
    Mark files with conflicts as resolved.

fuse
    Fuse the divergent changes of a branch onto the current branch. By default all divergent changes from the given source branch are fused. To customize the set of commits to fuse use the only and exclude flags.

    -a, --abort
        Abort the fuse in progress.

    -ip, --insertion-point
        The divergent changes will be inserted after the specified commit.

remote
    List, create, edit, or delete remotes.

    -c, --create
        Create a remote.

    -d, --delete
        Delete a remote.

publish
    Publish commits upstream.

switch
    Switch branches.

    -mo, --move-over
        Move the uncommitted changes made to the current branch to the destination branch.

init
    Create an empty Gitless repository or create one from an existing remote repository.

history
    Show the commit history.

    -b, --branch
        The branch to show the history of.

    -c, --compact
        Output the history in a compact format.

    -l, --limit
        Limit the number of commits displayed.

    -v, --verbose
        Be verbose, output the diffs of the commits.

COMMON OPTIONS
The following options have a similar meaning for various commands:

-e, --exclude
    Exclude the specified files; the files must be tracked and modified.

-h, --help
    Display a help message.

-i, --include
    Include the specified files; the files must be untracked.

-o, --only
    Use only the specified files; the files must be tracked and modified.

ENVIRONMENT
The gl utility makes use of the following environment variables, if specified:

EDITOR
    Specify the editor to use for composing commit messages; default: “vim”.

PAGER
    Specify the pager to be used if the core.pager setting is not specified in the Git configuration; default: “less -r -f”. If the pager to be executed is actually less(1), the -r and -f flags are appended to its arguments.

FILES
The operation of the gl utility is influenced by the same configuration files that git(1) uses; see the “FILES” section of the git-config(1) documentation.

EXAMPLES
Please see the Gitless website at https://gitless.com/.

DIAGNOSTICS

SEE ALSO
git(1)

AUTHORS
Santiago Perez De Rosso <sperezde@csail.mit.edu>

This manual page was written for the Debian project by Peter Pentchev <roam@ringlet.net>