Così ho creato un repository git, impostare alcuni tag e telecomandi sulla mia copia di lavoro, e poi spinto il repository al mio server conCome posso clonare un repository git e mantenere i telecomandi?
git push --mirror my.remote.repository
Presumibilmente, spingendo con git --mirror anche spingere il telecomandi che ho impostato.
Tuttavia, se faccio
git clone my.remote.repository
non vedo i telecomandi che ho creato in origine. Ho bisogno di una sintassi speciale per clonare anche i telecomandi? Mirror non invia effettivamente i telecomandi? Dove ho sbagliato?
Modifica: Forse il mio flusso di lavoro è strano: ecco cosa sto cercando di realizzare. Il repository è inizialmente un clone di un altro progetto (A) che non controllo, in cui ho rinominato il telecomando in "upstream". Ho creato un nuovo ramo "master" e intendo apportare modifiche alla mia copia di lavoro e distribuirli. Occasionalmente estraggo gli aggiornamenti dal repository originale (A) (passando al ramo originale, non modificato e tirando da upstream). Tuttavia, sto lavorando con altre persone, che dovrebbero essere in grado di fare anche questo. L'obiettivo è aggiornare il ramo master con correzioni di errori dal repository iniziale (A) e confermare le modifiche al ramo "master". Per questo motivo, quando uno sviluppatore clona il repository, dovrebbero ereditare il ramo upstream in modo che possano effettivamente farlo. In breve, sto cercando di utilizzare un ramo "upstream" per inserire aggiornamenti da un progetto diverso. Non ho usato un sottomodulo per fare questo poiché il ramo 'upstream' è in realtà responsabile del 95% dei file nel repository e l'intero progetto non ha senso senza i file da upstream.
Forse mi manca qualcosa, ma se suona come se si avesse un ramo localmente (chiamato 'foo', dire) che si sta aggiornando da 'upstream/master'. Perché non devi semplicemente spingere quel ramo (così come il tuo 'master') in un repository nudo che le altre persone possono clonare? O lascia che clonino il tuo repository direttamente? In entrambi i casi otterranno quei rami come rami di localizzazione remota senza usare '--mirror' in qualsiasi momento. –
@ mark-longair Destra, ma quelle filiali remote stanno monitorando il nostro server invece del server upstream da cui provenivano originariamente. Anche se in qualche modo utile, vuol dire che altre persone non saranno (facilmente) in grado di estrarre gli aggiornamenti da upstream (sola lettura) e quindi trasferirli sul nostro server (origine). – Zxaos
Possono farlo - hanno solo bisogno di aggiungere un telecomando in più che si riferisce all'altro repository. –