Pergunta

Estou clonar um repo que foi gerado pela primeira vez pelo git-P4. git-p4 usa um 'controles remotos / master p4 /' ramo que gostaria de acompanhar. Como posso dizer git, que é clonagem que repo, para acompanhar controles remotos / P4 / master também? Dessa forma, eu seria capaz de verificar "origem / controles remotos / P4 / master" ou algo assim.

Foi útil?

Solução

É possível ajustar as propriedades fetching para espelhar essas referências, bem como, embora não como parte de um clone padrão.

Assim, uma seqüência como:

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

Esta operação irá buscar refs/remotes/p4/release/1.1 por exemplo, em info-service.git ser refs/remotes/origin/p4/release/1.1 em seu clone, e você pode criar uma filial com base nele com git checkout -b r1.1-fixes origin/p4/release/1.1

Dito tudo isso, nos meus repos réplica Perforce, eu criar ramos reais para espelhar todas as filiais remotas do P4, em grande parte para evitar ter que passar por todos os acima. Ele também me dá a chance de arrumar a nomeação de prefixos de caminho P4 a nomes git branch (assim p4/main se torna master, p4/release/1.1 se torna r1.1 etc). Eu uso minha própria p4-se git replicação, mas você poderia fazer a mesma coisa por looping sobre o P4 refs remotas com git for-each-ref e estabelecendo filiais locais usando git update-ref.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top