Überspringen ich tue Bündel von Commits cherry-pick
Kirsche aus anderen Zweig Satz von Commits Pick leer Commits
git rev-list --reverse something-begin..something-end | git cherry-pick --stdin
mit verschmelzen und dann endet mit Fehlermeldung
...
You are currently cherry-picking commit xxxyyy.
nothing to commit, working tree clean
The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:
git commit --allow-empty
If you wish to skip this commit, use:
git reset
Then "git cherry-pick --continue" will resume cherry-picking the remaining commits.
Ich möchte nicht jeder holen dieser leeren Commits.
Es ist sehr ärgerlich, dass 10 für jeden Stopp eingegeben und aufgefordert wird.
Warum hat es keine --skip-empty
Option zur Verfügung gestellt? Und dann habe ich auf diesen Thread bekam:
Es ist so schlimm, dass ich meine git Version 2.9.3
überprüfen und fand sogar cherry-pick
es tun unterstützt weder --skip-empty
oder --empty-commpit=skip
oder andere.
Ich hatte überprüfen, dass git rev-list
eine Option --remove-empty
hat, aber es hat einfach nicht geholfen.
Da die Dokumentation sagt, '--remove-empty' bedeutet "Stop, wenn ein bestimmter Pfad vom Baum verschwindet." Das heißt, aufhören, frühere Revisionen vollständig zu betrachten. – torek
@torek Ja, ich hatte diese Zeile gelesen, und ich hatte bestätigt, dass das nicht das ist, was ich will. aber die Dokumentzeile "Stop, wenn ein bestimmter Pfad aus dem Baum verschwindet" ist nicht klar genug, ich verstehe einfach nicht, was es bedeutet. –
Nun, überlege, was 'git rev-list' macht, wenn du es nur einmal commitest. Es druckt die ID des Commits und dann die ID des Elterns des Commits und dann die Eltern-ID dieses Elterns und dann das Elternteil dieses * Elternteils und eines anderen und eines anderen und so weiter. Wann hört * der * von Eltern zu Eltern auf? Die übliche Antwort ist: wenn es keine Eltern mehr gibt. Aber Sie können es früher stoppen. – torek