Scroll to navigation

GL(1) General Commands Manual GL(1)


gla version control system on top of Git


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


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

The gl utility accepts the following commands:

Start tracking changes to files.
Stop tracking changes to files.
Show the status of the repository.
Show the status of the repository.
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.
Specify the commit message.
, --partial
Interactively select segments of files to commit.
List, create, edit, or delete branches.
, --create
Create the specified branch(es).
, --delete
Delete the specified branch(es).
, -divergent-point
The commit from which to “branch out”.
, --set-head
Set the head of the current branch.
, --set-upstream
Set the upstream branch of the current branch.
, --unset-upstream
Unset the upstream branch of the current branch.
Be verbose, output the head of each branch.
List, create, or delete tags.
, --create
Create tag(s).
, --commit
Specify the commit to tag.
, --delete
Delete tag(s).
, --remote
List remote tags in addition to local ones.
Checkout the committed versions of the specified files.
, --commit-point
The commit point to checkout the files as.
Merge the divergent changes of one branch onto another.
Abort the merge in progress.
Mark files with conflicts as resolved.
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.
, --abort
Abort the fuse in progress.
, --insertion-point
The divergent changes will be inserted after the specified commit.
List, create, edit, or delete remotes.
, --create
Create a remote.
, --delete
Delete a remote.
Publish commits upstream.
Switch branches.
, --move-over
Move the uncommitted changes made to the current branch to the destination branch.
Create an empty Gitless repository or create one from an existing remote repository.
Show the commit history.
, --branch
The branch to show the history of.
, --compact
Output the history in a compact format.
, --limit
Limit the number of commits displayed.
, --verbose
Be verbose, output the diffs of the commits.


The following options have a similar meaning for various commands:

, --exclude
Exclude the specified files; the files must be tracked and modified.
, --help
Display a help message.
, --include
Include the specified files; the files must be untracked.
, --only
Use only the specified files; the files must be tracked and modified.


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

Specify the editor to use for composing commit messages; default: “vim”.
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.


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.


Please see the Gitless website at


The gl utility exits 0 on success, and >0 if an error occurs.




Santiago Perez De Rosso ⟨⟩

This manual page was written for the Debian project by
Peter Pentchev ⟨⟩

November 13, 2016 Debian