2013-09-27 13 views
11

Ich habe eine große Git Repository für ein Projekt, für das ich ein Plug-in erstellt, die auch Quellcode-Controller mit Git ist. Kürzlich habe ich den Ordner des Plugins in den Hauptprojektordner kopiert. Jetzt habe ich eine Projektordnerquelle, die mit Git gesteuert wird, und den Ordner des Plug-Ins, der auch mit Git quellengesteuert wird. Meine Frage ist, gibt es eine Möglichkeit, die Commits aus dem Repository des Plugins in das Haupt-Repository zu importieren, damit ich den Ordner .git des Plug-ins loswerden kann?Git: Importieren Sie Commits von einem Repo zu einem anderen Repo

+0

Einige von ihnen oder alle? Haben die Repos einen gemeinsamen Vorfahren oder sind sie völlig unabhängig? –

+1

Das Plug-in sollte in einer Filiale entwickelt worden sein. Interessante Frage. Wenn man bedenkt, wie mächtig Git ist, gibt es wahrscheinlich eine Antwort. – Vorac

+1

Er kann das gesamte Plugin-Repo einfach als Patches exportieren und dann auf das Repo des Projekts anwenden. –

Antwort

14

Öffnen Sie ein Befehlsfenster im Projektordner.

Stellen Sie sicher, dass Sie sich in einer Zweigstelle befinden. z.B. git checkout -b plugin-history

die Plugin-Ordner als Remote hinzufügen: git remote add plugin ../path/to/plugin/repo

die Hashes von den neuen Remote-Fetch: git fetch plugin

Groß alles Plugin Geschichte von dem entfernten Zweig herauspicken:

git cherry-pick firstSha1^..mostRecentSha1 

(Es gibt weitere Anweisungen zum Rosinenpicken mehrerer Commits hier: How to cherry-pick multiple commits)

Sie sollten dann den gesamten Verlauf als neue Commits im Zweig plugin-history haben.

+1

Nach 'git remote add plugin ...' musst du auch 'git fetch plugin' machen, sonst sind die Hashes nicht in deinem Ich habe die Antwort aktualisiert –

+0

Vielen Dank. – ChrisA

+0

@ peschü Kommentare können entfernt werden –

Verwandte Themen