Verpflichten, eine einzelne Datei zu einem anderen Zweig

Ich bin auf einem ast feature-x etwas Arbeit, wenn ich plötzlich ein Problem Auftritt, das sollte wirklich gelöst werden, auf einem anderen Zweig hotfix.

Ich möchte erstellen Sie einen commit mit dieser änderung, sondern auf die hotfix Zweig.

Vom diese Frage ich verstehe, dass das standard-Verfahren wäre,

# On branch feature-x
git stash
git checkout hotfix
git stash pop
git add -A
git commit -m "Fixed issue #562"

Arbeiten würde, wenn ich nicht zu viele änderungen auf dem Zweig feature-x bereits in vollem Gange, die werfen würde ein Konflikt mit dem Zweig hotfix. Ich will vermeiden, dass zu beheben, unnötige Konflikte.

Vermeiden, dass ich dachte, ich könnte nur extrahieren eine einzelne Datei aus dem Versteck, wie bereits auf diese Antwort. Also die Vorgehensweise wäre:

# On branch feature-x
git stash
git checkout hotfix
git checkout stash@{0} -- <src/buggyfile.xxx>
git add -A
git commit -m "Fixed issue #562"

Und dann sollte ich gehen Sie zurück zu feature-x

git checkout feature-x
git stash pop

Während es gibt einen Weg, zu bringen Dateien von einem anderen Zweig direkt, ich möchte wissen, ob es einen Weg gibt, um senden Dateien zu einem anderen Zweig ohne all diesen Aufwand. Die eigentliche Modifikation ist nur ein paar Zeichen.

  • Wenn Sie von "ohne all diese Umstände," du meinst, "ohne Check-out hotfix und später feature-x wieder", dann diese Frage ist ein Duplikat der Commit einer Datei zu einer Anderen Filiale Ohne Kasse. (Sie finden einige interessante Antworten, auch dort. Ob keine zufriedenstellende lieben, ich weiß nicht.)
  • Möglich, Duplikat der Commit einer Datei zu einer Anderen Filiale Ohne Kasse
  • Ich entschuldige mich für die vage Sprache. Ich war mehr mit Bezug auf weniger Befehle (ohne Einbeziehung alias).
  • Von einem praktischen Standpunkt, die Art und Weise, dies zu tun in der modernen (post-2.6) Git ist mit git worktree add, wie ich bereits auf die möglich-doppelte Frage @das-g verbunden. Der cherry-pick Methode Arpit beschrieben, funktioniert aber in der Lage, öffnen Sie ein separates Terminal oder IDE-Fenster ziehen, um einen nominal-trennen (aber gleiche zugrunde liegende repository) arbeiten-Baum, und dort arbeiten, ist bequem und Billig (dauert nur eine Kasse lohnt sich der extra-Raum). Sie können die hotfix-Arbeit-Baum herum, wie lange (oder kurz) wie Sie möchten.
InformationsquelleAutor Jorjon | 2017-02-26
Schreibe einen Kommentar