Передать (патч из буфера обмена) в `git apply`?

Передать (патч из буфера обмена) в `git apply`?

У меня есть патч, скопированный в буфер обмена OSX (из ssh). Просто интересно, есть ли способ написать команду, чтобы использовать мой буфер обмена, вместо того, чтобы вручную создавать файл патча

решение1

В macOS есть команды pbcopyи pbpasteдля доступа к буферу обмена:

pbpaste | git apply



Обратите внимание, что хотя git applyпринимает патчи через stdin, не все команды это делают. Альтернативой в таких ситуациях будет:

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

Если вы используете оболочку Bash, это также может сработать (а может и нет):

annoyingprogram <(pbpaste)

решение2

В данном вопросе основное внимание уделяется MacOS, но для Linux вы также можете использовать:

xsel --clipboard --input | git apply

или

xclip -selection clipboard -o | git apply

Связанный контент