You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5.5 KiB
5.5 KiB
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 flags 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 | ✔ | |
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 | ✔ | Calculates the merge-base only between two commits, and supports --independent and --is-ancestor modifiers; Does not support --fork-point nor --octopus modifiers. |
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:// | partial | Warning: this is not pure Golang. This shells out to the git binary. |
custom | ✔ | |
other features | ||
gitignore | ✔ | |
gitattributes | ✖ | |
index version | ||
packfile version | ||
push-certs | ✖ |