git 错误: Unable to find remote helper for ‘https‘
这个问题之前在 《编译OpenWrt过程》 博文里提到过。当前没有彻底地解决,只是简单地将所有的URL中的 http, https 改成了 git。
今天知道问题的原因了,是因为 /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 中修改。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。