Отслеживание удалённой / p4 / master ветки в git - PullRequest
3 голосов
/ 29 апреля 2009

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

1 Ответ

3 голосов
/ 29 апреля 2009

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

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

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.

...