GL(1)

✨ GL(1) β€” like, the manual page, bestie ✨

okay so this is the manual page for gl from the General Commands Manual β€” a whole version control system sitting on top of Git, and I'm gonna walk you through every single bit of it. no skipping. grab a snack πŸ“


🌸 NAME 🌸

gl</purgle> β€” a version control system on top of Git. that's it, that's the vibe. it's giving "git but make it make sense" πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

okay bestie here's the whole menu, verbatim, don't touch anything:

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

like, look at it. so organized. main character energy fr fr πŸ‘‘


πŸ’– DESCRIPTION πŸ’–

so the gl utility is a version control system built on top of Git. that's the whole concept. it takes Git and wraps it in something your brain can actually hold onto 🫢

the gl utility accepts the following commands, and I'm listing all of them, no cap:

  • track β€” Start tracking changes to files. πŸŽ€
  • untrack β€” Stop tracking changes to files. bye bestie πŸ‘‹
  • 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. so you can be picky about it, lowkey iconic ✨
  • 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. we love a problem-solver πŸ’œ
  • 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 πŸ’…

these ones hit different β€” 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. (yes, if β€” they're optional bestie, no pressure)

  • 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.
⭐ heads up: that less detail is conditional. it only appends -r and -f if the pager being executed is actually less(1). iykyk.

πŸŽ€ 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. so like, if you already know your git config files, you already know these. periodt. πŸ’–


🌸 EXAMPLES 🌸

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

(not me sending you straight to the website 😭 that's the whole example section, bestie, go look at the real thing)


πŸ¦‹ DIAGNOSTICS πŸ¦‹

the gl utility exits 0 on success, and >0 if an error occurs. so like β€” zero is the slay outcome, anything above zero means something went sideways πŸ’€


πŸ‘‘ SEE ALSO πŸ‘‘

git(1)

that's the one and only. the origin story. 🫢


πŸ’œ AUTHORS πŸ’œ

Santiago Perez De Rosso ⟨sperezde@csail.mit.edu⟩

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


and that's the whole page bestie, you ate it, every flag, every default, every little ⟨ bracket, all of it, no cap ✨

Debian β€” November 13, 2016 β€” GL(1) πŸŽ€ that's the source, the version and the date, all wrapped up in a little bow. mwah πŸ’…

πŸ“¦ where this page comes from