Pipe (einen Patch in meiner Zwischenablage) an „git apply“?

Pipe (einen Patch in meiner Zwischenablage) an „git apply“?

Ich habe einen Patch in meine OSX-Zwischenablage kopiert (von ssh). Ich frage mich nur, ob es eine Möglichkeit gibt, einen Befehl zu schreiben, um meine Zwischenablage zu verwenden, anstatt manuell eine Patch-Datei zu erstellen

Antwort1

macOS verfügt über die Befehle pbcopyund pbpastefür den Zugriff auf die Zwischenablage:

pbpaste | git apply



Beachten Sie, dass git applyPatches zwar über die Standardeingabe akzeptiert werden, dies jedoch nicht bei allen Befehlen der Fall ist. Die Alternative in diesen Situationen wäre:

pbpaste > /tmp/patch && annoyingprogram /tmp/patch && rm /tmp/patch

Wenn Sie die Bash-Shell verwenden, funktioniert möglicherweise auch dies (oder auch nicht):

annoyingprogram <(pbpaste)

Antwort2

Der Schwerpunkt der Frage liegt auf MacOS, für Linux können Sie jedoch auch Folgendes verwenden:

xsel --clipboard --input | git apply

oder

xclip -selection clipboard -o | git apply

verwandte Informationen