Термин «фарфор» иногда появляется в документации Git. Что это значит?
git
terminology
Ян Хеттих
источник
источник
Что еще более важно, термин «фарфор» применяется к командам высокого уровня , с выводом:
Это ключевой момент: если вы пишете сценарий, вы должны использовать, если возможно, сантехнические команды со стабильными выходными данными. Не фарфоровые команды.
Однако вы можете использовать вывод команды фарфора, которая имеет
--porcelain
параметр в скрипте (см. Ниже), например:См. « Как программно определить, есть ли незафиксированные изменения? », Как пример использования сантехнических команд вместо фарфоровых.
Примечание: команда фарфора может иметь
--porcelain
опцию.Например:,
git status --porcelain
который обозначает вывод, предназначенный для анализа .В теме упомянутых выше деталей:
Это отражает необходимость для пользователей git использовать фарфоровые команды в своих скриптах!
Но только со стабильным выходом (с
--porcelain
)Как отметил по УИЛЬЯМ-айсберг , то же самое можно сказать
git push
!Как предлагает Джон Глассмайер в комментариях :
И это может быть поддержано самым первым случаем
--porcelain
введения « option»(до
git status --porcelain
, commit 6f15787, сентябрь 2009 г., git 1.7.0 ,до
git push --porcelain
, коммит 1965ff7, июнь 2009 г., git 1.6.4 ):git blame --porcelain
:Commit b5c698d, октябрь 2006 г., git 1.4.4
источник
git push
имеет аналогично аномальный машиночитаемый--porcelain
.--porcelain
здесь - «производить продукцию, пригодную для потребления фарфоровыми сценариями».git diff-tree --word-diff=porcelain
Чеканка и использование термина «фарфор» в git были на самом деле Майком Тахтом, в то время как в противном случае он проиграл горячую ссору с Линусом Торвальдсом.
http://www.gelato.unsw.edu.au/archives/git/0504/0881.html
источник
- Фарфор , Git Wiki
источник
Фарфоровые команды предназначены для потребления человеком, в отличие от команд, вывод которых легко анализировать на компьютерах.
git status
был бы один пример.источник
--porcelain
опцию, они предназначены для потребления машиной.git status --porcelain
: Предоставить вывод в простом для анализа формате для сценариев. (...) но останется стабильным во всех версиях Git и независимо от конфигурации пользователя.git status --porcelain
имеет стабильный формат, который можно анализировать, но самаstatus
команда предназначена для работы с пользователем (в отличие, например, отgit ls-files
).Краткое и простое объяснение
Но как насчет запутанного
--porcelain
варианта !?--porcelain
опцию и затем использовать вывод для сценариев. По сути, авторы git неявно обещают не вносить никаких изменений в ближайшее время. пример: я могу использоватьgit status --porcelain
и использовать вывод для сценариев, и это было бы совершенно нормально.Откуда происходит терминология фарфора / сантехники?
источник
For more detail, checkout VonC's answer.
--porcelain
в уже «фарфоровых» командах, для достижения «псевдо-слесарной» функциональности очень хорошо сочетается с общим дизайном пользовательского интерфейса Git ...;)--plumbing
(поскольку на этот раз вы сантехник, а не обычный "фарфоровый" пользователь).Ответ Грега Хьюгилла в точности правильный. Обратите внимание, что для Git доступны альтернативные фарфора, включая Easy Git, yap, pyrite и vng. Каждый из них предназначен для облегчения изучения / использования Git для некоторой части сообщества. Ссылки на все эти проекты находятся на странице Easy Git: http://people.gnome.org/~newren/eg/ .
источник
https://git.wiki.kernel.org/index.php/Porcelain
источник
В git есть два разных значения фарфора.
Эти два значения, хотя можно утверждать, что они не являются строго противоречивыми, могут показаться противоречивыми.
А. Концептуальная (сантехника против фарфора)
Официальная книга про Git :
Б.
--porcelain
/=porcelain
вариантыМногие команды Git поставляются с
--porcelain
опцией , которая является предназначенной для написания сценариев.git status
" Документация :git diff
«S документация :источник