112 lines
5.3 KiB
Markdown
112 lines
5.3 KiB
Markdown
|
Supported Capabilities
|
||
|
======================
|
||
|
|
||
|
Here is a non-comprehensive table of git commands and features whose equivalent
|
||
|
is supported by go-git.
|
||
|
|
||
|
| Feature | Status | Notes |
|
||
|
|---------------------------------------|--------|-------|
|
||
|
| **config** |
|
||
|
| config | ✔ | Reading and modifying per-repository configuration (`.git/config`) is supported. Global configuration (`$HOME/.gitconfig`) is not. |
|
||
|
| **getting and creating repositories** |
|
||
|
| init | ✔ | Plain init and `--bare` are supported. Flags `--template`, `--separate-git-dir` and `--shared` are not. |
|
||
|
| clone | ✔ | Plain clone and equivalents to `--progress`, `--single-branch`, `--depth`, `--origin`, `--recurse-submodules` are supported. Others are not. |
|
||
|
| **basic snapshotting** |
|
||
|
| add | ✔ | Plain add is supported. Any other flag aren't supported |
|
||
|
| status | ✔ |
|
||
|
| commit | ✔ |
|
||
|
| reset | ✔ |
|
||
|
| rm | ✔ |
|
||
|
| mv | ✔ |
|
||
|
| **branching and merging** |
|
||
|
| branch | ✔ |
|
||
|
| checkout | ✔ | Basic usages of checkout are supported. |
|
||
|
| merge | ✖ |
|
||
|
| mergetool | ✖ |
|
||
|
| stash | ✖ |
|
||
|
| tag | ✔ |
|
||
|
| **sharing and updating projects** |
|
||
|
| fetch | ✔ |
|
||
|
| pull | ✔ | Only supports merges where the merge can be resolved as a fast-forward. |
|
||
|
| push | ✔ |
|
||
|
| remote | ✔ |
|
||
|
| submodule | ✔ |
|
||
|
| **inspection and comparison** |
|
||
|
| show | ✔ |
|
||
|
| log | ✔ |
|
||
|
| shortlog | (see log) |
|
||
|
| describe | |
|
||
|
| **patching** |
|
||
|
| apply | ✖ |
|
||
|
| cherry-pick | ✖ |
|
||
|
| diff | ✔ | Patch object with UnifiedDiff output representation |
|
||
|
| rebase | ✖ |
|
||
|
| revert | ✖ |
|
||
|
| **debugging** |
|
||
|
| bisect | ✖ |
|
||
|
| blame | ✔ |
|
||
|
| grep | ✔ |
|
||
|
| **email** ||
|
||
|
| am | ✖ |
|
||
|
| apply | ✖ |
|
||
|
| format-patch | ✖ |
|
||
|
| send-email | ✖ |
|
||
|
| request-pull | ✖ |
|
||
|
| **external systems** |
|
||
|
| svn | ✖ |
|
||
|
| fast-import | ✖ |
|
||
|
| **administration** |
|
||
|
| clean | ✔ |
|
||
|
| gc | ✖ |
|
||
|
| fsck | ✖ |
|
||
|
| reflog | ✖ |
|
||
|
| filter-branch | ✖ |
|
||
|
| instaweb | ✖ |
|
||
|
| archive | ✖ |
|
||
|
| bundle | ✖ |
|
||
|
| prune | ✖ |
|
||
|
| repack | ✖ |
|
||
|
| **server admin** |
|
||
|
| daemon | |
|
||
|
| update-server-info | |
|
||
|
| **advanced** |
|
||
|
| notes | ✖ |
|
||
|
| replace | ✖ |
|
||
|
| worktree | ✖ |
|
||
|
| annotate | (see blame) |
|
||
|
| **gpg** |
|
||
|
| git-verify-commit | ✔ |
|
||
|
| git-verify-tag | ✔ |
|
||
|
| **plumbing commands** |
|
||
|
| cat-file | ✔ |
|
||
|
| check-ignore | |
|
||
|
| commit-tree | |
|
||
|
| count-objects | |
|
||
|
| diff-index | |
|
||
|
| for-each-ref | ✔ |
|
||
|
| hash-object | ✔ |
|
||
|
| ls-files | ✔ |
|
||
|
| merge-base | |
|
||
|
| read-tree | |
|
||
|
| rev-list | ✔ |
|
||
|
| rev-parse | |
|
||
|
| show-ref | ✔ |
|
||
|
| symbolic-ref | ✔ |
|
||
|
| update-index | |
|
||
|
| update-ref | |
|
||
|
| verify-pack | |
|
||
|
| write-tree | |
|
||
|
| **protocols** |
|
||
|
| http(s):// (dumb) | ✖ |
|
||
|
| http(s):// (smart) | ✔ |
|
||
|
| git:// | ✔ |
|
||
|
| ssh:// | ✔ |
|
||
|
| file:// | ✔ |
|
||
|
| custom | ✔ |
|
||
|
| **other features** |
|
||
|
| gitignore | ✔ |
|
||
|
| gitattributes | ✖ |
|
||
|
| index version | |
|
||
|
| packfile version | |
|
||
|
| push-certs | ✖ |
|