Ich habe also ein Commit mit einer hilfreichen Codeänderung, aber in einem anderen Zweig.
Ich möchte dieses Commit im anderen Zweig auf meine Arbeitskopie in meinem aktuellen Zweig anwenden (nicht als anderes Commit).
Ist das möglich? Wie würde ich das machen?
Ich dachte, ich würde dies teilen, hängt mit meiner vorherigen Frage zusammen, ist aber spezifisch für die Arbeitskopie: Git Cherry wählt ein Commit für einen anderen Zweig aus
git
atlassian-sourcetree
Oliver Williams
quelle
quelle
Antworten:
So fügen Sie die gewünschten Commits in verschiedene Zweige ein.
git cherry-pick <SHA-1>...<SHA-1> --no-commit
Die Syntax von
...
ist ein Festschreibungsbereich. Holen Sie sich alle Commits vom Start (ausschließen) bis zum letzten. Wenn Sie möchten, dass ein einzelnes Commit ein einzelnes SHA-1 verwendetcherry-pick
ohne sich zu verpflichtenStandardmäßig
git cherry-pick
verpflichten Ihre Änderungen, so , wenn Sie möchten herauspicken ohne alle begehen die Änderungen einfach die Add --n
FlagAuf diese Weise können Sie die Änderungen überprüfen und manuell festschreiben, wenn Sie dies wünschen, oder abbrechen, wenn Sie auf zu viele Konflikte stoßen.
cherry-pick
ein Merge CommitVerwenden Sie das
-m
Flag, falls Sie eine Zusammenführung anstelle eines Commits auswählen müssenLesen Sie die vollständige
git cherry-pick
Dokumentation für alle Optionen, die Sie verwenden könnenquelle
git fetch remote
Sie können den
git cherry-pick
Befehl weiterhin verwenden . Siehegit cherry-pick --help
:Sie können also einfach
git cherry-pick -n <commitid>
, und die Änderungen werden auf Ihr Arbeitsverzeichnis angewendet und im Index (wiegit -a
) bereitgestellt , aber nicht festgeschrieben.quelle