Domanda

Sto clonando un repository che è stato inizialmente generato da git-p4. git-p4 usa un ramo 'remotes / p4 / master' che vorrei tracciare. Come faccio a dire a git, che sta clonando quel repository, di tenere traccia anche dei telecomandi / p4 / master? In questo modo sarei in grado di controllare " origin / remotes / p4 / master " o qualcosa del genere.

È stato utile?

Soluzione

È possibile regolare le proprietà di recupero per rispecchiare anche quei riferimenti, anche se non come parte di un clone standard.

Quindi una sequenza come:

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

Questo porterà refs / remotes / p4 / release / 1.1 ad esempio in info-service.git come refs / remotes / origin / p4 / release / 1.1 nel tuo clone e potresti creare un ramo basato su di esso con git checkout -b r1.1-fixes origin / p4 / release / 1.1

Detto questo, nei miei repository di repliche Perforce, creo veri e propri rami per rispecchiare tutti i rami remoti p4, in gran parte per evitare di dover passare attraverso tutto quanto sopra. Mi dà anche la possibilità di correggere la denominazione dai prefissi del percorso p4 ai nomi dei rami git (quindi p4 / main diventa master , p4 / release / 1.1 diventa r1.1 ecc.). Uso la mia replica p4-to-git, ma potresti fare lo stesso eseguendo il looping sui ref remoti p4 con git for-each-ref e impostando i rami locali usando git update- ref .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top