2013-09-27 15 views
11

Ho un grande repository Git per un progetto per il quale ho creato un plug-in che è anche il controller sorgente con Git. Recentemente ho copiato la cartella del plug-in nella cartella del progetto principale. Ora ho una fonte di cartella del progetto controllata con Git e la cartella del plug-in che è anch'essa controllata da Git. La mia domanda è, c'è un modo per importare i commit dal repository del plug-in al repository principale in modo da liberarmi della cartella .git del plug-in?Git: L'importazione viene trasferita da un repository ad un altro repository

+0

Alcuni di loro o tutti loro? I repository hanno un antenato comune o sono completamente indipendenti? –

+1

Il plug-in avrebbe dovuto essere sviluppato in una filiale. Domanda interessante Considerando quanto sia potente il git, probabilmente c'è una risposta. – Vorac

+1

Può semplicemente esportare l'intero repository dei plugin come patch e quindi applicarli al repository del progetto. –

risposta

14

Aprire una finestra di comando nella cartella del progetto.

Assicurati di essere su una filiale. per esempio. git checkout -b plugin-history

aggiungere la cartella plug-in come un telecomando: git remote add plugin ../path/to/plugin/repo

Fetch gli hash del nuovo telecomando: git fetch plugin

Bulk cherry-pick tutta la storia plugin dal ramo remoto:

git cherry-pick firstSha1^..mostRecentSha1 

(Ci sono più istruzioni sulla selezione di una ciliegia di più commit qui: How to cherry-pick multiple commits)

Si dovrebbe quindi avere tutta la cronologia come nuovi commit sul ramo della cronologia plugin.

+1

Dopo 'git remote aggiungere plugin ...' devi anche fare 'git fetch plugin 'altrimenti gli hash non saranno nel tuo repository locale ancora –

+0

Ho aggiornato la risposta Grazie – ChrisA

+0

@ peschü I commenti possono essere rimossi –

Problemi correlati