哪些是管道和瓷器命令? [英] Which are the plumbing and porcelain commands?
问题描述
我不是在问什么瓷器或管道是什么,但是根据命令,我怎么能说如果它是一个管道或一个porcelian之一。
作为 blue112指出,分界线是模糊的。 然而,第一个文档页面有一个明确的列表(和作为RM注释,一个主要标准是,或者至少应该是,界面的稳定性 - 一些名义上的瓷器命令具有 - 瓷器
1 强制更稳定和/或更机器可读的输出)。您可以选择使用他们的列表,或者决定某些命令的级别太高而不是低级,或者级别太低而不能达到高级别。例如,您可能不同意 git应用
是一个管道命令,但是Git页面显示它是。或者,您可能会考虑诸如 git fast-import
是您只能在脚本中使用的内容。
以下列表摘录自文件,说明和附加分类只留下瓷器与管道。 (子分类在字母排序顺序中依然可见,我没有为每个条目构建链接,因为使用StackOverflow markdown会更困难 - 这只需要一个简单的< pre> ...< / pre> ;包装。)
瓷器
git-add git-rebase git- cherry
git-am git-reset git-count-objects
git-archive git-revert git-difftool
git -bisect git -rm git-fsck
git-branch git -shortlog git-get-tar-commit-id
git-bundle git-show git-help
git-checkout git-stash git-instaweb
git-cherry-pick git-status git -merge-tree
git-citool git-submodule git -rerere
git-clean git-tag git-rev-parse
git-clone git-worktree git-show-branch
git-commit gitk git-verify-commit $ b $ git-describe git-config git-verify-tag
git-diff git-fast-export git- whatchanged
git-fetch git-fast-import gitweb
git-format-patch git-filter-branch git-archimport
git-gc git-mergetool git-cvsexportcommit
git- grep git-pack-refs git-cvsimport
git-gui git-prune git-cvsserver
git-init git-reflog git-imap-send
git-log git-relink git-p4
git-merge git-remote git-quiltimport
git-mv git-repack git-request-pull
git-notes git-replace git-send-email
git-pull git-annotate git-svn
git-push git-blame
plumbing
git-应用git-for-each-ref git-receive-pack
git-checkout-index git-ls-files git-shell
git-commit-tree git-ls-remote git-upload-archive
git-hash-object git-ls-tree git-upload-pack
git-index-pack git-merge-base git-check-attr
git-merge-file git-name- rev git-check-ignore
git-merge-index git-pack-redundant git-check-mailmap
git-mktag git-rev-list git-check-ref-format
git- mktree git-show-index git-column
git-pack-objects git-show-ref git-credential
git-prune-packed git-unpack-file git-credential-cache
git -read-tree git-var git-credential-store
git-symbolic-ref git-verify-pack git -fmt-merge-msg
git -unpack-objects git-daemon git-interpret-trailers
git-update-index git-fetch-pack git-mailinfo
git-update-ref git-http-backend git-mailsplit
git-write-tree git-send-pack git-merge-one-file
git-cat-file git-update-server-info git-patch-id
git-diff-files git-http -fetch git-sh-i18n
git-diff-index git-http-push git-sh-setup
git-diff-tree git-parse-remote git-stripspace
1 调用似乎更符合逻辑 - 管道
,但作为 VonC在相关问题的回答中注释,可以查看此内容作为要求:我正在实施瓷器,请给我水暖式的输出。这个观点的缺陷是你可能正在实施复杂的管道工程,并且想用简单的管道来做到这一点:现在没有瓷器了,然而,你的复杂管道通过 - 瓷器
一些简单的管道。
In Git there is this distinction between plumbing and porcelain commands, but how can I say that a command is a plumbing one or a porcelain one? Which is the border line that makes me recognize the one from the other?
I'm not asking what porcelain or plumbing is, but how, given a command, can I say if it is a plumbing or or a porcelian one.
As blue112 noted, the dividing line is fuzzy. The very first documentation page, however, has an explicit list (and as R.M. notes below, one primary criterion is, or at least is supposed to be, stability of interface—for which some nominally-porcelain commands have --porcelain
1 to force a more stable and/or more machine-readable output). You can choose to use their list, or decide that some commands are too high level to be low level, or too low level to be high level. For instance you might disagree that git apply
is a plumbing command, yet the Git page says it is. Or, you might consider things like git fast-import
to be something you would only use inside a script.
The list below is simply extracted from the documentation, with descriptions and additional classifications stripped to leave only "porcelain" vs "plumbing". (Sub-classifications remain visible as inversions in the alphabetic sort order. I did not construct links for each entry, as this would be considerably more difficult with StackOverflow markdown—this just needed a simple <pre>...</pre> wrapper.)
porcelain
git-add git-rebase git-cherry git-am git-reset git-count-objects git-archive git-revert git-difftool git-bisect git-rm git-fsck git-branch git-shortlog git-get-tar-commit-id git-bundle git-show git-help git-checkout git-stash git-instaweb git-cherry-pick git-status git-merge-tree git-citool git-submodule git-rerere git-clean git-tag git-rev-parse git-clone git-worktree git-show-branch git-commit gitk git-verify-commit git-describe git-config git-verify-tag git-diff git-fast-export git-whatchanged git-fetch git-fast-import gitweb git-format-patch git-filter-branch git-archimport git-gc git-mergetool git-cvsexportcommit git-grep git-pack-refs git-cvsimport git-gui git-prune git-cvsserver git-init git-reflog git-imap-send git-log git-relink git-p4 git-merge git-remote git-quiltimport git-mv git-repack git-request-pull git-notes git-replace git-send-email git-pull git-annotate git-svn git-push git-blame
plumbing
git-apply git-for-each-ref git-receive-pack git-checkout-index git-ls-files git-shell git-commit-tree git-ls-remote git-upload-archive git-hash-object git-ls-tree git-upload-pack git-index-pack git-merge-base git-check-attr git-merge-file git-name-rev git-check-ignore git-merge-index git-pack-redundant git-check-mailmap git-mktag git-rev-list git-check-ref-format git-mktree git-show-index git-column git-pack-objects git-show-ref git-credential git-prune-packed git-unpack-file git-credential-cache git-read-tree git-var git-credential-store git-symbolic-ref git-verify-pack git-fmt-merge-msg git-unpack-objects git-daemon git-interpret-trailers git-update-index git-fetch-pack git-mailinfo git-update-ref git-http-backend git-mailsplit git-write-tree git-send-pack git-merge-one-file git-cat-file git-update-server-info git-patch-id git-diff-files git-http-fetch git-sh-i18n git-diff-index git-http-push git-sh-setup git-diff-tree git-parse-remote git-stripspace
1It would seem more logical to call this --plumbing
, but as VonC notes in this answer to a related question, one can view this instead as a request: "I am implementing porcelain so please give me plumbing-style output." The flaw in this argument is that you might be implementing complex plumbing, and want to use simple plumbing to do it: now there's no porcelain in sight, and yet, your complex plumbing passes --porcelain
to some simple plumbing.
这篇关于哪些是管道和瓷器命令?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!