Является ли "git ls-remote" операцией только для чтения?
Мы планируем использовать git ls-remote <repository> [<refs>…]
без каких-либо дополнительных параметров одновременно с любой другой операцией Git. Я ищу подтверждение того, что ls-remote
только для чтения, поэтому он не может прервать любую другую операцию.
1 ответ
Решение
Да, это операция только для чтения.
Ничто в встроенном / ls-remote.c не предлагает никаких действий, изменяющих локальное хранилище.
Он устанавливает в качестве транспорта TRANS_OPT_UPLOADPACK
, который также используется в двух других командах git (которые не изменяют удаленное хранилище):
git clone
(builtin/clone.c:919
) а такжеgit fetch
(builtin/fetch.c:807
)/* The program to use on the remote side to send a pack */ #define TRANS_OPT_UPLOADPACK "uploadpack"
Он просит удаленного репо посылать пакеты, не более того.