2013-12-20 7 views
26

Ich habe 33 Commits in der Hauptzweig, die vermascht sind. Jetzt muss ich den Rekord sauber halten. Jetzt habe ich Feature-Zweige erstellt und versuche diese 33 Commits in verschiedenen Feature-Zweigen zu klassifizieren. Kann es also möglich sein, mehrere Commits gleichzeitig auszuwählen, um in den relevanten Feature-Zweig zu kopieren? Und ich stehe auch vor seinen Konflikten, als ich mehrere Commits mit dem Befehl cherry-pick ausprobierte.Mehrere commits cherry-picking

git cherry-pick A B C 

hier A, B, C sind die Hash-Code Commits.

+1

Hmm, wo ist die Frage? – silvio

+0

@silvio: Frage ist, wie man die Mehrfachverpflichtungen auswählt? Die Art und Weise, wie ich vorgehe, ist die richtige und wenn ja dann, wie man die Rosinenpickerei löst. –

+0

aaah - ja du machst es richtig :-) – silvio

Antwort

17

Sie tun es richtig. Die Synopse ist

git cherry-pick [--edit] [-n] [-m parent-number] [-s] [-x] [--ff] <commit>... 

git cherry-pick nach rechts zu begehen von links geht. Sie können bestellen, wie Sie wollen. Wenn Sie einen Konflikt haben, haben Sie drei Möglichkeiten. Sie können git cherry-pick --quit (Rosinenpickerei stoppen und Ihren Baum in seinem aktuellen Zustand lassen), git cherry-pick --abort (Rosinenpicken und setzen Sie Ihren Zweig in den Zustand stoppen, wo er war, bevor Sie git cherry-pick starten) oder lösen diesen Konflikt mit einem Editor oder mit git mergetool und dann git cherry-pick --continue Gehe zum nächsten Commit in deiner Liste.

+2

+1 für die Erwähnung von 'git cherry-pick --continue' für die Behandlung von Konflikten beim Cherry-Picking mehrerer Commits :) –

6

Wenn Sie den Datensatz ordentlich pflegen müssen, sind Sie besser dran, indem Sie einen Zweig erstellen und git rebase -i <commit before the 33rd>, eine interaktive Rebase, ausführen. Folgen Sie den Anweisungen zum Löschen von Commits. Das sollte einfacher sein als das Rosinenpflücken von so vielen Commits in einer bestimmten strengen Reihenfolge.

+0

Idealerweise sollte interaktives Rebase in Ihrem Feature-Zweig neu geschrieben werden Geschichte in einer Entwicklung oder Meister Zweig mussen vorsichtig behandeln –