Вопрос

Я клонирую репозиторий, который был впервые создан git-p4.git-p4 использует ветку «remotes/p4/master», которую я хотел бы отслеживать.Как мне указать git, который клонирует это репо, также отслеживать удаленные устройства/p4/master?Таким образом, я смогу проверить «origin/remotes/p4/master» или что-то в этом роде.

Это было полезно?

Решение

Вы также можете настроить свойства выборки, чтобы отразить эти ссылки, но не как часть стандартного клона.

Итак, последовательность вроде:

git clone ~/p4/git/services/info-service.git
cd info-service
git config --add remote.origin.fetch +refs/remotes/p4/*:refs/remotes/origin/p4/*
git fetch origin

Это принесет refs/remotes/p4/release/1.1 например в info-service.git быть refs/remotes/origin/p4/release/1.1 в своем клоне, и вы можете создать на его основе ветку с помощью git checkout -b r1.1-fixes origin/p4/release/1.1

Сказав все это, в своих репозиториях реплик Perforce я создаю настоящие ветки для зеркалирования всех удаленных веток p4, в основном для того, чтобы избежать необходимости проходить через все вышеперечисленное.Это также дает мне возможность исправить именование префиксов пути p4 в именах ветвей git (так что p4/main становится master, p4/release/1.1 становится r1.1 и т. д).Я использую свою собственную репликацию p4-to-git, но вы можете сделать то же самое, перебирая удаленные ссылки p4 с помощью git for-each-ref и установка локальных ветвей с помощью git update-ref.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top