如何将当前剪贴板值传递给 Mac 上的 "git commit -m"?
How to pass the current clipboard value to "git commit -m" on Mac?
我想将剪贴板中存储的当前值作为 git commit -m
命令的消息传递。我尝试了以下方法:
# 1st way
pbpaste | xargs git commit -m
# 2nd way
git commit -m pbpaste
但是这两个命令都不起作用。如何将当前剪贴板值传递给 Mac 上的 git commit -m
?
您不想在此处使用 xargs
,因为它会进行一些您不希望的拆分。您可以执行 git commit -m "$(pbpaste)"
,它使用命令替换($()
)语法。这采用命令的标准输出,去除任何尾随的换行符,并将其插入到那个位置,加上双引号,足以将其用作消息。
但是,在许多系统上,命令行参数都有最大长度限制,而且可能会很小。更好的方法是 pbpaste | git commit -F-
,因为 -F-
从标准输入读取并且 command-line 参数长度没有问题。这确保即使您为提交消息写了一本小小说(有些 Git 贡献者偶尔会这样做),您的命令也会成功。
我想将剪贴板中存储的当前值作为 git commit -m
命令的消息传递。我尝试了以下方法:
# 1st way
pbpaste | xargs git commit -m
# 2nd way
git commit -m pbpaste
但是这两个命令都不起作用。如何将当前剪贴板值传递给 Mac 上的 git commit -m
?
您不想在此处使用 xargs
,因为它会进行一些您不希望的拆分。您可以执行 git commit -m "$(pbpaste)"
,它使用命令替换($()
)语法。这采用命令的标准输出,去除任何尾随的换行符,并将其插入到那个位置,加上双引号,足以将其用作消息。
但是,在许多系统上,命令行参数都有最大长度限制,而且可能会很小。更好的方法是 pbpaste | git commit -F-
,因为 -F-
从标准输入读取并且 command-line 参数长度没有问题。这确保即使您为提交消息写了一本小小说(有些 Git 贡献者偶尔会这样做),您的命令也会成功。