carapace-bin
carapace-bin copied to clipboard
git
- [x] git root command
Main Porcelain Commands
- [x] add Add file contents to the index
- [x] am Apply a series of patches from a mailbox
- [x] archive Create an archive of files from a named tree
- [x] bisect Use binary search to find the commit that introduced a bug
- [x] branch List, create, or delete branches
- [x] bundle Move objects and refs by archive
- [x] checkout Switch branches or restore working tree files
- [x] cherry-pick Apply the changes introduced by some existing commits
- [x] citool Graphical alternative to git-commit
- [x] clean Remove untracked files from the working tree
- [x] clone Clone a repository into a new directory
- [x] commit Record changes to the repository
- [x] describe Give an object a human readable name based on an available ref
- [x] diff Show changes between commits, commit and working tree, etc
- [x] fetch Download objects and refs from another repository
- [x] format-patch Prepare patches for e-mail submission
- [x] gc Cleanup unnecessary files and optimize the local repository
- [x] grep Print lines matching a pattern
- [x] gui A portable graphical interface to Git
- [x] init Create an empty Git repository or reinitialize an existing one
- [x] log Show commit logs
- [x] maintenance Run tasks to optimize Git repository data
- [x] merge Join two or more development histories together
- [x] mv Move or rename a file, a directory, or a symlink
- [x] notes Add or inspect object notes
- [x] pull Fetch from and integrate with another repository or a local branch
- [x] push Update remote refs along with associated objects
- [x] range-diff Compare two commit ranges (e.g. two versions of a branch)
- [x] rebase Reapply commits on top of another base tip
- [x] reset Reset current HEAD to the specified state
- [x] restore Restore working tree files
- [x] revert Revert some existing commits
- [x] rm Remove files from the working tree and from the index
- [x] shortlog Summarize 'git log' output
- [x] show Show various types of objects
- [x] sparse-checkout Initialize and modify the sparse-checkout
- [x] stash Stash the changes in a dirty working directory away
- [x] status Show the working tree status
- [x] submodule Initialize, update or inspect submodules
- [x] switch Switch branches
- [x] tag Create, list, delete or verify a tag object signed with GPG
- [x] worktree Manage multiple working trees
Ancillary Commands / Manipulators
- [x] config Get and set repository or global options
- [x] fast-export Git data exporter
- [x] fast-import Backend for fast Git data importers
- [x] filter-branch Rewrite branches
- [x] mergetool Run merge conflict resolution tools to resolve merge conflicts
- [x] pack-refs Pack heads and tags for efficient repository access
- [x] prune Prune all unreachable objects from the object database
- [x] reflog Manage reflog information
- [x] remote Manage set of tracked repositories
- [x] repack Pack unpacked objects in a repository
- [x] replace Create, list, delete refs to replace objects
Ancillary Commands / Interrogators
- [x] annotate Annotate file lines with commit information
- [x] blame Show what revision and author last modified each line of a file
- [x] bugreport Collect information for user to file a bug report
- [x] count-objects Count unpacked number of objects and their disk consumption
- [x] difftool Show changes using common diff tools
- [x] fsck Verifies the connectivity and validity of the objects in the database
- [x] help Display help information about Git
- [x] instaweb Instantly browse your working repository in gitweb
- [x] merge-tree Show three-way merge without touching index
- [x] rerere Reuse recorded resolution of conflicted merges
- [x] show-branch Show branches and their commits
- [x] verify-commit Check the GPG signature of commits
- [x] verify-tag Check the GPG signature of tags
- [x] whatchanged Show logs with difference each commit introduces
Interacting with Others
- [x] archimport Import a GNU Arch repository into Git
- [x] cvsexportcommit Export a single commit to a CVS checkout
- [x] cvsimport Salvage your data out of another SCM people love to hate
- [x] cvsserver A CVS server emulator for Git
- [x] imap-send Send a collection of patches from stdin to an IMAP folder
- [ ] p4 Import from and submit to Perforce repositories
- [x] quiltimport Applies a quilt patchset onto the current branch
- [x] request-pull Generates a summary of pending changes
- [x] send-email Send a collection of patches as emails
- [ ] svn Bidirectional operation between a Subversion repository and Git
Low-level Commands / Manipulators
- [x] apply Apply a patch to files and/or to the index
- [x] checkout-index Copy files from the index to the working tree
- [x] commit-graph Write and verify Git commit-graph files
- [ ] commit-tree Create a new commit object
- [ ] hash-object Compute object ID and optionally creates a blob from a file
- [ ] index-pack Build pack index file for an existing packed archive
- [ ] merge-file Run a three-way file merge
- [ ] merge-index Run a merge for files needing merging
- [x] mktag Creates a tag object
- [ ] mktree Build a tree-object from ls-tree formatted text
- [ ] multi-pack-index Write and verify multi-pack-indexes
- [ ] pack-objects Create a packed archive of objects
- [ ] prune-packed Remove extra objects that are already in pack files
- [ ] read-tree Reads tree information into the index
- [ ] symbolic-ref Read, modify and delete symbolic refs
- [ ] unpack-objects Unpack objects from a packed archive
- [ ] update-index Register file contents in the working tree to the index
- [ ] update-ref Update the object name stored in a ref safely
- [x] write-tree Create a tree object from the current index
Low-level Commands / Interrogators
- [x] cat-file Provide content or type and size information for repository objects
- [x] cherry Find commits yet to be applied to upstream
- [ ] diff-files Compares files in the working tree and the index
- [ ] diff-index Compare a tree to the working tree or index
- [ ] diff-tree Compares the content and mode of blobs found via two tree objects
- [x] for-each-ref Output information on each ref
- [ ] get-tar-commit-id Extract commit ID from an archive created using git-archive
- [x] ls-files Show information about files in the index and the working tree
- [x] ls-remote List references in a remote repository
- [ ] ls-tree List the contents of a tree object
- [ ] merge-base Find as good common ancestors as possible for a merge
- [ ] name-rev Find symbolic names for given revs
- [ ] pack-redundant Find redundant pack files
- [ ] rev-list Lists commit objects in reverse chronological order
- [ ] rev-parse Pick out and massage parameters
- [ ] show-index Show packed archive index
- [ ] show-ref List references in a local repository
- [ ] unpack-file Creates a temporary file with a blob's contents
- [x] var Show a Git logical variable
- [ ] verify-pack Validate packed Git archive files
Low-level Commands / Syncing Repositories
- [x] daemon A really simple server for Git repositories
- [x] fetch-pack Receive missing objects from another repository
- [x] http-backend Server side implementation of Git over HTTP
- [ ] send-pack Push objects over Git protocol to another repository
- [x] update-server-info Update auxiliary info file to help dumb servers
Low-level Commands / Internal Helpers
- [x] check-attr Display gitattributes information
- [x] check-ignore Debug gitignore / exclude files
- [x] check-mailmap Show canonical names and email addresses of contacts
- [x] check-ref-format Ensures that a reference name is well formed
- [x] column Display data in columns
- [x] credential Retrieve and store user credentials
- [x] credential-cache Helper to temporarily store passwords in memory
- [x] credential-store Helper to store credentials on disk
- [x] fmt-merge-msg Produce a merge commit message
- [x] interpret-trailers Add or parse structured information in commit messages
- [x] mailinfo Extracts patch and authorship from a single e-mail message
- [x] mailsplit Simple UNIX mbox splitter program
- [x] merge-one-file The standard helper program to use with git-merge-index
- [x] patch-id Compute unique ID for a patch
- [x] stripspace Remove unnecessary whitespace
External commands
- [x] clang-format
some examples: https://github.com/fish-shell/fish-shell/blob/master/share/completions/git.fish
I've always found it strange that completions for git never seem to include ls-files
, at least the name of the command itself. It seems to me that of the low-level commands, that one actually shows up fairly frequently.
I'm assuming that "full" completion for ls-files
(i.e. for the subsequent arguments) would be somewhat tricky, but could completion for the string ls-files
itself be added trivially? I often second-guess myself when the command itself can't be auto-completed, so it would be nice to at least have that available.
@BatmanAoD It's just the generated one at the moment, but the subcommandls-files
and flags should be completed.
Haven't used it before myself but that one looks pretty simple to create completions for.
Just upgraded my installation; this seems to work! Thanks!