Hy!Impegna in un pacchetto git
C'è un modo per ottenere un elenco di tutti i commit memorizzati in un pacchetto git senza prima clonarlo?
Ottenere le teste è facile, ma non sono riuscito a trovare un modo per ottenere un registro completo da esso.
Hy!Impegna in un pacchetto git
C'è un modo per ottenere un elenco di tutti i commit memorizzati in un pacchetto git senza prima clonarlo?
Ottenere le teste è facile, ma non sono riuscito a trovare un modo per ottenere un registro completo da esso.
Non è possibile senza scrivere un software specializzato per esaminare il pacchetto incluso nel pacchetto. Se il bundle è stato creato con ref negativi, è possibile che includa delta che non sono risolvibili usando solo oggetti nel bundle (il pacchetto incorporato nel bundle può essere sottile).
La clonazione del bundle (almeno per un clone nudo) dividerà i ref e indicizzerà il pacchetto, producendo un formato con cui i comandi git standard possono lavorare, quindi è il modo più semplice (in termini di integrazione) di leggilo.
Una cosa che si può fare per "visualizzare in anteprima" un pacchetto prima di unirlo è semplicemente aggiungerlo come repository remoto, e quindi è possibile recuperarlo e accedere ai riferimenti di tracciamento. Quindi, qualcosa di simile a:
git remote add bundle /path/to/bundle
git remote update bundle
e ora si può fare gitk master...bundle/master
ecc per confrontare i rami nel bundle rispetto al vostro repo locali, e, infine, git pull bundle master
a fondersi in
Una volta fatto, semplicemente. pulire con git remote rm bundle
Sapete se esiste un modo per simulare un'unione (ad esempio, dire cosa succederebbe senza chiamare acutamente il comando). unire e tirare non hanno un'opzione --dry-run. – mat
no, e non c'è. puoi semplicemente fare unire e poi abortire ripristinando la posizione precedente ('git reset --hard HEAD' se ti rimane un conflitto,' git reset --hard HEAD @ {1} 'se l'unione automatica ha avuto successo) – araqnid
perché avete bisogno di questo? – Chronial
Prima di unire il bundle al repository, vorrei verificare dove si trova il bundle (rispetto al repository). Se la sua testa è già presente nel repository o viceversa. – mat
forse in tal caso sarebbe più facile aggiungere il bundle come remoto? – araqnid