Исключая git remote из "fetch --all" - PullRequest
       26

Исключая git remote из "fetch --all"

0 голосов
/ 28 февраля 2019

Можно ли настроить в git удаленные пульты, которые выбираются только при формальном запросе по его имени?Таким образом, они будут исключены из таких операций, как fetch --all.

Представьте себе неактивный (отключенный или что-то) пульт, называемый "my-no-auto-fetch-remote":

$ git fetch my-no-auto-fetch-remote

(извлекается)

$ git fetch --all

(не нужно извлекать my-no-auto-fetch-remote)

Ответы [ 3 ]

0 голосов
/ 28 февраля 2019

Не совсем, нет: --all означает все .Но вы можете определить удаленные группы и использовать git remote update для обновления групп.Поместите обычно недоступный пульт в группу, которая не является группой по умолчанию.Подробности смотрите в документации git remote .

(git fetch также работает с группами, я просто предпочитаю использовать git remote при работе с группами и git fetch для одного отдельного пульта дистанционного управления.Я, вероятно, пережиток десятилетия с лишним назад ...)

0 голосов
/ 01 марта 2019

Существует конфигурация skipFetchAll для пультов.

Из документации: https://git -scm.com / docs / git-config / 1.9.2

remote..skipFetchAll

Если true, этот удаленный будет по умолчанию пропущен при обновлении с использованием git-fetch [1] или подкоманды update git-remote [1].

Поскольку при добавлении или изменении удаленного пульта управления в командной строке нет параметров, мне пришлось поместить эту конфигурацию в файл .git/config, например:

[remote "my-remote"]
        url = git@the-repository-url
        fetch = +refs/heads/*:refs/remotes/my-remote/*
        skipFetchAll = true
0 голосов
/ 28 февраля 2019

Я бы сделал это с помощью трюка с bash:

git remote | grep -v the-repo-i-dont-want | xargs git fetch

Может превратить его в скрипт или псевдоним git.

...