今天知道问题的原因了,是因为 /usr/libexec/git-core/ 路径没在 PATH 环境变量中。
我们查看一下:
$ ls /usr/libexec/git-core/
git git-http-backend git-receive-pack
git-add git-http-fetch git-reflog
git-add--interactive git-http-push git-relink
git-am git-imap-send git-remote
git-annotate git-index-pack git-remote-ftp
git-apply git-init git-remote-ftps
git-archive git-init-db git-remote-http
git-bisect git-instaweb git-remote-https
git-bisect--helper git-log git-repack
git-blame git-lost-found git-replace
git-branch git-ls-files git-repo-config
git-bundle git-ls-remote git-request-pull
git-cat-file git-ls-tree git-rerere
git-check-attr git-mailinfo git-reset
git-checkout git-mailsplit git-revert
git-checkout-index git-merge git-rev-list
git-check-ref-format git-merge-base git-rev-parse
git-cherry git-merge-file git-rm
git-cherry-pick git-merge-index git-send-pack
git-clean git-merge-octopus git-shell
git-clone git-merge-one-file git-shortlog
git-commit git-merge-ours git-show
git-commit-tree git-merge-recursive git-show-branch
git-config git-merge-resolve git-show-index
git-count-objects git-merge-subtree git-show-ref
git-describe git-mergetool git-sh-setup
git-diff git-mergetool--lib git-stage
git-diff-files git-merge-tree git-stash
git-diff-index git-mktag git-status
git-difftool git-mktree git-stripspace
git-difftool--helper git-mv git-submodule
git-diff-tree git-name-rev git-symbolic-ref
git-fast-export git-notes git-tag
git-fast-import git-pack-objects git-tar-tree
git-fetch git-pack-redundant git-unpack-file
git-fetch-pack git-pack-refs git-unpack-objects
git-filter-branch git-parse-remote git-update-index
git-fmt-merge-msg git-patch-id git-update-ref
git-for-each-ref git-peek-remote git-update-server-info
git-format-patch git-prune git-upload-archive
git-fsck git-prune-packed git-upload-pack
git-fsck-objects git-pull git-var
git-gc git-push git-verify-pack
git-get-tar-commit-id git-quiltimport git-verify-tag
git-grep git-read-tree git-web--browse
git-hash-object git-rebase git-whatchanged
git-help git-rebase--interactive git-write-tree
这导致里面的 git-remote-https, git-remote-http 这些得不到执行。所以 git 所表现出来的功能不全。
解决办法是:将 /usr/libexec/git-core 纳入 PATH,至少在使用 git 之前,设置一下PATH。
$ PATH=$PATH:/usr/libexec/git-core
或直接在 /etc/profile 中修改。