Nicht sicher, ob Sie einzelne Commits aus einem Bereich abcdef..123456
ziehen können. Die Git-Bereichssyntax wird in der Dokumentation für gitrevisions erklärt, und es sieht nicht so aus, als ob es so funktioniert. Es gibt jedoch noch einen anderen Weg, um zu erreichen, was Sie wollen, indem Sie nur die Bereichs-Hashes und die auszuschließenden Hashes verwenden.
die beiden Hashes in Reichweite Unter der Annahme fromgerritSHA1..togerritSHA1
, die Sie nicht wollen, sind skiphash1
und skiphash2
, versuchen:
$ git rev-list --reverse fromgerritSHA1..togerritSHA1 | grep -vE 'skiphash1|skiphash2' | git cherry-pick --stdin
git rev-list --reverse fromgerritSHA1..togerritSHA1
druckt begehen aus Hashes in Bereich fromgerritSHA1..togerritSHA1
, zu einem Zeitpunkt eine Zeile. --reverse
wird benötigt, um die Hashes in der richtigen Reihenfolge für den Cherry-Pick aufzulisten.
grep -vE 'skiphash1|skiphash2'
entfernt die zwei Hashes, die Sie nicht von der Liste möchten. Sie können weitere Hashes hinzufügen, um sie zu überspringen, trennen Sie sie einfach mit |
.
Schließlich wird die Liste der gewünschten Commit-Hashes an git cherry-pick --stdin
übergeben.
Ähnliche: [How Kirsche auf eine Reihe von Commits holen und in einen anderen Zweig zusammenführen?] (Http://stackoverflow.com/q/1994463/55075) – kenorb