Возможно, это должно быть вторым вопросом теперь:
Но я не понимаю, как мерзавец-Pull Юра с git-fetch? Как я могу понять, как и какие опции git попадают в одну команду другому?
(я думаю, что вы имеете в виду "co-operate" , а не "корпоративный" здесь.)
git pull
команда used to be a shell script. В сценарии легко определить, какие опции передаются в git fetch
, которые передаются в git merge
или git rebase
и которые потребляются напрямую.
Начиная с версии Git 2.6.0 команда pull была переписана на C.Это still possible to tell, какие параметры есть, но теперь это несколько сложнее, так как вы должны смотреть дальше, чтобы найти текстовые варианты написания каждой опции. (Это вторая ссылка может распадаться с течением времени, как это имеет GitHub посмотреть текущую версию исходного файла и номер строки может измениться.)
Я сам рекомендую избегать git pull
: запустить git fetch
, а затем проверить результат, а затем выберите git rebase
(обычно) или git merge
(иногда) по мере необходимости. Я также сохраняю псевдоним, git mff
, который расширяется до git merge --ff-only
, и я, как правило, запускаю git fetch && git mff
: если ускоренная перемотка не удалась, я, вероятно, хочу переустановить, если только я не захочу объединиться, и эта последовательность (выборка и слияние-if-fast -forwardable) либо успешно (в этом случае rebase vs merge не имеет никакого значения, и мы закончили) или не сработает (и в этом случае пришло время проверить).
(Это может быть стоит добавить псевдоним git fff
, который работает git fetch && git mff
... :-))
Это можно записать в виде "сотрудничать", без дефиса, или даже как " coöperate ", с diaeresis над вторым o. Диарезис был распространен в английском тексте в тонкой печати (и The New Yorker still uses it!), Но с пишущими машинами, неспособными произвести его, стал менее распространенным в начале и середине 1900-х годов. Теперь, когда компьютеры имеют Unicode и умлауты, которые технически отличаются друг от друга, но символически идентичны, я думаю, что мы должны восстановить диарезию до предвосхищения. :-)
Команда 'git pull' не имеет собственной опции' -p'. На самом деле происходит то, что '-p' передается в' git fetch'. Не уверен, кто это проигнорировал: правильно, что '-p' не задокументировано должным образом (на мой взгляд,' git pull' сам не задокументирован правильно, но 'git pull' даже не существует :-)). – torek
@torek Возможно, те люди, которые думают, что '-p' означает' --patch' и отмечают этот вопрос как дубликат –
@KevinB Нет, в этом вопросе вы связались с '-p' означает' --patch' –