Ответ 1
Как blue112 отметил, разделительная линия нечеткая. Самая первая страница документации, однако, имеет явный список (и как примечания RM ниже, одним из основных критериев является, по крайней мере, должна быть стабильность интерфейса, для которой некоторые номинально-фарфоровые команды имеют --porcelain
1 чтобы заставить более стабильную и/или более машиночитаемую вывод). Вы можете использовать их список или решить, что некоторые команды слишком высокого уровня для низкого уровня или слишком низкого уровня для высокого уровня. Например, вы можете не согласиться с тем, что git apply
является командой сантехника, но страница Git говорит, что это так. Или вы можете рассматривать такие вещи, как git fast-import
, чтобы быть тем, что вы использовали бы только внутри script.
Список ниже просто извлекается из документации, с описаниями и дополнительными классификациями, лишенными оставить только "фарфор" против "сантехники". (Подклассификации остаются видимыми как инверсии в алфавитном порядке сортировки. Я не создавал ссылки для каждой записи, так как это было бы значительно сложнее с уценкой StackOverflow - для этого требовалось простое <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 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
водопроводный
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
1 Казалось бы более логичным назвать этот --plumbing
, но как VonC отмечает в этом ответе на соответствующий вопрос, один вместо этого можно рассматривать это как запрос: "Я внедряю фарфор, поэтому, пожалуйста, дайте мне результат в сантехнике". Недостатком этого аргумента является то, что вы можете внедрять комплексную сантехнику и хотите использовать простую сантехнику для этого: теперь нет фарфора в поле зрения, и все же ваша сложная сантехника проходит --porcelain
до некоторой простой сантехники.