Canalizar (um patch na minha área de transferência) para `git apply`?

Canalizar (um patch na minha área de transferência) para `git apply`?

Eu tenho um patch copiado na minha área de transferência do OSX (do ssh). Gostaria de saber se existe uma maneira de escrever um comando para usar minha área de transferência, em vez de criar manualmente um arquivo de patch

Responder1

O macOS possui os comandos pbcopye pbpastepara acessar a área de transferência:

pbpaste | git apply



Observe que embora git applyaceite patches via stdin, nem todos os comandos o fazem. A alternativa nessas situações seria:

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

Se você estiver usando o shell Bash, isso também pode funcionar (ou não):

annoyingprogram <(pbpaste)

Responder2

O foco da questão é MacOS, mas para Linux você também pode usar:

xsel --clipboard --input | git apply

ou

xclip -selection clipboard -o | git apply

informação relacionada