通过管道(剪贴板中的补丁)将补丁传输到“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 shell,这可能也会起作用(也可能不起作用):

annoyingprogram <(pbpaste)

答案2

问题的重点是 MacOS,但对于 Linux,您也可以使用:

xsel --clipboard --input | git apply

或者

xclip -selection clipboard -o | git apply

相关内容