Опасен ли параметр "Использовать Git и дополнительные инструменты Unix из командной строки Windows"?
При установке Git, он предлагает возможность добавить все свои инструменты msys *nix в вашу PATH, однако предупреждает:
Предупреждение: это переопределит инструменты Windows, такие как "найти" и "сортировать". Используйте эту опцию, только если вы понимаете последствия.
Мои вопросы:
- С какими инструментами он будет конфликтовать?
- Это имеет значение? Они обычно используются системой? (Я никогда не использовал их лично.)
- Могу ли я просто изменить порядок каталогов в PATH, чтобы предотвратить конфликты?
- Это то, что делает второй вариант? ("Использовать Git из командной строки Windows - этот параметр считается безопасным, поскольку он добавляет только некоторые минимальные оболочки Git")
3 ответа
Я согласен с общим анализом других ответов и также не могу точно предсказать, с какими конфликтами вы можете столкнуться. Я знаю, что ничего не заметил, выбрав третий вариант. Но я могу немного добавить к тому, что на самом деле делают варианты с 2018 года.
Я экспериментировал с различными конфигурациями установки, решая, как предложить моей команде переход на git, включая эти опции. Это то, что я на самом деле наблюдал, как установка выполняла мой путь, как в git для Windows v2.19.1.

Используйте Git только из Git Bash
Как говорится, никаких изменений в пути вашей системы не производится. Ввод простой git status в командной строке Windows, cmd.exe, произойдет сбой с 'git' is not recognized as an internal or external command, operable program or batch file,
Используйте Git из командной строки Windows
Могу ли я просто изменить порядок каталогов в PATH, чтобы предотвратить конфликты?
Это то, что делает второй вариант? ("Использовать Git из командной строки Windows - этот параметр считается безопасным, поскольку он добавляет только некоторые минимальные оболочки Git")
Изменение заказа всегда является вариантом для вас, но нет, второй вариант, похоже, не имеет ничего общего с заказом. (Кажется, что добавления пути идут до конца пути независимо. Я немного подозреваю, что в какой-то момент это изменилось.) Вопрос в том, какие каталоги добавляются в путь, и отличается ли он во втором и третьем параметрах.
Когда он говорит, что он добавит "минимальные" обертки Git к вашей переменной PATH, то, по-видимому, он на самом деле добавляет cmd папка (приходящей) установки по пути. Это вариант, который я в конечном итоге предложил своей команде. Теперь у нас есть C:\Program Files\Git\cmd на наших путях.
Что в cmd каталог? Для меня всего шесть файлов:
- git.exe
- ГИТ-gui.exe
- gitk.exe
- ГИТ-lfs.exe
- запуск SSH-agent.cmd
- запуск SSH-pageant.cmd
Как и в случае с ответом Анаксунамана, я не уверен, когда этого будет недостаточно. Любая из нормальных команд, начинающаяся с git <some command> будет работать с включением git.exe.
Используйте Git и дополнительные инструменты Unix из командной строки Windows
Это включает в себя добавление второго варианта <Install dir>\Git\cmd к пути, а также добавляет <Install dir>\Git\mingw64\bin а также <Install dir>\Git\usr\bin к пути. Оба каталога имеют значительное количество исполняемых файлов, включая поиск, сортировку и уничтожение, как указано в других ответах.
Вместо того, чтобы перечислять, что, вероятно, пару сотен элементов, я бы посоветовал заинтересованному пользователю выбрать второй вариант, завершить установку и взглянуть на эти каталоги. Если вы удовлетворены риском, добавив <Install dir>\Git\mingw64\bin а также <Install dir>\Git\usr\bin на вашем пути было бы равносильно возвращению машины времени и выбору третьего варианта.
С какими инструментами он будет конфликтовать?
Лично я не уверен в полном списке, но этот вопрос StackOverflow говорит
"Это включает в себя поиск, уничтожение и сортировку [...] Проблема с первыми тремя (и аналогичными) заключается в том, что они существуют в обеих ОС и по-разному функционируют в каждой из них".
Они могут использоваться не часто вами, но достаточно часто, чтобы Git чувствовал необходимость предупредить вас о неожиданном поведении.
К счастью, они чаще появляются в сторонних программах (в основном, в скриптах), поэтому уровень эффекта, скорее всего, зависит от того, насколько вы используете программы, использующие любую из этих команд.
Это то, что делает второй вариант? ("Использовать Git из командной строки Windows - этот параметр считается безопасным, поскольку он добавляет только некоторые минимальные оболочки Git")
В основном это позволяет вам использовать Git из командной строки (cmd.exe) со всеми распространенными командами Git. Эта опция совершенно безопасна и полезна для 99% того, что вы, вероятно, захотите написать в сценарии или реализовать вручную из командной строки Windows. Я использую эту опцию и никогда лично не сталкивался с какими-либо проблемами.
После установки вы также можете захотеть взглянуть на графический интерфейс git (например, GitHub Dekstop для Windows или SourceTree) и не забыть, что Git bash также поставляется с установкой.
С какими инструментами он будет конфликтовать?
Я бы позволил установке изменить ваш путь. Его легко удалить из PATH, если вы этого не хотите. Затем я бы посмотрел на каталоги и сделал несколько сравнений, таких как diff, comm и т. Д., Чтобы выяснить конфликты. Они должны быть задокументированы где-то, хотя я не знаю где.
Это имеет значение? Они обычно используются системой? (Я никогда не использовал их лично.)
В последнее время я не использовал инструменты cygwin, но когда мне приходилось использовать Windows, у меня обычно был каталог инструментов cygwin первым в моем PATH без проблем.
Самый большой риск был бы, если бы программа искала конфликтующие инструменты командной строки Windows, она выполнила бы неправильную программу. Я думаю, что шансы на это очень малы, учитывая крайне небольшое количество сценариев cmd.exe, которое продолжается.
Могу ли я просто изменить порядок каталогов в PATH, чтобы предотвратить конфликты?
Да. Просто переместите Cygwin, или что-то git добавляет, в конце пути. Просто помните, что некоторые последовательности команд не будут работать правильно в Cygwin. Кроме того, если подумать, я думаю, что консоль Cygwin правильно устанавливает путь. Настройка собственного пути при использовании cygwin также заставит cygwin работать правильно.
Это то, что делает второй вариант? ("Использовать Git из командной строки Windows - этот параметр считается безопасным, поскольку он добавляет только некоторые минимальные оболочки Git")
Звучит так, как будто это вставит в PATH каталог, содержащий только команды git, которые вам нужны для использования git.